Commit 575b117c authored by 何锐's avatar 何锐

feat:EC02更新老化台

parent 0ed24376
...@@ -421,7 +421,7 @@ interrupt void Api_RTC_isr(void) ...@@ -421,7 +421,7 @@ interrupt void Api_RTC_isr(void)
if(direction_espeed==1) if(direction_espeed==1)
{ {
k++; k++;
if(k>12) if(k>11)
{ {
direction_espeed = 0; direction_espeed = 0;
} }
......
...@@ -94,25 +94,94 @@ void Set_CAN_CRC(CAN_message * CanMessage){ ...@@ -94,25 +94,94 @@ void Set_CAN_CRC(CAN_message * CanMessage){
*/ */
void Format_CAN_Msg() void Format_CAN_Msg()
{ {
CanMsg_101.ID = 0x101; // CanMsg_101.ID = 0x101;
CanMsg_111.ID = 0x111; // CanMsg_111.ID = 0x111;
CanMsg_37B.ID = 0x37B; // CanMsg_37B.ID = 0x37B;
CanMsg_101.Length = 8; CanMsg_0x81.ID = 0x81;
CanMsg_111.Length = 8; CanMsg_0x82.ID = 0x82;
CanMsg_37B.Length = 8; CanMsg_0xB2.ID = 0xB2;
CanMsg_0xB3.ID = 0xB3;
CanMsg_0xC1.ID = 0xC1;
CanMsg_101.ID_EN = 1; CanMsg_0xC2.ID = 0xC2;
CanMsg_111.ID_EN = 1; CanMsg_0xC3.ID = 0xC3;
CanMsg_37B.ID_EN = 1; CanMsg_0x122.ID = 0x122;
CanMsg_0x212.ID = 0x212;
CanMsg_0x217.ID = 0x217;
CanMsg_0x218.ID = 0x218;
CanMsg_0x221.ID = 0x221;
CanMsg_0x310.ID = 0x310;
CanMsg_0x312.ID = 0x312;
CanMsg_0x321.ID = 0x321;
CanMsg_0x353.ID = 0x364;
CanMsg_0x21F.ID = 0x21F;
// CanMsg_101.Length = 8;
// CanMsg_111.Length = 8;
// CanMsg_37B.Length = 8;
CanMsg_0x81.Length = 8;
CanMsg_0x82.Length = 8;
CanMsg_0xB2.Length = 8;
CanMsg_0xB3.Length = 8;
CanMsg_0xC1.Length = 8;
CanMsg_0xC2.Length = 8;
CanMsg_0xC3.Length = 8;
CanMsg_0x122.Length = 8;
CanMsg_0x212.Length = 8;
CanMsg_0x217.Length = 8;
CanMsg_0x218.Length = 8;
CanMsg_0x221.Length = 8;
CanMsg_0x310.Length = 8;
CanMsg_0x312.Length = 8;
CanMsg_0x321.Length = 8;
CanMsg_0x353.Length = 8;
CanMsg_0x21F.Length = 8;
// CanMsg_101.ID_EN = 1;
// CanMsg_111.ID_EN = 1;
// CanMsg_37B.ID_EN = 1;
CanMsg_0x81.ID_EN = 1;
CanMsg_0x82.ID_EN = 1;
CanMsg_0xB2.ID_EN = 1;
CanMsg_0xB3.ID_EN = 1;
CanMsg_0xC1.ID_EN = 1;
CanMsg_0xC2.ID_EN = 1;
CanMsg_0xC3.ID_EN = 1;
CanMsg_0x122.ID_EN = 1;
CanMsg_0x212.ID_EN = 1;
CanMsg_0x217.ID_EN = 1;
CanMsg_0x218.ID_EN = 1;
CanMsg_0x221.ID_EN = 1;
CanMsg_0x310.ID_EN = 1;
CanMsg_0x312.ID_EN = 1;
CanMsg_0x321.ID_EN = 1;
CanMsg_0x353.ID_EN = 1;
CanMsg_0x21F.ID_EN = 1;
} }
void Disable_CAN_Tx(void){ void Disable_CAN_Tx(void){
CanMsg_101.ID_EN = 0; // CanMsg_101.ID_EN = 0;
CanMsg_111.ID_EN = 0; // CanMsg_111.ID_EN = 0;
CanMsg_37B.ID_EN = 0; // CanMsg_37B.ID_EN = 0;
CanMsg_0x81.ID_EN = 0;
CanMsg_0x82.ID_EN = 0;
CanMsg_0xB2.ID_EN = 0;
CanMsg_0xB3.ID_EN = 0;
CanMsg_0xC1.ID_EN = 0;
CanMsg_0xC2.ID_EN = 0;
CanMsg_0xC3.ID_EN = 0;
CanMsg_0x122.ID_EN = 0;
CanMsg_0x212.ID_EN = 0;
CanMsg_0x217.ID_EN = 0;
CanMsg_0x218.ID_EN = 0;
CanMsg_0x221.ID_EN = 0;
CanMsg_0x310.ID_EN = 0;
CanMsg_0x312.ID_EN = 0;
CanMsg_0x321.ID_EN = 0;
CanMsg_0x353.ID_EN = 0;
CanMsg_0x21F.ID_EN = 0;
} }
void Set_Pin(INT16U pin) void Set_Pin(INT16U pin)
...@@ -129,7 +198,8 @@ void Set_Pin(INT16U pin) ...@@ -129,7 +198,8 @@ void Set_Pin(INT16U pin)
* Return : None * Return : None
* onther : * onther :
--------------------------------------------------------------------------*/ --------------------------------------------------------------------------*/
extern int canover_flag_1;
extern int canover_flag_2;
void App_Can_Proc(void) void App_Can_Proc(void)
{ {
unsigned char i; unsigned char i;
...@@ -142,14 +212,20 @@ void App_Can_Proc(void) ...@@ -142,14 +212,20 @@ void App_Can_Proc(void)
if(GetCtrlTime(CANMsgSend_10ms) >= 10){ if(GetCtrlTime(CANMsgSend_10ms) >= 10){
ClearCtrlTime(CANMsgSend_10ms); ClearCtrlTime(CANMsgSend_10ms);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_101); bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_0x81);
Clear_CAN_Msg((CAN_message *)&CanMsg_101); Clear_CAN_Msg((CAN_message *)&CanMsg_0x81);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_0x82);
Clear_CAN_Msg((CAN_message *)&CanMsg_0x82);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_0xB2);
Clear_CAN_Msg((CAN_message *)&CanMsg_0xB2);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_111); bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_0xB3);
Clear_CAN_Msg((CAN_message *)&CanMsg_111); Clear_CAN_Msg((CAN_message *)&CanMsg_0xB3);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_37B); bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_0xC1);
Clear_CAN_Msg((CAN_message *)&CanMsg_37B); Clear_CAN_Msg((CAN_message *)&CanMsg_0xC1);
//bReturn = Api_CANSendFrame((CAN_message *)&CanMessageID18FEDCD5); //bReturn = Api_CANSendFrame((CAN_message *)&CanMessageID18FEDCD5);
//bReturn = Api_CANSendFrame((CAN_message *)&CanMessageID18FEDED5); //bReturn = Api_CANSendFrame((CAN_message *)&CanMessageID18FEDED5);
...@@ -159,12 +235,18 @@ void App_Can_Proc(void) ...@@ -159,12 +235,18 @@ void App_Can_Proc(void)
if(GetCtrlTime(CANMsgSend_20ms) >= 20){ if(GetCtrlTime(CANMsgSend_20ms) >= 20){
ClearCtrlTime(CANMsgSend_20ms); ClearCtrlTime(CANMsgSend_20ms);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_0xC2);
Clear_CAN_Msg((CAN_message *)&CanMsg_0xC2);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_0xC3);
Clear_CAN_Msg((CAN_message *)&CanMsg_0xC3);
} }
if(GetCtrlTime(CANMsgSend_50ms) >= 50){ if(GetCtrlTime(CANMsgSend_50ms) >= 50){
ClearCtrlTime(CANMsgSend_50ms); ClearCtrlTime(CANMsgSend_50ms);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_0x122);
Clear_CAN_Msg((CAN_message *)&CanMsg_0x122);
// bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_341); // bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_341);
...@@ -176,12 +258,50 @@ void App_Can_Proc(void) ...@@ -176,12 +258,50 @@ void App_Can_Proc(void)
if(GetCtrlTime(CANMsgSend_100ms) >= 100){ if(GetCtrlTime(CANMsgSend_100ms) >= 100){
ClearCtrlTime(CANMsgSend_100ms); ClearCtrlTime(CANMsgSend_100ms);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_0x212);
Clear_CAN_Msg((CAN_message *)&CanMsg_0x212);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_0x217);
Clear_CAN_Msg((CAN_message *)&CanMsg_0x217);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_0x218);
Clear_CAN_Msg((CAN_message *)&CanMsg_0x218);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_0x221);
Clear_CAN_Msg((CAN_message *)&CanMsg_0x221);
// if(CurValueStr[ BCM_MetricMilesSwitchSet].val == 0 )
// {
// ;
// }
// else
// {
if(canover == 0)
{
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_0x21F);
Clear_CAN_Msg((CAN_message *)&CanMsg_0x21F);
canover_flag_1 = 1;
canover_flag_2 = 1;
canover = 1;
}
} }
if(GetCtrlTime(CANMsgSend_200ms) >= 200){ if(GetCtrlTime(CANMsgSend_200ms) >= 200){
ClearCtrlTime(CANMsgSend_200ms); ClearCtrlTime(CANMsgSend_200ms);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_0x310);
Clear_CAN_Msg((CAN_message *)&CanMsg_0x310);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_0x312);
Clear_CAN_Msg((CAN_message *)&CanMsg_0x312);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_0x321);
Clear_CAN_Msg((CAN_message *)&CanMsg_0x321);
} }
...@@ -196,6 +316,8 @@ void App_Can_Proc(void) ...@@ -196,6 +316,8 @@ void App_Can_Proc(void)
if(GetCtrlTime(CANMsgSend_1s) >= 1000){ if(GetCtrlTime(CANMsgSend_1s) >= 1000){
ClearCtrlTime(CANMsgSend_1s); ClearCtrlTime(CANMsgSend_1s);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_0x353);
Clear_CAN_Msg((CAN_message *)&CanMsg_0x353);
} }
...@@ -214,24 +336,110 @@ void App_Can_Proc(void) ...@@ -214,24 +336,110 @@ void App_Can_Proc(void)
//CurValueStr[ENUM_VSpeed ].val = 0; //CurValueStr[ENUM_VSpeed ].val = 0;
CurValueStr[ENUM_RSpeed ].val = 0; // CurValueStr[ENUM_RSpeed ].val = 0;
CurValueStr[ENUM_WaterTemp ].val = 0; // CurValueStr[ENUM_WaterTemp ].val = 0;
CurValueStr[TCS_Warning_Lamp ].val = 0; // CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 0; // CurValueStr[TCS_Work_Mode ].val = 0;
CurValueStr[ISG_Power ].val = 0; // CurValueStr[ISG_Power ].val = 0;
CurValueStr[ISG_Power_Enable ].val = 0; // CurValueStr[ISG_Power_Enable ].val = 0;
CurValueStr[ ABS_VehicleSpeed ].val = 0;
CurValueStr[ENUM_VSpeed ].fval = Value_Plus; CurValueStr[ ABS_Warning_Lamp ].val = 0;
CurValueStr[ENUM_RSpeed ].fval = Value_Plus; CurValueStr[ BCM_PositionLightIndication].val = 0;
CurValueStr[ENUM_WaterTemp ].fval = Value_Plus; CurValueStr[ BCM_TurnLeftandRightIndication].val = 0;
CurValueStr[TCS_Warning_Lamp ].fval = Value_Plus; CurValueStr[ BCM_TurnRightIndication].val = 0;
CurValueStr[TCS_Work_Mode ].fval = Value_Plus; CurValueStr[ BCM_TurnLeftIndication].val = 0;
CurValueStr[ISG_Power ].fval = Value_Plus; CurValueStr[ BCM_LowBeamIndication].val = 0;
CurValueStr[ISG_Power_Enable ].fval = Value_Plus; CurValueStr[ BCM_HighBeamIndication].val = 0;
CurValueStr[ TCS_WarningLamp ].val = 0;
CurValueStr[ TCS_WorkSt ].val = 0;
CurValueStr[ TCS_Control ].val = 0;
CurValueStr[ MCU_GearPosition ].val = 0;
CurValueStr[ MCU_ReadyStatus ].val = 0;
CurValueStr[ MCU_CruiseSwitchActive ].val = 0;
CurValueStr[ MCU_LimpingMode ].val = 0;
CurValueStr[ MCU_EnergyRecIntensitySet ].val = 0;
CurValueStr[ MCU_OperationMode ].val = 0;
CurValueStr[ MCU_MotorTemperature ].val = 0;
CurValueStr[ MCU_AutoHoldSta ].val = 0;
CurValueStr[ MCU_ControllerWorkingState ].val = 0;
CurValueStr[ MCU_CruiseState ].val = 0;
CurValueStr[ MCU_MotorSpeed ].val = 0;
CurValueStr[ BCM_PowerOnStatus ].val = 0;
CurValueStr[ BMS1_SOH ].val = 0;
CurValueStr[ BMS1_PACKTotalSOC ].val = 0;
CurValueStr[ BMS1_PACKTotalCurrent ].val = 0;
CurValueStr[ BMS1_PACKInTotalVoltage ].val = 0;
CurValueStr[ MCU_HighestFaultPrompt ].val = 0;
CurValueStr[ ICU_RemainrvMile ].val = 0;
CurValueStr[ ICU_Speed ].val = 0;
CurValueStr[ BMS2_SOH ].val = 0;
CurValueStr[ BMS2_PACKTotalSOC ].val = 0;
CurValueStr[ BMS2_PACKInTotalVoltage ].val = 0;
CurValueStr[ BMS1_HighestFaultPrompt ].val = 0;
CurValueStr[ BMS2_HighestFaultPrompt ].val = 0;
CurValueStr[ BMS_ChargerConnectSignal ].val = 0;
CurValueStr[ BCM_RTCDate_Valid ].val = 0;
CurValueStr[ BCM_RTCDate_Second ].val = 0;
CurValueStr[ BCM_RTCDate_Minute ].val = 0;
CurValueStr[ BCM_RTCDate_Hour ].val = 0;
CurValueStr[ BCM_RTCDate_Day ].val = 0;
CurValueStr[ BCM_RTCDate_Month ].val = 0;
CurValueStr[ BCM_RTCDate_Year ].val = 0;
CurValueStr[ BCM_MetricMilesSwitchSet ].val = 0;
// CurValueStr[ENUM_VSpeed ].fval = Value_Plus;
// CurValueStr[ENUM_RSpeed ].fval = Value_Plus;
// CurValueStr[ENUM_WaterTemp ].fval = Value_Plus;
// CurValueStr[TCS_Warning_Lamp ].fval = Value_Plus;
// CurValueStr[TCS_Work_Mode ].fval = Value_Plus;
// CurValueStr[ISG_Power ].fval = Value_Plus;
// CurValueStr[ISG_Power_Enable ].fval = Value_Plus;
CurValueStr[ ABS_VehicleSpeed ].fval = Value_Plus;
CurValueStr[ ABS_Warning_Lamp ].fval = Value_Plus;
CurValueStr[ BCM_PositionLightIndication].fval = Value_Plus;
CurValueStr[ BCM_TurnLeftandRightIndication].fval = Value_Plus;
CurValueStr[ BCM_TurnRightIndication].fval = Value_Plus;
CurValueStr[ BCM_TurnLeftIndication].fval = Value_Plus;
CurValueStr[ BCM_LowBeamIndication].fval = Value_Plus;
CurValueStr[ BCM_HighBeamIndication].fval = Value_Plus;
CurValueStr[ TCS_WarningLamp ].fval = Value_Plus;
CurValueStr[ TCS_WorkSt ].fval = Value_Plus;
CurValueStr[ TCS_Control ].fval = Value_Plus;
CurValueStr[ MCU_GearPosition ].fval = Value_Plus;
CurValueStr[ MCU_ReadyStatus ].fval = Value_Plus;
CurValueStr[ MCU_CruiseSwitchActive ].fval = Value_Plus;
CurValueStr[ MCU_LimpingMode ].fval = Value_Plus;
CurValueStr[ MCU_EnergyRecIntensitySet ].fval = Value_Plus;
CurValueStr[ MCU_OperationMode ].fval = Value_Plus;
CurValueStr[ MCU_MotorTemperature ].fval = Value_Plus;
CurValueStr[ MCU_AutoHoldSta ].fval = Value_Plus;
CurValueStr[ MCU_ControllerWorkingState ].fval = Value_Plus;
CurValueStr[ MCU_CruiseState ].fval = Value_Plus;
CurValueStr[ MCU_MotorSpeed ].fval = Value_Plus;
CurValueStr[ BCM_PowerOnStatus ].fval = Value_Plus;
CurValueStr[ BMS1_SOH ].fval = Value_Plus;
CurValueStr[ BMS1_PACKTotalSOC ].fval = Value_Plus;
CurValueStr[ BMS1_PACKTotalCurrent ].fval = Value_Plus;
CurValueStr[ BMS1_PACKInTotalVoltage ].fval = Value_Plus;
CurValueStr[ MCU_HighestFaultPrompt ].fval = Value_Plus;
CurValueStr[ ICU_RemainrvMile ].fval = Value_Plus;
CurValueStr[ ICU_Speed ].fval = Value_Plus;
CurValueStr[ BMS2_SOH ].fval = Value_Plus;
CurValueStr[ BMS2_PACKTotalSOC ].fval = Value_Plus;
CurValueStr[ BMS2_PACKInTotalVoltage ].fval = Value_Plus;
CurValueStr[ BMS1_HighestFaultPrompt ].fval = Value_Plus;
CurValueStr[ BMS2_HighestFaultPrompt ].fval = Value_Plus;
CurValueStr[ BMS_ChargerConnectSignal ].fval = Value_Plus;
CurValueStr[ BCM_RTCDate_Valid ].fval = Value_Plus;
CurValueStr[ BCM_RTCDate_Second ].fval = Value_Plus;
CurValueStr[ BCM_RTCDate_Minute ].fval = Value_Plus;
CurValueStr[ BCM_RTCDate_Hour ].fval = Value_Plus;
CurValueStr[ BCM_RTCDate_Day ].fval = Value_Plus;
CurValueStr[ BCM_RTCDate_Month ].fval = Value_Plus;
CurValueStr[ BCM_RTCDate_Year ].fval = Value_Plus;
CurValueStr[ BCM_MetricMilesSwitchSet ].fval = Value_Plus;
// CurVehSpeed = 0; // CurVehSpeed = 0;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
#include "../App_Headers/includes.h" #include "../App_Headers/includes.h"
#include "../Library/TimeCtrl.h" #include "../Library/TimeCtrl.h"
#define STEP_MAX 34// #define STEP_MAX 11//步数
void All_Lamp_TurnOn(void); void All_Lamp_TurnOn(void);
...@@ -11,25 +11,6 @@ void APP_Test_Init(void){ ...@@ -11,25 +11,6 @@ void APP_Test_Init(void){
Key.CAN_Step = null; Key.CAN_Step = null;
Key.CAN_Step = null; Key.CAN_Step = null;
// CurValueStr[ENUM_BatteryCurrent].val = 0;
//CurValueStr[CoolTemp].val = 0;
//CurValueStr[VehSpeed].val = 0;
//CurValueStr[AD_Blue].val = 0;
// CurValueStr[ENUM_BatteryCurrent].fval = Value_Plus;
//CurValueStr[CoolTemp].fval = Value_Plus;
//CurValueStr[VehSpeed].fval = Value_Plus;
//CurValueStr[AD_Blue].fval = Value_Plus;
//CanMessageID18F00029.Msg[1] = 0x7D;
//LDW Open
//CanMessageID18FE5BE8.Msg[0] |= 0x40;
//FCW Open
// CanMessageID0CF02FA0.Msg[0] |= 0x03;
//AutoLwBm Open
// CanMessageID18FF0B21.Msg[5] |= 0x10;
EOLMode = 1; EOLMode = 1;
EOLStep = 0; EOLStep = 0;
EOLError = 0; EOLError = 0;
...@@ -37,44 +18,78 @@ void APP_Test_Init(void){ ...@@ -37,44 +18,78 @@ void APP_Test_Init(void){
unsigned int count_flag_a =1; unsigned int count_flag_a =1;
unsigned int speed_value = 0; unsigned int speed_value = 0;
void APP_Button_Proc(void){ void APP_Button_Proc(void){
/*if(Key.PushTime_1 > T_3s){ // if(Key.PushTime_1 > T_3s){
Key.StepAuto = 1; // Key.StepAuto = 1;
} // }
if(Key.PushTime_2 > T_3s){ // if(Key.PushTime_2 > T_1s){
Key.StepAuto = 2; // Key.StepAuto = 2;
}*/ // }
// if(Key.PushTime_2 > T_2s){
if((Key.PushTime_2 > T_2s) || (Key.PushTime_1 > T_2s)){ // Key.StepAuto = 1;
Key.StepAuto = 1; // }
} // if((Key.PushTime_2 > T_2s) || (Key.PushTime_1 > T_2s)){
// Key.StepAuto = 1;
// }
if(pSB1 == 1){ // if ((pSB1 == 1) && (pSB2 == 1))
if((Key.PushTime_1 > T_50ms) && (!Key.StepAuto)){ // {
count_flag_a = 1; // if ((Key.PushTime_1 > T_50ms) && (Key.PushTime_2 > T_50ms) && (!Key.StepAuto))
// {
// count_flag_a = 1;
// Key.CAN_Step++; // Key.CAN_Step++;
// if(Key.CAN_Step > STEP_MAX){ // if (Key.CAN_Step > STEP_MAX)
// {
// Key.CAN_Step = 0; // Key.CAN_Step = 0;
// } // }
// Key.PushTime_1 = null;
// Key.PushTime_2 = null;
// }
// else if (Key.StepAuto)
// {
// count_flag_a = 0;
// Key.PushTime_1 = null;
// Key.PushTime_2 = null;
// }
// }
if(pSB2 == 1)//左键手动
{
if ((Key.PushTime_2 > T_50ms) && (!Key.StepAuto))
{
count_flag_a = 0;
Key.CAN_Step++;
if(Key.CAN_Step > STEP_MAX)
{
Key.CAN_Step = 1;
}
}
if ( count_flag_a == 0 )
{
Key.PushTime_2 = null;
} }
Key.PushTime_1 = null;
} }
if(pSB2 == 1){ if (pSB1 == 1) //右键自动
if((Key.PushTime_2 > T_50ms) && (!Key.StepAuto)){ {
if ((Key.PushTime_1 > T_50ms) && (!Key.StepAuto))
{
count_flag_a = 1;
Key.CAN_Step++;
if (Key.CAN_Step > STEP_MAX)
{
Key.CAN_Step = 0;
}
Key.PushTime_1 = null;
}
else if (Key.StepAuto)
{
count_flag_a = 0; count_flag_a = 0;
// if(Key.CAN_Step > 0){ Key.PushTime_1 = null;
// Key.CAN_Step--;
// }else{
// Key.CAN_Step = STEP_MAX;
// }
} }
Key.PushTime_2 = null;
} }
} }
#define TirePressure(value) CurValueStr[ENUM_TirePressure_LF].val = value; CurValueStr[ENUM_TirePressure_RF].val = value; CurValueStr[ENUM_TirePressure_LR].val = value; CurValueStr[ENUM_TirePressure_RR].val = value; #define TirePressure(value) CurValueStr[ENUM_TirePressure_LF].val = value; CurValueStr[ENUM_TirePressure_RF].val = value; CurValueStr[ENUM_TirePressure_LR].val = value; CurValueStr[ENUM_TirePressure_RR].val = value;
#define TireTemp(value) CurValueStr[ENUM_TireTemp_LF ].val = value; CurValueStr[ENUM_TireTemp_RF ].val = value; CurValueStr[ENUM_TireTemp_LR ].val = value; CurValueStr[ENUM_TireTemp_RR ].val = value; #define TireTemp(value) CurValueStr[ENUM_TireTemp_LF ].val = value; CurValueStr[ENUM_TireTemp_RF ].val = value; CurValueStr[ENUM_TireTemp_LR ].val = value; CurValueStr[ENUM_TireTemp_RR ].val = value;
...@@ -83,264 +98,188 @@ unsigned int lost_flag = 0; ...@@ -83,264 +98,188 @@ unsigned int lost_flag = 0;
unsigned int CAN_init_flag = 0; unsigned int CAN_init_flag = 0;
unsigned int CAN_lost_flag = 0; unsigned int CAN_lost_flag = 0;
unsigned int water_value = 0; unsigned int water_value = 0;
unsigned int mileflag = 0;
unsigned int switchon = 0;
unsigned int miletime = 0;
unsigned int canfinish = 0;
unsigned int canover = 0;
unsigned int canover_flag_1 = 0;
unsigned int canover_flag_2 = 0;
// unsigned int miletime = 0;
void APP_ICM_Proc(void) /*zh321*/ /*FS04*/ void APP_ICM_Proc(void) /*zh321*/ /*FS04*/
{ {
//if(count_flag_a==1) //if(count_flag_a==1)
{ {
{ {
CurValueStr[ENUM_VSpeed ].val = 199;// #if 1
CurValueStr[ENUM_RSpeed ].val = 12000;//ת
CurValueStr[ENUM_WaterTemp ].val = 122;//ˮ
CurValueStr[ISG_Ready ].val = 1;
CurValueStr[ISG_Power ].val = 1;
CurValueStr[ISG_Power_Enable ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 1;
#if 0
switch(Key.CAN_Step) switch(Key.CAN_Step)
{ {
case 1: case 1:
{ CurValueStr[ ABS_VehicleSpeed ].val = 0xFFFF;//车速
CurValueStr[ENUM_VSpeed ].val = speed_value;// CurValueStr[ MCU_MotorSpeed ].val = 1130;//车速
CurValueStr[ENUM_RSpeed ].val = 1000;//ת CurValueStr[ BMS1_PACKTotalSOC].val = 5;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ CurValueStr[ BMS2_PACKTotalSOC].val = 5;//电池电量
if(direction_espeed==1) CurValueStr[ MCU_EnergyRecIntensitySet].val = 3;//能量回收
{ CurValueStr[ BMS1_PACKTotalCurrent ].val = 11;
CurValueStr[ISG_Ready ].val = 1; CurValueStr[ BMS1_PACKInTotalVoltage ].val = 100;//功率
CurValueStr[TCS_Warning_Lamp ].val = 0; CurValueStr[ BCM_TurnLeftIndication ].val = 1;//左转
CurValueStr[TCS_Work_Mode ].val = 1; CurValueStr[ MCU_ReadyStatus ].val = 1;//Ready
} CurValueStr[ MCU_GearPosition ].val = 1;
else break;
{
CurValueStr[ISG_Power ].val = 0;
CurValueStr[ISG_Power_Enable ].val = 0;
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 0;
}
}break;
case 2: case 2:
{ CurValueStr[ ABS_VehicleSpeed ].val = 0xFFFF;
CurValueStr[ENUM_VSpeed ].val = speed_value;// CurValueStr[ MCU_MotorSpeed ].val = 1240;//车速
CurValueStr[ENUM_RSpeed ].val = 2000;//ת CurValueStr[ BMS1_PACKTotalSOC].val = 16;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ CurValueStr[ BMS2_PACKTotalSOC].val = 16;//电池
if(direction_espeed==1) CurValueStr[ MCU_EnergyRecIntensitySet].val = 3;//能量回收
{ CurValueStr[ BMS1_PACKInTotalVoltage ].val = 22;
CurValueStr[ISG_Power ].val = 1; CurValueStr[ BMS1_PACKTotalCurrent ].val = 100;//功率
CurValueStr[ISG_Power_Enable ].val = 1; CurValueStr[ BCM_LowBeamIndication ].val = 1;//近光
CurValueStr[TCS_Warning_Lamp ].val = 1; CurValueStr[ BCM_PositionLightIndication ].val = 1;//示廓
CurValueStr[TCS_Work_Mode ].val = 0; CurValueStr[ MCU_OperationMode].val = 1;//ECO
} break;
else
{
CurValueStr[ISG_Power ].val = 1;
CurValueStr[ISG_Power_Enable ].val = 2;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 1;
}
}break;
case 3: case 3:
{ CurValueStr[ ABS_VehicleSpeed ].val = 0xFFFF;
CurValueStr[ENUM_VSpeed ].val = speed_value;// CurValueStr[ MCU_MotorSpeed ].val = 1350;
CurValueStr[ENUM_RSpeed ].val = 3000;//ת CurValueStr[ BMS1_PACKTotalSOC].val = 37;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ CurValueStr[ BMS2_PACKTotalSOC].val = 37;
if(direction_espeed==1) CurValueStr[ MCU_EnergyRecIntensitySet].val = 3;
{ CurValueStr[ BCM_HighBeamIndication].val = 1;
CurValueStr[ISG_Power ].val = 1; CurValueStr[ BCM_TurnRightIndication].val = 1;
CurValueStr[ISG_Power_Enable ].val = 2; CurValueStr[ MCU_OperationMode].val = 2;
CurValueStr[TCS_Warning_Lamp ].val = 0; CurValueStr[ BMS1_PACKTotalCurrent ].val = 33;
CurValueStr[TCS_Work_Mode ].val = 1; CurValueStr[ BMS1_PACKInTotalVoltage ].val = 100;
} break;
else
{
CurValueStr[ISG_Power ].val = 1;
CurValueStr[ISG_Power_Enable ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 0;
}
}break;
case 4:
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 4000;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
CurValueStr[ISG_Power ].val = 0;
CurValueStr[ISG_Power_Enable ].val = 0;
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 0;
} case 4:
else CurValueStr[ ABS_VehicleSpeed ].val = 0xFFFF;
{ CurValueStr[ MCU_MotorSpeed ].val = 1460;
CurValueStr[ISG_Ready ].val = 1; CurValueStr[ BMS1_PACKTotalSOC].val = 88;
CurValueStr[TCS_Warning_Lamp ].val = 0; CurValueStr[ BMS2_PACKTotalSOC].val = 88;
CurValueStr[TCS_Work_Mode ].val = 1; CurValueStr[ MCU_EnergyRecIntensitySet].val = 3;
} CurValueStr[ ABS_Warning_Lamp ].val = 1;
CurValueStr[ MCU_GearPosition ].val = 5;
CurValueStr[ MCU_OperationMode].val = 3;
CurValueStr[ BMS1_PACKTotalCurrent ].val = 44;
CurValueStr[ BMS1_PACKInTotalVoltage ].val = 100;
break;
}break;
case 5: case 5:
{ CurValueStr[ ABS_VehicleSpeed ].val = 0xFFFF;
CurValueStr[ENUM_VSpeed ].val = speed_value;// CurValueStr[ MCU_MotorSpeed ].val = 1570;
CurValueStr[ENUM_RSpeed ].val = 5000; CurValueStr[ BMS1_PACKTotalSOC].val = 100;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ CurValueStr[ BMS2_PACKTotalSOC].val = 100;
if(direction_espeed==1) CurValueStr[ MCU_EnergyRecIntensitySet].val = 0;
{ CurValueStr[ MCU_CruiseState ].val = 1;
CurValueStr[ISG_Ready ].val = 1; CurValueStr[ MCU_GearPosition ].val = 2;
CurValueStr[TCS_Warning_Lamp ].val = 0; CurValueStr[ BMS1_PACKTotalCurrent ].val = 55;
CurValueStr[TCS_Work_Mode ].val = 1; CurValueStr[ BMS1_PACKInTotalVoltage ].val = 100;
} break;
else
{
CurValueStr[ISG_Power ].val = 0;
CurValueStr[ISG_Power_Enable ].val = 0;
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 0;
}
}break;
case 6: case 6:
{ CurValueStr[ ABS_VehicleSpeed ].val = 0xFFFF;
CurValueStr[ENUM_VSpeed ].val = speed_value;// CurValueStr[ MCU_MotorSpeed ].val = 1690;
CurValueStr[ENUM_RSpeed ].val = 6000; CurValueStr[ MCU_LimpingMode ].val = 1;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ CurValueStr[ BMS1_PACKTotalSOC].val = 100;
if(direction_espeed==1) CurValueStr[ BMS2_PACKTotalSOC].val = 100;
{ CurValueStr[ MCU_EnergyRecIntensitySet].val = 1;
CurValueStr[ISG_Power ].val = 1; CurValueStr[ BMS1_PACKTotalCurrent ].val = 66;
CurValueStr[ISG_Power_Enable ].val = 1; CurValueStr[ BMS1_PACKInTotalVoltage ].val = 100;
CurValueStr[TCS_Warning_Lamp ].val = 1; CurValueStr[ MCU_GearPosition ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 0; break;
}
else
{
CurValueStr[ISG_Power ].val = 1;
CurValueStr[ISG_Power_Enable ].val = 2;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 1;
}
}break;
case 7: case 7:
{ CurValueStr[ ABS_VehicleSpeed ].val = 0xFFFF;
CurValueStr[ENUM_VSpeed ].val = speed_value;// CurValueStr[ BMS1_PACKTotalSOC].val = 100;
CurValueStr[ENUM_RSpeed ].val = 7000; CurValueStr[ BMS2_PACKTotalSOC].val = 100;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ CurValueStr[ MCU_EnergyRecIntensitySet].val = 2;//能量回收
if(direction_espeed==1) CurValueStr[ MCU_HighestFaultPrompt ].val = 3;//故障
{ CurValueStr[ MCU_MotorSpeed ].val = 1800;
CurValueStr[ISG_Power ].val = 1; CurValueStr[ BMS1_PACKTotalCurrent ].val = 77;
CurValueStr[ISG_Power_Enable ].val = 2; CurValueStr[ BMS1_PACKInTotalVoltage ].val = 100;
CurValueStr[TCS_Warning_Lamp ].val = 0; break;
CurValueStr[TCS_Work_Mode ].val = 1;
}
else
{
CurValueStr[ISG_Power ].val = 1;
CurValueStr[ISG_Power_Enable ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 0;
}
}break;
case 8: case 8:
{ CurValueStr[ ABS_VehicleSpeed ].val = 0xFFFF;
CurValueStr[ENUM_VSpeed ].val = speed_value;// CurValueStr[ MCU_AutoHoldSta ].val = 1;
CurValueStr[ENUM_RSpeed ].val = 8000; CurValueStr[ BMS1_PACKTotalSOC].val = 100;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ CurValueStr[ BMS2_PACKTotalSOC].val = 100;
if(direction_espeed==1) CurValueStr[ MCU_EnergyRecIntensitySet].val = 3;
{ CurValueStr[ MCU_MotorSpeed ].val = 1910;
CurValueStr[ISG_Power ].val = 0; CurValueStr[ BMS1_PACKTotalCurrent ].val = 88;
CurValueStr[ISG_Power_Enable ].val = 0; CurValueStr[ BMS1_PACKInTotalVoltage ].val = 100;
CurValueStr[TCS_Warning_Lamp ].val = 1; break;
CurValueStr[TCS_Work_Mode ].val = 0;
}
else
{
CurValueStr[ISG_Ready ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 1;
}
}break;
case 9: case 9:
{ CurValueStr[ ABS_VehicleSpeed ].val = 0xFFFF;
CurValueStr[ENUM_VSpeed ].val = speed_value;// CurValueStr[ BMS1_PACKTotalSOC].val = 100;
CurValueStr[ENUM_RSpeed ].val = 9000; CurValueStr[ BMS2_PACKTotalSOC].val = 100;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ CurValueStr[ MCU_EnergyRecIntensitySet].val = 3;
if(direction_espeed==1) CurValueStr[ MCU_MotorSpeed ].val = 2020;
{ CurValueStr[ BMS1_PACKTotalCurrent ].val = 99;
CurValueStr[ISG_Ready ].val = 1; CurValueStr[ BMS1_PACKInTotalVoltage ].val = 100;
CurValueStr[TCS_Warning_Lamp ].val = 0; canover_flag_1 = 0;
CurValueStr[TCS_Work_Mode ].val = 1; break;
}
else
{
CurValueStr[ISG_Power ].val = 0;
CurValueStr[ISG_Power_Enable ].val = 0;
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 0;
}
}break;
case 10: case 10:
CurValueStr[ ABS_VehicleSpeed ].val = 0xFFFF;
CurValueStr[ BMS1_PACKTotalSOC].val = 100;
CurValueStr[ BMS2_PACKTotalSOC].val = 100;
CurValueStr[ MCU_EnergyRecIntensitySet].val = 3;
CurValueStr[ MCU_MotorSpeed ].val = 2060;
CurValueStr[ BMS1_PACKTotalCurrent ].val = 99;
CurValueStr[ BMS1_PACKInTotalVoltage ].val = 100;
CurValueStr[ MCU_HighestFaultPrompt ].val = 3;
if(canover_flag_1 == 0)
{ {
CurValueStr[ENUM_VSpeed ].val = speed_value;// CurValueStr[ BCM_MetricMilesSwitchSet].val = 1;
CurValueStr[ENUM_RSpeed ].val = 10000; canover = 0;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
CurValueStr[ISG_Power ].val = 1;
CurValueStr[ISG_Power_Enable ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 0;
}
else
{
CurValueStr[ISG_Power ].val = 1;
CurValueStr[ISG_Power_Enable ].val = 2;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 1;
} }
}break; canover_flag_2 = 0;
break;
case 11: case 11:
{ canover_flag_1 = 0;
CurValueStr[ENUM_VSpeed ].val = speed_value;// if(canover_flag_2 == 0)
CurValueStr[ENUM_RSpeed ].val = 11000; {
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ CurValueStr[ BCM_MetricMilesSwitchSet].val = 1;
if(direction_espeed==1) canover = 0;
{ }
CurValueStr[ISG_Power ].val = 1; CurValueStr[ ABS_VehicleSpeed ].val = 0xFFFF;
CurValueStr[ISG_Power_Enable ].val = 2; CurValueStr[ MCU_MotorSpeed ].val = 2020;
CurValueStr[TCS_Warning_Lamp ].val = 0; CurValueStr[ ABS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 1; CurValueStr[ BCM_PositionLightIndication].val = 1;
} CurValueStr[ BCM_TurnLeftandRightIndication].val = 1;
else CurValueStr[ BCM_TurnRightIndication].val = 1;
{ CurValueStr[ BCM_TurnLeftIndication].val = 1;
CurValueStr[ISG_Power ].val = 1; CurValueStr[ BCM_LowBeamIndication].val = 1;
CurValueStr[ISG_Power_Enable ].val = 1; CurValueStr[ BCM_HighBeamIndication].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 1; CurValueStr[ TCS_WarningLamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 0; CurValueStr[ TCS_WorkSt ].val = 1;
} CurValueStr[ TCS_Control ].val = 1;
}break; CurValueStr[ MCU_GearPosition ].val = 2;
case 12: CurValueStr[ MCU_ReadyStatus ].val = 1;
{ CurValueStr[ MCU_CruiseSwitchActive ].val = 1;
CurValueStr[ENUM_VSpeed ].val = speed_value;// CurValueStr[ MCU_LimpingMode ].val = 1;
CurValueStr[ENUM_RSpeed ].val = 12000; CurValueStr[ MCU_OperationMode ].val = 3;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ CurValueStr[ MCU_AutoHoldSta ].val = 1;
if(direction_espeed==1) CurValueStr[ MCU_ControllerWorkingState ].val = 1;
{ CurValueStr[ MCU_CruiseState ].val = 1;
CurValueStr[ISG_Power ].val = 0; CurValueStr[ ICU_RemainrvMile ].val = 1;
CurValueStr[ISG_Power_Enable ].val = 0; CurValueStr[ BMS1_PACKTotalSOC].val = 100;
CurValueStr[TCS_Warning_Lamp ].val = 1; CurValueStr[ BMS2_PACKTotalSOC].val = 100;
CurValueStr[TCS_Work_Mode ].val = 0; CurValueStr[ MCU_EnergyRecIntensitySet].val = 2;
} CurValueStr[ MCU_HighestFaultPrompt ].val = 3;
else CurValueStr[ BMS1_PACKTotalCurrent ].val = 40000;
{ CurValueStr[ BMS1_PACKInTotalVoltage ].val = 100;
CurValueStr[ISG_Ready ].val = 1; break;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 1;
}
}break;
} }
#endif #endif
} }
...@@ -442,7 +381,7 @@ void Message_FillDatas(CAN_message *Message, unsigned char StartByte, unsigned c ...@@ -442,7 +381,7 @@ void Message_FillDatas(CAN_message *Message, unsigned char StartByte, unsigned c
} }
INT8U aaa;
void Message_Value_Calculate(s_CAN_List list) void Message_Value_Calculate(s_CAN_List list)
{ {
...@@ -455,6 +394,7 @@ void Message_Value_Calculate(s_CAN_List list) ...@@ -455,6 +394,7 @@ void Message_Value_Calculate(s_CAN_List list)
INT8U Byte_Count; INT8U Byte_Count;
INT8U i; INT8U i;
CanMessage = list.canMsg; CanMessage = list.canMsg;
Start_Byte = list.StartByte; Start_Byte = list.StartByte;
Start_Bit = list.StartBit; Start_Bit = list.StartBit;
...@@ -468,6 +408,14 @@ void Message_Value_Calculate(s_CAN_List list) ...@@ -468,6 +408,14 @@ void Message_Value_Calculate(s_CAN_List list)
CurValue = list.CurValue->val; CurValue = list.CurValue->val;
Value_Flag = list.CurValue->fval; Value_Flag = list.CurValue->fval;
if(CanMessage->ID == 0x81)
{
if(Start_Bit == 0)
{
aaa = 1;
}
}
temp = CurValue; temp = CurValue;
...@@ -495,7 +443,7 @@ void Message_Value_Calculate(s_CAN_List list) ...@@ -495,7 +443,7 @@ void Message_Value_Calculate(s_CAN_List list)
} }
temp = temp * Factor_1 / Factor_2; temp = temp * Factor_1 / Factor_2;
//temp = temp << Start_Bit; // temp = temp << Start_Bit;
Byte_Count = len / 8; Byte_Count = len / 8;
if((len % 8) != 0){ if((len % 8) != 0){
......
...@@ -31,49 +31,142 @@ typedef struct{ ...@@ -31,49 +31,142 @@ typedef struct{
unsigned char SignalLen; unsigned char SignalLen;
unsigned int Offset; unsigned int Offset;
unsigned char fOffset; unsigned char fOffset;
unsigned int Factor_1;/*Denominator of Resolution*/ /*���ȵķ�ĸ*/ unsigned int Factor_1;
unsigned int Factor_2;/*Numerator of Resolution*/ /*���ȵķ���*/ unsigned int Factor_2;
s_CurValue *CurValue; s_CurValue *CurValue;
unsigned char fFormat; unsigned char fFormat;
}s_CAN_List; }s_CAN_List;
enum enum
{ {
ENUM_VSpeed = 0,//���� ABS_VehicleSpeed = 0,
ENUM_RSpeed ,//�??�?? ABS_Warning_Lamp,
ENUM_WaterTemp ,// 温度 BCM_PositionLightIndication,
TCS_Warning_Lamp ,//前轮胎压 BCM_TurnLeftandRightIndication,
TCS_Work_Mode ,//后轮胎压 BCM_TurnRightIndication,
ISG_Ready, BCM_TurnLeftIndication,
ISG_Power, BCM_LowBeamIndication,
ISG_Power_Enable, BCM_HighBeamIndication,
CAN_List_Num , TCS_WarningLamp,
}; TCS_WorkSt,
TCS_Control,
MCU_GearPosition,
MCU_ReadyStatus,
MCU_CruiseSwitchActive,
MCU_LimpingMode,
MCU_EnergyRecIntensitySet,
MCU_OperationMode,
MCU_MotorTemperature,
MCU_AutoHoldSta,
MCU_ControllerWorkingState,
MCU_CruiseState,
MCU_MotorSpeed,
BCM_PowerOnStatus,
BMS1_SOH,
BMS1_PACKTotalSOC,
BMS1_PACKTotalCurrent,
BMS1_PACKInTotalVoltage,
MCU_HighestFaultPrompt,
ICU_RemainrvMile,
ICU_Speed,
BMS2_SOH,
BMS2_PACKTotalSOC,
BMS2_PACKTotalCurrent,
BMS2_PACKInTotalVoltage,
BMS1_HighestFaultPrompt,
BMS2_HighestFaultPrompt,
BMS_ChargerConnectSignal,
BCM_RTCDate_Valid,
BCM_RTCDate_Second,
BCM_RTCDate_Minute,
BCM_RTCDate_Hour,
BCM_RTCDate_Day,
BCM_RTCDate_Month,
BCM_RTCDate_Year,
BCM_MetricMilesSwitchSet,
CAN_List_Num,
};
EXTERN_APP_TEST volatile s_CurValue CurValueStr[CAN_List_Num]; EXTERN_APP_TEST volatile s_CurValue CurValueStr[CAN_List_Num];
static const s_CAN_List CAN_List[] = static const s_CAN_List CAN_List[] =
{ {
{&CanMsg_101, 2, 0, 8, 0, Offset_Plus, 1, 1, &CurValueStr[ENUM_VSpeed ], Motorola},
{&CanMsg_101, 1, 0, 16, 0, Offset_Plus, 100, 25, &CurValueStr[ENUM_RSpeed ], Motorola},
{&CanMsg_101, 5, 0, 16, 273, Offset_Minus, 10, 1, &CurValueStr[ENUM_WaterTemp ], Motorola},
{&CanMsg_37B, 3, 2, 1, 0, Offset_Plus, 1, 1, &CurValueStr[TCS_Warning_Lamp ], Motorola}, {&CanMsg_0xC2, 1, 2, 14, 0, Offset_Plus, 128, 1, &CurValueStr[ ABS_VehicleSpeed ], Motorola},
{&CanMsg_37B, 3, 4, 4, 0, Offset_Plus, 1, 1, &CurValueStr[TCS_Work_Mode ], Motorola}, {&CanMsg_0xC2, 1, 0, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ ABS_Warning_Lamp ], Motorola},
{&CanMsg_111, 4, 1, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ISG_Ready ], Motorola}, {&CanMsg_0xC3, 0, 5, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ BCM_PositionLightIndication], Motorola},
{&CanMsg_111, 4, 2, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ISG_Power ], Motorola}, {&CanMsg_0xC3, 0, 4, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ BCM_TurnLeftandRightIndication], Motorola},
{&CanMsg_111, 4, 4, 2, 0, Offset_Plus, 1, 1, &CurValueStr[ISG_Power_Enable ], Motorola}, {&CanMsg_0xC3, 0, 3, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ BCM_TurnRightIndication], Motorola},
{&CanMsg_0xC3, 0, 2, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ BCM_TurnLeftIndication], Motorola},
{&CanMsg_0xC3, 0, 1, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ BCM_LowBeamIndication], Motorola},
{&CanMsg_0xC3, 0, 0, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ BCM_HighBeamIndication], Motorola},
}; {&CanMsg_0xC1, 5, 3, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ TCS_WarningLamp ], Motorola},
{&CanMsg_0xC1, 5, 1, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ TCS_WorkSt ], Motorola},
{&CanMsg_0xC1, 5, 0, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ TCS_Control ], Motorola},
{&CanMsg_0x81, 0, 5, 3, 0, Offset_Plus, 1, 1, &CurValueStr[ MCU_GearPosition ], Motorola},
{&CanMsg_0x81, 0, 0, 2, 0, Offset_Plus, 1, 1, &CurValueStr[ MCU_ReadyStatus ], Motorola},
{&CanMsg_0x81, 1, 1, 2, 0, Offset_Plus, 1, 1, &CurValueStr[ MCU_CruiseSwitchActive ], Motorola},
{&CanMsg_0x82, 0, 7, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ MCU_LimpingMode ], Motorola},
{&CanMsg_0x82, 0, 2, 2, 0, Offset_Plus, 1, 1, &CurValueStr[ MCU_EnergyRecIntensitySet ], Motorola},
{&CanMsg_0x82, 0, 0, 2, 0, Offset_Plus, 1, 1, &CurValueStr[ MCU_OperationMode ], Motorola},
{&CanMsg_0xB2, 7, 0, 8, 40, Offset_Minus, 1, 1, &CurValueStr[ MCU_MotorTemperature ], Motorola},
{&CanMsg_0xB2, 1, 4, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ MCU_AutoHoldSta ], Motorola},
{&CanMsg_0xB2, 1, 0, 2, 0, Offset_Plus, 1, 1, &CurValueStr[ MCU_ControllerWorkingState ], Motorola},
{&CanMsg_0xB3, 6, 3, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ MCU_CruiseState ], Motorola},
{&CanMsg_0xB3, 1, 0, 16, 10000, Offset_Minus, 1, 1, &CurValueStr[ MCU_MotorSpeed ], Motorola},
{&CanMsg_0x122, 0, 0, 3, 0, Offset_Plus, 1, 1, &CurValueStr[ BCM_PowerOnStatus ], Motorola},
{&CanMsg_0x212, 7, 0, 8, 0, Offset_Plus, 1, 1, &CurValueStr[ BMS1_SOH ], Motorola},
{&CanMsg_0x212, 4, 0, 8, 0, Offset_Plus, 1, 1, &CurValueStr[ BMS1_PACKTotalSOC ], Motorola},
{&CanMsg_0x212, 3, 0, 16, 3000, Offset_Minus, 10, 1, &CurValueStr[ BMS1_PACKTotalCurrent ], Motorola},
{&CanMsg_0x212, 1, 0, 16, 0, Offset_Plus, 10, 1, &CurValueStr[ BMS1_PACKInTotalVoltage ], Motorola},
{&CanMsg_0x217, 7, 6, 2, 0, Offset_Plus, 1, 1, &CurValueStr[ MCU_HighestFaultPrompt ], Motorola},
{&CanMsg_0x218, 6, 0, 10, 0, Offset_Plus, 1, 1, &CurValueStr[ ICU_RemainrvMile ], Motorola},
{&CanMsg_0x218, 0, 0, 8, 0, Offset_Plus, 1, 1, &CurValueStr[ ICU_Speed ], Motorola},
{&CanMsg_0x221, 7, 0, 8, 0, Offset_Plus, 1, 1, &CurValueStr[ BMS2_SOH ], Motorola},
{&CanMsg_0x221, 4, 0, 8, 0, Offset_Plus, 1, 1, &CurValueStr[ BMS2_PACKTotalSOC ], Motorola},
{&CanMsg_0x221, 3, 0, 16, 3000, Offset_Minus, 1, 10, &CurValueStr[ BMS2_PACKTotalCurrent ], Motorola},
{&CanMsg_0x221, 1, 0, 16, 0, Offset_Plus, 1, 10, &CurValueStr[ BMS2_PACKInTotalVoltage ], Motorola},
{&CanMsg_0x310, 7, 6, 2, 0, Offset_Plus, 1, 1, &CurValueStr[ BMS1_HighestFaultPrompt ], Motorola},
{&CanMsg_0x312, 7, 6, 2, 0, Offset_Plus, 1, 1, &CurValueStr[ BMS2_HighestFaultPrompt ], Motorola},
{&CanMsg_0x321, 0, 3, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ BMS_ChargerConnectSignal ], Motorola},
{&CanMsg_0x353, 5, 6, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ BCM_RTCDate_Valid ], Motorola},
{&CanMsg_0x353, 5, 0, 6, 0, Offset_Plus, 1, 1, &CurValueStr[ BCM_RTCDate_Second ], Motorola},
{&CanMsg_0x353, 4, 0, 6, 0, Offset_Plus, 1, 1, &CurValueStr[ BCM_RTCDate_Minute ], Motorola},
{&CanMsg_0x353, 3, 0, 5, 0, Offset_Plus, 1, 1, &CurValueStr[ BCM_RTCDate_Hour ], Motorola},
{&CanMsg_0x353, 2, 0, 5, 0, Offset_Plus, 1, 1, &CurValueStr[ BCM_RTCDate_Day ], Motorola},
{&CanMsg_0x353, 1, 0, 4, 0, Offset_Plus, 1, 1, &CurValueStr[ BCM_RTCDate_Month ], Motorola},
{&CanMsg_0x353, 0, 0, 5, 2015, Offset_Plus, 1, 1, &CurValueStr[ BCM_RTCDate_Year ], Motorola},
{&CanMsg_0x21F, 2, 6, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ BCM_MetricMilesSwitchSet ], Motorola},
};
extern unsigned int switchon;
extern unsigned int miletime;
extern unsigned int lost_flag; extern unsigned int lost_flag;
extern unsigned int mileflag;
extern unsigned int CAN_init_flag; extern unsigned int CAN_init_flag;
extern unsigned int water_value; extern unsigned int water_value;
extern unsigned int count_flag_a; extern unsigned int count_flag_a;
extern unsigned int speed_value; extern unsigned int speed_value;
extern unsigned int canfinish;
extern unsigned int canover;
EXTERN_APP_TEST void APP_Button_Proc(void); EXTERN_APP_TEST void APP_Button_Proc(void);
EXTERN_APP_TEST void Message_Value_Calculate(s_CAN_List list); EXTERN_APP_TEST void Message_Value_Calculate(s_CAN_List list);
......
...@@ -109,16 +109,48 @@ ...@@ -109,16 +109,48 @@
/*zh:*/ /*zh:*/
/*CS08 test*/ /*CS08 test*/
EXTERN_VAR CAN_message CanMessageID0CFF7F03; EXTERN_VAR CAN_message CanMessageID0CFF7F03;
EXTERN_VAR CAN_message CanMsg_101; // EXTERN_VAR CAN_message CanMsg_101;
EXTERN_VAR CAN_message CanMsg_111; // EXTERN_VAR CAN_message CanMsg_111;
EXTERN_VAR CAN_message CanMsg_37B; // EXTERN_VAR CAN_message CanMsg_37B;
EXTERN_VAR CAN_message CanMsg_0xC2;
EXTERN_VAR CAN_message CanMsg_0xC3;
extern CAN_message CanMsg_101; EXTERN_VAR CAN_message CanMsg_0xC1;
extern CAN_message CanMsg_111; EXTERN_VAR CAN_message CanMsg_0x81;
extern CAN_message CanMsg_37B; EXTERN_VAR CAN_message CanMsg_0x82;
EXTERN_VAR CAN_message CanMsg_0xB2;
EXTERN_VAR CAN_message CanMsg_0xB3;
EXTERN_VAR CAN_message CanMsg_0x122;
EXTERN_VAR CAN_message CanMsg_0x212;
EXTERN_VAR CAN_message CanMsg_0x217;
EXTERN_VAR CAN_message CanMsg_0x218;
EXTERN_VAR CAN_message CanMsg_0x221;
EXTERN_VAR CAN_message CanMsg_0x310;
EXTERN_VAR CAN_message CanMsg_0x312;
EXTERN_VAR CAN_message CanMsg_0x321;
EXTERN_VAR CAN_message CanMsg_0x353;
EXTERN_VAR CAN_message CanMsg_0x21F;
// extern CAN_message CanMsg_101;
// extern CAN_message CanMsg_111;
// extern CAN_message CanMsg_37B;
extern CAN_message CanMsg_0xC2;
extern CAN_message CanMsg_0xC3;
extern CAN_message CanMsg_0xC1;
extern CAN_message CanMsg_0x81;
extern CAN_message CanMsg_0x82;
extern CAN_message CanMsg_0xB2;
extern CAN_message CanMsg_0xB3;
extern CAN_message CanMsg_0x122;
extern CAN_message CanMsg_0x212;
extern CAN_message CanMsg_0x217;
extern CAN_message CanMsg_0x218;
extern CAN_message CanMsg_0x221;
extern CAN_message CanMsg_0x310;
extern CAN_message CanMsg_0x312;
extern CAN_message CanMsg_0x321;
extern CAN_message CanMsg_0x353;
extern CAN_message CanMsg_0x21F;
/**/ /**/
/*:zh*/ /*:zh*/
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment