#ifndef SYSTEM__MONITOR__H #define SYSTEM__MONITOR__H /* #define Platform_16Bit #define Platform_32Bit*/ #ifdef Platform_16Bit #define monitorlib_uint8_t unsigned char #define monitorlib_uint16_t unsigned int #define monitorlib_uint32_t unsigned long #else #define monitorlib_uint8_t unsigned char #define monitorlib_uint16_t unsigned short #define monitorlib_uint32_t unsigned int #define monitorlib_uint64_t unsigned long long #endif /* 0 ----1st-------6500 不可运行 1 6500 ----2st-------7000 回差段 2 7000 ----3st-------9000 低压段 3 9000 ----4st-------9500 回差段 4 9500-----5st------16000 正常段 5 16000----6st------16500 回差段 6 16500----7st------18000 高压段 7 18000----8st------18500 回差段 8 18500----9st------65535 高压段 9 0-----6.5 不可运行--ALL----------限制 6.5-----9 除电机外均可运行--------正常 9-----16.5 均可运行---------------正常 16.5-----18.5 只有CAN可运行----------限制 18.8-----65535 不可运行--ALL----------限制 6.5-18.5 CAN 可运行区间 */ typedef monitorlib_uint8_t (*Get_Voltage_Vaild)(void); typedef monitorlib_uint16_t (*Get_Voltage_Value)(void); typedef monitorlib_uint8_t (*Get_LineInStatus)(void); typedef void (*COMMON_Delay)(monitorlib_uint32_t mMs); typedef void (*pfunLogic)(void); typedef struct { Get_Voltage_Vaild SysGet_KL30_Valid; Get_Voltage_Vaild SysGet_KL15_Valid; Get_Voltage_Value SysGet_KL30_value_Force; Get_Voltage_Value SysGet_KL15_value_Force; Get_Voltage_Value SysGet_KL30_value; Get_Voltage_Value SysGet_KL15_value; Get_LineInStatus SysGet_KL15Line; COMMON_Delay COM_Delay; pfunLogic SysMonitorLogic; } MonitorExt_st; /* SYS RUN Status */ #define SYS_OPR_STAT_RUN ((System_FUN_KL30_Status_Get( ) > 1u) && (System_FUN_KL30_Status_Get( ) < 7u)) #define SYS_OPR_STAT_HALT ((System_FUN_KL30_Status_Get( ) == 1u) || (System_FUN_KL30_Status_Get( ) > 7u)) #define SYS_OPR_STAT_LIM_LVP (System_FUN_KL30_Status_Get( ) == 1U) #define SYS_OPR_STAT_LIM_OVP (System_FUN_KL30_Status_Get( ) > 7u) /*fun status*/ #define SYS_OPR_STAT_IGN_ON (System_FUN_KL15_Status_Get( ) == 1U) #define SYS_OPR_STAT_IGN_OFF (System_FUN_KL15_Status_Get( ) == 0U) /*nm run status*/ #define SYS_OPR_STAT_IGN_ON_NM (System_NM_KL15_Status_Get( ) == 1U) #define SYS_OPR_STAT_IGN_OFF_NM (System_NM_KL15_Status_Get( ) == 0U) /*nm status*/ #define SYS_OPR_STAT_RUN_NM ((System_NM_KL30_Status_Get( ) > 1u) && (System_NM_KL30_Status_Get( ) < 9u)) #define SYS_OPR_STAT_HALT_NM ((System_NM_KL30_Status_Get( ) == 9u) || (System_NM_KL30_Status_Get( ) == 1u)) monitorlib_uint8_t Read_KL30_ConvertFinish(void); monitorlib_uint16_t Get_Sysmonitor_Version(void); void Sys_Status_Update_Service(void); void Sys_Set_Pata(const monitorlib_uint16_t FUN_Vol [], MonitorExt_st *pfunc); void System_Monitor_KL30Init(void); void System_Monitor_WakeupInit(void); void System_XHY_CheckWakeup(void); monitorlib_uint8_t System_FUN_KL30_Status_Get(void); monitorlib_uint8_t System_FUN_KL15_Status_Get(void); monitorlib_uint8_t System_NM_KL15_Status_Get(void); monitorlib_uint8_t System_NM_KL30_Status_Get(void); #endif