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;
}
error check的更多相关文章
- 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 ...
- AAPT2 error: check logs for details 问题的终究修复
AAPT2 error: check logs for details Process 'command '***\build-tools\27.0.3\aapt.exe'' finished wit ...
- 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 ...
- 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 ...
- Android项目打包遇com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details
查了网上很多处理都是在项目的gradle.properties中添加下面的配置,再编译就通过了: android.enableAapt2=false
- android ------ AAPT2 error: check logs for details解决方法
AAPT 是全称是 Android Asset Packaging Tool,它是构建 App,甚至是构建 Android 系统都必不可少的一个工具.它的作用是将所有资源文件压缩打包到Android ...
- 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 ...
- 4.Android 打包时出现的Android Export aborted because fatal error were founds [closed]
Android 程序开发完成后,如果要发布到互联网上供别人使用,就需要将自己的程序打包成Android 安装包文件(Android Package,APK),其扩展名为.apk.使用run as 也能 ...
- System Error Codes
很明显,以下的文字来自微软MSDN 链接http://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx M ...
- Android Volley gives me 400 error
本文来自:http://stackoverflow.com/questions/21739276/android-volley-gives-me-400-error 本人是根据文中的其中一方法: I ...
随机推荐
- asp.net core 浏览器向服务端传递对象或对象数组参数服务端接收方式
日常开发中我们经常会在客户端向服务器端传递参数,下面以asp.net core为例 专门分享传递对象或对象数组方法 一.键值对专递对象 以下是一个表单,现在需求是将以下 表单 所有input元素以独享 ...
- C# Visual Studio等,学习地址
Visual Studio 2022 学习地址 Visual Studio系列学习地址 Csharp11 学习地址 Csharp 学习地址 W3School公营,推广技术,免费学习 W3CSchool ...
- C语言学习--指针函数与函数指针
#include<stdio.h> #include<string.h> //指针函数: 是一个函数, 但是这个函数的返回值类型是一个指针 //函数指针: 是一个指针, 这个指 ...
- flex布局的相关注意事项
文献参考地址:https://www.cnblogs.com/qcloud1001/p/9848619.html 重点事项: 弹性容器的属性 作用于交叉轴 align-items :对单行起作用 al ...
- 整数中出现1的次数(从1到n整数中1出现的次数)
offer_31 概要:整数中出现1的次数(从1到n整数中1出现的次数) 题目描述 求出113的整数中1出现的次数,并算出1001300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有 ...
- tp3.2 写入日志
function logs($content, $subDir = ''){ $subDir = trim($subDir, '/\\'); if (empty($content)) return f ...
- 正在运行转换: System.Runtime.Remoting.RemotingException: 无法加载类型“EnvDTE._DTE
在编写T4,引用envdte时,遇到如下错误,解决方案:右击引用中的envdte,属性中将"嵌入互操作类型"为false,重新编译库即可. 错误信息如下: 严重性 代码 ...
- ABAP学习(34):cl_gui_alv_grid实现Table Maintain
实现Table Maintain 通过类CL_GUI_ALV_GRID,实现Table Maintain功能. 实现效果: 1.创建Program; 2.创建空Screen 100; 3.创建GUI ...
- Python Cli 编写指南
Python Cli 编写指南 python实现cli 环境: python 3.8 库 python自带argparse 指南 简单示例 : cli.py import argparse def c ...
- 基于Java语言的编码问题了解
基于Java语言的编码问题了解 以下仅为本人工作.学习过程中所接触到的内容,不足之处欢迎指出. 近两天使用maven的tomcat插件,以及使用非插件版的tomcat部署项目时遇到了乱码问题,在解决乱 ...