zoukankan      html  css  js  c++  java
  • error check

    #define SYSTEM_PRTCT_NOERR 0

    #define SYSTEM_PRTCT_COVER (1 << 0) /* */
    #define SYSTEM_PRTCT_LPHOT (1 << 1) /* */
    #define SYSTEM_PRTCT_DCHOT (1 << 2)
    #define SYSTEM_PRTCT_FANDET (1 << 3) /* */
    #define SYSTEM_PRTCT_DMDFANDET (1 << 4)
    #define SYSTEM_PRTCT_FAN2DET (1 << 4)
    #define SYSTEM_PRTCT_PWSTATUS (1 << 5) /* */
    #define SYSTEM_PRTCT_LAMPFLG (1 << 6) /* */
    #define SYSTEM_PRTCT_LAMPOVER (1 << 7)
    #define SYSTEM_PRTCT_LAMPPRTCT (1 << 8)

    enum {
    COVER = 0, // E1-1 僇僶乕奐曻
    HOT, // E2-1 壏搙堎忢(僶僀儊僞儖)
    TEMP, // E2-2 壏搙堎忢(壏搙僙儞僒)
    POWER, // E3-2 揹尮堎忢
    FAN, // E4-1 僼傽儞堎忢
    #if defined(CONFIG_LIGHTSOURCE_LASER)
    LDDRV, // E6-1 LD僪儔僀僶堎忢
    PHOSPHOR, // E6-2 Phosphor堎忢
    SSLCPU, // E9-3 SlaveCPU偲偺捠怣僄儔乕
    #else
    LAMP, /* 儔儞僾晄揰摂 */
    USAGE, /* 愊嶼帪娫挻夁 */
    DATA, /* LampData堎忢 */
    IRIS, /* 傾僀儕僗堎忢 */ //傾僀儕僗堎忢僄儔乕捛壛
    #endif
    ERRNUM
    };

    static BOOL is_error(int);
    #if 0 /* 枹巊梡 */
    static BOOL is_warning(int);
    #endif
    static int chk_cover(void);
    static int chk_hot(void);
    static int chk_temp(void);
    static int chk_fan(void);
    static int chk_lamp(void);
    static int chk_usage(void);
    static int chk_data(void);
    static int chk_power(void);
    static int chk_iris(void); //傾僀儕僗堎忢僄儔乕捛壛
    static int chk_lvd(void); // E3-2 揹尮偺掅揹埑僄儔乕
    static int chk_lddrv(void); // E6-1 LD僪儔僀僶堎忢
    static int chk_phosphor(void); // E6-2 Phosphor堎忢
    static int chk_sslcpu(void); // E9-3 SlaveCPU偲偺捠怣僄儔乕

    static void sysvalue_update(void);

    static void protect_periodic(void);
    static void protect_timer(void *tmp);
    #if defined(CONFIG_LIGHTSOURCE_LASER)
    static WORD get_ssl_fun_info(void);
    #endif //(CONFIG_LIGHTSOURCE_LASER)


    /* 撪晹曄悢 */
    typedef struct {
    int index; /* 僄儔乕ID */
    int (*pfunc)(void); /* 僄儔乕専弌娭悢 */
    DWORD errflag; /* 僄儔乕僼儔僌 */
    BYTE statusdisp; /* 僄儔乕儘僌偺昞帵僷僞乕儞 */
    } t_protect;

    static t_protect protect_tbl[ERRNUM] =
    {
    { COVER, chk_cover, SYSTEM_PRTCT_COVER, STS_DISP_11 }, // E1-1 僇僶乕奐曻
    { HOT, chk_hot, SYSTEM_PRTCT_LPHOT, STS_DISP_21 }, // E2-1 壏搙堎忢(僶僀儊僞儖)
    { TEMP, chk_temp, SYSTEM_PRTCT_THHOT, STS_DISP_22 }, // E2-2 壏搙堎忢(壏搙僙儞僒)
    #if defined(CONFIG_LIGHTSOURCE_LASER)
    { POWER, chk_lvd, SYSTEM_PRTCT_PWSTATUS, STS_DISP_32 }, // E3-2 揹尮堎忢
    { FAN, chk_fan, SYSTEM_PRTCT_FAN2DET, STS_DISP_41 }, // E4-1 僼傽儞堎忢
    { LDDRV, chk_lddrv, SYSTEM_PRTCT_LDDRV, STS_DISP_61 }, // E6-1 LD僪儔僀僶堎忢
    { PHOSPHOR, chk_phosphor, SYSTEM_PRTCT_PHOSPHOR, STS_DISP_62 }, // E6-2 Phosphor堎忢
    { SSLCPU, chk_sslcpu, SYSTEM_PRTCT_SSLCPU, STS_DISP_93 }, // E9-3 SlaveCPU偲偺捠怣僄儔乕
    #else
    { POWER, chk_power, SYSTEM_PRTCT_PWSTATUS, STS_DISP_31 }, /* E3-1 揹尮堎忢僄儔乕捛壛 */
    { FAN, chk_fan, SYSTEM_PRTCT_FAN2DET, STS_DISP_41 }, /* E4-1 僼傽儞掆巭 */
    { LAMP, chk_lamp, SYSTEM_PRTCT_LAMPFLG, STS_DISP_61 }, /* E6-1 儔儞僾晄揰摂 */
    { USAGE, chk_usage, SYSTEM_PRTCT_LAMPOVER, STS_DISP_00 }, /* E? 儔儞僾帪娫挻夁 */
    { DATA, chk_data, SYSTEM_PRTCT_DATAERR, STS_DISP_00 }, /* E? LampData堎忢 */
    { IRIS, chk_iris, SYSTEM_PRTCT_IRIS, STS_DISP_91 }, /* E9-1 傾僀儕僗堎忢 */
    #endif
    };

    static BOOL is_error(int num)
    {
      BYTE state = protect_tbl[num].pfunc();
      return (state == ERROR) ? TRUE : FALSE;
    }

  • 相关阅读:
    接口详解
    可空类型
    初学泛型
    结构和类
    触发器
    学习C#异常处理机制
    静飘移
    《Hashtable(散列表)》 集合
    自定义集合类
    Automation伺服程式無法産生物件
  • 原文地址:https://www.cnblogs.com/qinshizhi/p/12367266.html
Copyright © 2011-2022 走看看