#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;
}

error check的更多相关文章

  1. java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details

    Caused by: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Except ...

  2. AAPT2 error: check logs for details 问题的终究修复

    AAPT2 error: check logs for details Process 'command '***\build-tools\27.0.3\aapt.exe'' finished wit ...

  3. Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details

    环境 Android Studio 3.0 升级&导入项目 错误 Error:java.util.concurrent.ExecutionException: com.android.tool ...

  4. com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details

    1.错误显示 com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details log提示:Generate Si ...

  5. Android项目打包遇com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details

    查了网上很多处理都是在项目的gradle.properties中添加下面的配置,再编译就通过了: android.enableAapt2=false

  6. android ------ AAPT2 error: check logs for details解决方法

    AAPT 是全称是 Android Asset Packaging Tool,它是构建 App,甚至是构建 Android 系统都必不可少的一个工具.它的作用是将所有资源文件压缩打包到Android ...

  7. AS项目报错 Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details

    1 修改gradle的缓存目录 这个可以通过android studio的设置中找到gradle,配置另一个非中文目录来缓存. File -> Settings -> Build, Exe ...

  8. 4.Android 打包时出现的Android Export aborted because fatal error were founds [closed]

    Android 程序开发完成后,如果要发布到互联网上供别人使用,就需要将自己的程序打包成Android 安装包文件(Android Package,APK),其扩展名为.apk.使用run as 也能 ...

  9. System Error Codes

    很明显,以下的文字来自微软MSDN 链接http://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx M ...

  10. Android Volley gives me 400 error

    本文来自:http://stackoverflow.com/questions/21739276/android-volley-gives-me-400-error 本人是根据文中的其中一方法: I ...

随机推荐

  1. VUE前端请求跨域问题解决

    解决方法: vue.config.js文件配置: module.exports = { devServer: { open: true, host: '192.168.1.193', port: 80 ...

  2. fiddler 调试

    如果本地代理js发现跨域,需要手动修改自定义规则 1 static function OnBeforeResponse(oSession: Session) { 2 if (m_Hide304s &a ...

  3. We've detected suspicious behavior from phone numbers similar to yours. Please try again later or contact us through our help center at help.openai.com.

    原因 很多人使用该地区号码,被限制住了 解决办法 过会儿再试,或者换个地区接码

  4. JS学习-Web Worker

    Web Worker 在专用workers的情况下,DedicatedWorkerGlobalScope 对象代表了worker的上下文(专用workers是指标准worker仅在单一脚本中被使用:共 ...

  5. 利用Comparator对枚举类型进行排序的实现

    1. 利用BeanComparator对List<Object>根据属性进行排序 String daXiaoOrder[] = {"很小","小", ...

  6. 杭电 oj 第几天?

    Problem Description 给定一个日期,输出这个日期是该年的第几天.   Input 输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input , ...

  7. Kubernetes--Ingress资源类型

    Ingress资源类型 基于HTTP暴露的每个Service资源均可发布于一个独立的FQDN主机名之上,如 " www.ik8s.io " :也可发布于某主机上的URL路径之上,从 ...

  8. github进不去

    发现github进不去了:百度解决方案:修改hosts表,文件位置在C:\Windows\System32\drivers\etc 记事本打开,尝试在最后添加140.82.112.4 github.c ...

  9. windows系统PC设置多ip

    1.  打开  "[打开网络和共享中心]" 2 "更改适配器设置" 3."[本地连接]"-- "[属性]" 4.打开 [ ...

  10. DHCP 服务详解

    本文转发于华为IP知识百科,链接地址 DHCP 目录 一.什么是DHCP? 二.为什么要使用DHCP? 三.DHCP是怎么工作的 四.DHCP使用场景 一.什么是DHCP? 动态主机配置协议DHCP( ...