|
@@ -1,15 +1,153 @@
|
|
|
-/****************************************************************************
|
|
|
- *
|
|
|
- * Copy right: RL.Chen J and Zhen C
|
|
|
- * File name: AppFunc.c
|
|
|
- * Description: 应用层函数调用文�?
|
|
|
- * History: 2021-03-15
|
|
|
- *
|
|
|
- ****************************************************************************/
|
|
|
+/*
|
|
|
+ * @Author : ChenJie
|
|
|
+ * @Date : 2021-11-09 12:08:17
|
|
|
+ * @Version : V3.0
|
|
|
+ * @LastEditors : ChenJie
|
|
|
+ * @LastEditTime : 2021-11-23 19:08:15
|
|
|
+ * @Description : file content
|
|
|
+ * @FilePath : \PLAT\project\ec616_0h00\apps\qx_app\src\AppFunc.c
|
|
|
+ */
|
|
|
#include "AppFunc.h"
|
|
|
#include "numeric.h"
|
|
|
#include "hal_module_adapter.h"
|
|
|
-
|
|
|
+/**
|
|
|
+ * @brief : 初始化
|
|
|
+ * @param {*}
|
|
|
+ * @return {*}
|
|
|
+ */
|
|
|
+void canRxMsgSetInitValue(void)
|
|
|
+{
|
|
|
+ bmsStatus = 0xFF;
|
|
|
+ bmsErrClass = 0xFF;
|
|
|
+ chrgConctStatus = 0xFF;
|
|
|
+ highVolPwrDwnReq = 0xFF;
|
|
|
+ chrgStatus = 0xFF;
|
|
|
+ bmsErrNum = 0xFF;
|
|
|
+ bmsLife = 0xFF;
|
|
|
+ maxChrgCurrAllowed = 0xFFFF;
|
|
|
+ maxDischrgCurrAllowed = 0xFFFF;
|
|
|
+ battSoc = 0xFF;
|
|
|
+ packTotalVol = 0xFFFF;
|
|
|
+ packTotalCurr = 0xFFFF;
|
|
|
+ insulationR = 0xFFFF;
|
|
|
+ maxCellVol = 0xFFFF;
|
|
|
+ minCellVol = 0xFFFF;
|
|
|
+ maxCellTemp = 0xFF;
|
|
|
+ minCellTemp = 0xFF;
|
|
|
+ avgCellTemp = 0xFF;
|
|
|
+ maxVolSubsysCode = 0xFF;
|
|
|
+ maxVolCellCode = 0xFFFF;
|
|
|
+ minVolSubsysCode = 0xFF;
|
|
|
+ minVoCelllCode = 0xFFFF;
|
|
|
+ maxTempSubsysCode = 0xFF;
|
|
|
+ maxTempCellCode = 0xFF;
|
|
|
+ minTempSubsysCode = 0xFF;
|
|
|
+ minTempCellCode = 0xFF;
|
|
|
+ numOfChrgableSubsys = 0xFF;
|
|
|
+ lengthOfChrgableSysCode = 0xFF;
|
|
|
+ chrgableSysCode = 0xFF;
|
|
|
+ chrgableSubsysCode = 0xFF;
|
|
|
+ //numOfCells =0xFFFF;
|
|
|
+ //numOfCellTemp =0xFF;
|
|
|
+ numOfBattErr = 0xFF;
|
|
|
+ for (UINT16 i = 0; i < CELL_NUM; i++)
|
|
|
+ {
|
|
|
+ battCellU[i] = 0xFFFF;
|
|
|
+ }
|
|
|
+ for (UINT8 i = 0; i < CELL_TEMP_NUM; i++)
|
|
|
+ {
|
|
|
+ battCellTemp[i] = 0xFF;
|
|
|
+ }
|
|
|
+ mainPosRlyStatus = 0xFF;
|
|
|
+ preRlyStatus = 0xFF;
|
|
|
+ mainNegRlyStatus = 0xFF;
|
|
|
+ thrRlyStatus = 0xFF;
|
|
|
+ ptc1RlyStatus = 0xFF;
|
|
|
+ airCondRlyStatus = 0xFF;
|
|
|
+ dcChrg1PosRlyStatus = 0xFF;
|
|
|
+ dcChrg1NegRlyStatus = 0xFF;
|
|
|
+ dcChrg2PosRlyStatus = 0xFF;
|
|
|
+ dcChrg2NegRlyStatus = 0xFF;
|
|
|
+ heatPosRlyStatus = 0xFF;
|
|
|
+ heatNegRlyStatus = 0xFF;
|
|
|
+ coolRlyStatus = 0xFF;
|
|
|
+ ptc2RlyStatus = 0xFF;
|
|
|
+ mainPosRlyErrStatus = 0xFF;
|
|
|
+ preRlyErrStatus = 0xFF;
|
|
|
+ mainNegRlyErrStatus = 0xFF;
|
|
|
+ thrRlyErrStatus = 0xFF;
|
|
|
+ ptc1RlyErrStatus = 0xFF;
|
|
|
+ airCondRlyErrStatus = 0xFF;
|
|
|
+ dcChrg1PosRlyErrStatus = 0xFF;
|
|
|
+ dcChrg1NegRlyErrStatus = 0xFF;
|
|
|
+ dcChrg2PosRlyErrStatus = 0xFF;
|
|
|
+ dcChrg2NegRlyErrStatus = 0xFF;
|
|
|
+ heatPosRlyErrStatus = 0xFF;
|
|
|
+ heatNegRlyErrStatus = 0xFF;
|
|
|
+ coolRlyErrStatus = 0xFF;
|
|
|
+ ptc2RlyErrStatus = 0xFF;
|
|
|
+ accChrgAh = 0xFFFFFFFF;
|
|
|
+ accDischrgAh = 0xFFFFFFFF;
|
|
|
+ accChrgkWh = 0xFFFFFFFF;
|
|
|
+ accDischrgkWh = 0xFFFFFFFF;
|
|
|
+ battSOH = 0xFF;
|
|
|
+ for (UINT8 i = 0; i < 24; i++)
|
|
|
+ {
|
|
|
+ SN[i] = 0xFF;
|
|
|
+ }
|
|
|
+ accRecvryChrgAh = 0xFFFFFFFF;
|
|
|
+ accRecvryChrgkWh = 0xFFFFFFFF;
|
|
|
+ accStationChrgAh = 0xFFFFFFFF;
|
|
|
+ accStationChrgkWh = 0xFFFFFFFF;
|
|
|
+ accGunChrgAh = 0xFFFFFFFF;
|
|
|
+ accGunChrgkWh = 0xFFFFFFFF;
|
|
|
+ sglChrgAh = 0xFFFFFFFF;
|
|
|
+ sglChrgkWh = 0xFFFFFFFF;
|
|
|
+ bmsHVOn = 0xFF;
|
|
|
+ vcuDCVol = 0xFFFF;
|
|
|
+ acRelayStatus = 0xFF;
|
|
|
+ ptcRelayStatus = 0xFF;
|
|
|
+ mainRelayStatus = 0xFF;
|
|
|
+ preRelayStatus = 0xFF;
|
|
|
+ ptc2RelayStatus = 0xFF;
|
|
|
+ acRelayErrorStatus = 0xFF;
|
|
|
+ ptcRelayErrorStatus = 0xFF;
|
|
|
+ mainRelayErrorStatus = 0xFF;
|
|
|
+ preRelayErrorStatus = 0xFF;
|
|
|
+ hvLockErrorStatus = 0xFF;
|
|
|
+ ptc2RelayErrorStatus = 0xFF;
|
|
|
+ ebcStatus = 0xFF;
|
|
|
+ ebcAskHVOn = 0xFF;
|
|
|
+ ebcAskHVOff = 0xFF;
|
|
|
+ retainLockSignal = 0xFF;
|
|
|
+ dischargeLockSignal = 0xFF;
|
|
|
+ chargeLockSignal = 0xFF;
|
|
|
+ errorClass = 0xFF;
|
|
|
+ errorCode1 = 0xFF;
|
|
|
+ errorCode2 = 0xFF;
|
|
|
+ chargeFlag = 0xFF;
|
|
|
+ exchangeBattAirPressure = 0xFF;
|
|
|
+ lifeSignal = 0xFF;
|
|
|
+ vehicleStatus = 0xFF;
|
|
|
+ currentGearPosition = 0xFF;
|
|
|
+ parkingBreakStatus = 0xFF;
|
|
|
+ breakingStatus = 0xFF;
|
|
|
+ for (UINT8 i = 0; i < sizeof(VIN); i++)
|
|
|
+ {
|
|
|
+ VIN[i] = 0xFF;
|
|
|
+ }
|
|
|
+ frontBreakingPressure = 0xFF;
|
|
|
+ backBreakingPressure = 0xFF;
|
|
|
+ frontBreakingPressureErrorStatus = 0xFF;
|
|
|
+ backBreakingPressureErrorStatus = 0xFF;
|
|
|
+ ODO = 0xFFFFFFFF;
|
|
|
+ dcdcErrorClass = 0xFF;
|
|
|
+ dcdcWorkStatus = 0xFF;
|
|
|
+ mainElectricityErrorClass = 0xFF;
|
|
|
+ pumpWorkStatus = 0xFF;
|
|
|
+ elecAirCompressorErrorStatus = 0xFF;
|
|
|
+ elecAirCompressorWrokStatus = 0xFF;
|
|
|
+}
|
|
|
UINT8 bcc_chk(UINT8 *data, UINT16 length)
|
|
|
{
|
|
|
UINT8 bcc_chk_return = 0x00;
|