/* * @Author : ChenJie * @Date : 2021-10-14 09:27:15 * @Version : V3.0 * @LastEditors : ChenJie * @LastEditTime : 2021-10-26 16:07:27 * @Description : Global variable definition c file,此文件存放App使用到的全局变量 * @FilePath : \PLAT\project\ec616_0h00\apps\qx_app\src\AppSignal.c */ #include "AppSignal.h" // /**declear the bool vars**/ volatile BOOL NB_Fota_update_flag = FALSE; volatile BOOL BMS_Fota_update_flag = FALSE; volatile BOOL CanInterruptFlag = FALSE; UINT32 ErrFlg = FALSE; BOOL downloadReady = FALSE; /**declear the uint8 vars**/ UINT8 AvgBattTemp = 0; UINT8 battCellTemp[8] = {0}; //Battery temperature 电池温度数值 UINT8 battHeatEnableState = 0x00; //bms加热使能状态 UINT8 battMOSSwitchState = 0x00; //bms开关状态 UINT8 battSOC = 0; //电池SOC UINT8 battSOH = 0; //电池SOH UINT8 battWorkState = 0x00; //电池工作状态 UINT8 BattWorkStateDelay = 0; //电池工作状态(延时处理后的) UINT8 bmsHwVersion = 0; //bms硬件版本 UINT8 bmsSwVersion = 0; //bms软件版本 UINT8 BMSupdatestatus = 0xFF; //保护板更新状态 0xFF表示未更新,00表示更新成功,c表示校验不过 UINT8 BuzzerControl = 0; //蜂鸣器控制状态 UINT8 CanMsgEnble = 0; //Can send status Can中断状态 UINT8 ChargeForbiddenControl = 0x00; //充电禁止控制 UINT8 chargerConnectState = 0x00; //充电器连接状态 UINT8 DisChargeForbiddenControl = 0x00; //放电禁止控制 UINT8 fastChargeTemp = 0; // fast charge plug temprature 快充插头温度 UINT8 GpsFlag = 0; //GPS 数据有效标志位 UINT8 HeatForceControl = 0; //加热强制控制使能 UINT8 heatTemp1 = 0; //Heating plate1 temperature 加热板温度1 UINT8 heatTemp2 = 0; //Heating plate2 temperature 加热板温度2 UINT8 Lockstatus = 0; //Interlock status 高压互锁状态 UINT8 maxCellTemp = 0; //最高单体温度 UINT8 minCellTemp = 0; //最低单体温度 UINT8 MOSTemp = 0; //mos temprature mos温度 UINT8 nbReservedTemp1 = 0; // UINT8 nbReservedTemp2 = 0; // UINT8 normalChargeTemp = 0; // normal charge plug temprature 慢充插头温度 UINT8 packTemp = 0; //battery pack temprature 电池箱体温度 UINT8 PadInterrupt = 0x00; //每个bit代表一个中断标志 UINT8 PosFlag = 0; //定位信息是否有效标志位 UINT8 RelayForbiddenControl = 0x00; //继电器禁止控制 UINT8 RelayForceControl = 0x00; //继电器强制控制 UINT8 reservedSignal1 = 0; //can信息保留信号1 UINT8 reservedSignal2 = 0; //can信息保留信号2 UINT8 reservedSignal3 = 0; //can信息保留信号3 UINT8 reservedSignal4 = 0; //can信息保留信号4 UINT8 reservedSignal5 = 0; //can信息保留信号5 UINT8 reservedSignal6 = 0; //can信息保留信号6 UINT8 reservedSignal7 = 0; //can信息保留信号7 UINT8 reservedSignal8 = 0; //can信息保留信号8 UINT8 TcpErrorcount = 0; //Error count TCP联网错误计数 UINT8 TcpSendLen = 0; //Tcp send status Tcp发送状态 UINT8 TCPWorkState = 0; //Tcp工作状态,0-表示发送,1-表示应答,2-表示监听以及心跳发送 UINT8 UartCmdRecvFlag = 0; //Uart控制应答回复 UINT8 UartErrorFlag = 0; //Uart故障标志位0表示正常,1表示故障 UINT8 UartRecvFlag = 0; //Uart收到消息标志位0表示未收到,1表示收到 UINT8 UDSService[2] = {0}; //uds 服务 UINT8 UDSSubService[2] = {0}; // uds 子服务 UINT8 UDSSubServiceActionCode[2] = {0}; // uds 子服务状态 UINT8 UDSSwitch = 0; //下线检测标志位 UINT8 UartInterruptcount = 0; //串口中断累加值 UINT8 UDSDialogMode = 01; //UDS诊断模式 /**declear the uint16 vars**/ UINT16 avrgCellVol = 0; //平均单体电压 UINT16 battCellU[28] = {0}; //电池包单体电压 UINT16 battI = 0; //电池总电流 UINT16 battPackVol = 0; //电池总压 UINT16 ErrorNum[ErrorNumLength] = {0}; //Error array,故障数组 UINT16 maxCellVol = 0; //最大单体电压 UINT16 minCellVol = 0; //最小单体电压 UINT16 nbHwVersion = 0; //数据模块硬件状态 UINT16 updateDifferDataPackageCounter = 0; //差分包升级计数器 INT16 xyzData[3] = {0}; //xyz三轴数据 /**declear the uint32 vars**/ UINT32 battBalanceoInfo = 0; //电池均衡状态 UINT32 Battdesigncap = 0; //battery design cap 电池包设计容量 UINT32 battProtectState = 0; //电池保护状态 UINT32 battWarningState = 0; //电池告警状态 UINT32 nbSwVersion = 0; // 数据模块软件状态 UINT32 PowerVoltage = 0; volatile UINT32 TimeCounter = 0x00; //主任务定时器计数 /**declear the Handle vars**/ osMutexId_t Error_Mutex = NULL; //故障互锁句柄 QueueHandle_t GpsRecvHandle = NULL; //定位信息队列句柄 QueueHandle_t UartWriteCmdHandle = NULL; //Uart写命令队列句柄 /**declear other vars**/ AppConfigDataType AppNVMData; AppDataBody AppDataInfo; AppAlgorithmData BcuDataInfo; AppSocketConnectionContext socContext = {-1, 0}; //网络连接状态 process_app gProcess_app; //全局工作状态