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

feat:EC02更新老化台

parent 0ed24376
......@@ -421,7 +421,7 @@ interrupt void Api_RTC_isr(void)
if(direction_espeed==1)
{
k++;
if(k>12)
if(k>11)
{
direction_espeed = 0;
}
......
......@@ -94,25 +94,94 @@ void Set_CAN_CRC(CAN_message * CanMessage){
*/
void Format_CAN_Msg()
{
CanMsg_101.ID = 0x101;
CanMsg_111.ID = 0x111;
CanMsg_37B.ID = 0x37B;
CanMsg_101.Length = 8;
CanMsg_111.Length = 8;
CanMsg_37B.Length = 8;
CanMsg_101.ID_EN = 1;
CanMsg_111.ID_EN = 1;
CanMsg_37B.ID_EN = 1;
// CanMsg_101.ID = 0x101;
// CanMsg_111.ID = 0x111;
// CanMsg_37B.ID = 0x37B;
CanMsg_0x81.ID = 0x81;
CanMsg_0x82.ID = 0x82;
CanMsg_0xB2.ID = 0xB2;
CanMsg_0xB3.ID = 0xB3;
CanMsg_0xC1.ID = 0xC1;
CanMsg_0xC2.ID = 0xC2;
CanMsg_0xC3.ID = 0xC3;
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){
CanMsg_101.ID_EN = 0;
CanMsg_111.ID_EN = 0;
CanMsg_37B.ID_EN = 0;
// CanMsg_101.ID_EN = 0;
// CanMsg_111.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)
......@@ -129,7 +198,8 @@ void Set_Pin(INT16U pin)
* Return : None
* onther :
--------------------------------------------------------------------------*/
extern int canover_flag_1;
extern int canover_flag_2;
void App_Can_Proc(void)
{
unsigned char i;
......@@ -142,14 +212,20 @@ void App_Can_Proc(void)
if(GetCtrlTime(CANMsgSend_10ms) >= 10){
ClearCtrlTime(CANMsgSend_10ms);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_101);
Clear_CAN_Msg((CAN_message *)&CanMsg_101);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_0x81);
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);
Clear_CAN_Msg((CAN_message *)&CanMsg_111);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_0xB3);
Clear_CAN_Msg((CAN_message *)&CanMsg_0xB3);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_37B);
Clear_CAN_Msg((CAN_message *)&CanMsg_37B);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_0xC1);
Clear_CAN_Msg((CAN_message *)&CanMsg_0xC1);
//bReturn = Api_CANSendFrame((CAN_message *)&CanMessageID18FEDCD5);
//bReturn = Api_CANSendFrame((CAN_message *)&CanMessageID18FEDED5);
......@@ -159,12 +235,18 @@ void App_Can_Proc(void)
if(GetCtrlTime(CANMsgSend_20ms) >= 20){
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){
ClearCtrlTime(CANMsgSend_50ms);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_0x122);
Clear_CAN_Msg((CAN_message *)&CanMsg_0x122);
// bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_341);
......@@ -176,12 +258,50 @@ void App_Can_Proc(void)
if(GetCtrlTime(CANMsgSend_100ms) >= 100){
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){
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)
if(GetCtrlTime(CANMsgSend_1s) >= 1000){
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)
//CurValueStr[ENUM_VSpeed ].val = 0;
CurValueStr[ENUM_RSpeed ].val = 0;
CurValueStr[ENUM_WaterTemp ].val = 0;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 0;
CurValueStr[ISG_Power ].val = 0;
CurValueStr[ISG_Power_Enable ].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[ENUM_RSpeed ].val = 0;
// CurValueStr[ENUM_WaterTemp ].val = 0;
// CurValueStr[TCS_Warning_Lamp ].val = 0;
// CurValueStr[TCS_Work_Mode ].val = 0;
// CurValueStr[ISG_Power ].val = 0;
// CurValueStr[ISG_Power_Enable ].val = 0;
CurValueStr[ ABS_VehicleSpeed ].val = 0;
CurValueStr[ ABS_Warning_Lamp ].val = 0;
CurValueStr[ BCM_PositionLightIndication].val = 0;
CurValueStr[ BCM_TurnLeftandRightIndication].val = 0;
CurValueStr[ BCM_TurnRightIndication].val = 0;
CurValueStr[ BCM_TurnLeftIndication].val = 0;
CurValueStr[ BCM_LowBeamIndication].val = 0;
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;
......
......@@ -2,7 +2,7 @@
#include "../App_Headers/includes.h"
#include "../Library/TimeCtrl.h"
#define STEP_MAX 34//
#define STEP_MAX 11//步数
void All_Lamp_TurnOn(void);
......@@ -11,25 +11,6 @@ void APP_Test_Init(void){
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;
EOLStep = 0;
EOLError = 0;
......@@ -37,44 +18,78 @@ void APP_Test_Init(void){
unsigned int count_flag_a =1;
unsigned int speed_value = 0;
void APP_Button_Proc(void){
/*if(Key.PushTime_1 > T_3s){
Key.StepAuto = 1;
}
if(Key.PushTime_2 > T_3s){
Key.StepAuto = 2;
}*/
if((Key.PushTime_2 > T_2s) || (Key.PushTime_1 > T_2s)){
Key.StepAuto = 1;
}
// if(Key.PushTime_1 > T_3s){
// Key.StepAuto = 1;
// }
// if(Key.PushTime_2 > T_1s){
// Key.StepAuto = 2;
// }
// if(Key.PushTime_2 > T_2s){
// Key.StepAuto = 1;
// }
// if((Key.PushTime_2 > T_2s) || (Key.PushTime_1 > T_2s)){
// Key.StepAuto = 1;
// }
if(pSB1 == 1){
if((Key.PushTime_1 > T_50ms) && (!Key.StepAuto)){
count_flag_a = 1;
// if ((pSB1 == 1) && (pSB2 == 1))
// {
// if ((Key.PushTime_1 > T_50ms) && (Key.PushTime_2 > T_50ms) && (!Key.StepAuto))
// {
// count_flag_a = 1;
// Key.CAN_Step++;
// if(Key.CAN_Step > STEP_MAX){
// if (Key.CAN_Step > STEP_MAX)
// {
// 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((Key.PushTime_2 > T_50ms) && (!Key.StepAuto)){
if (pSB1 == 1) //右键自动
{
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;
// if(Key.CAN_Step > 0){
// Key.CAN_Step--;
// }else{
// Key.CAN_Step = STEP_MAX;
// }
Key.PushTime_1 = null;
}
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 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;
unsigned int CAN_init_flag = 0;
unsigned int CAN_lost_flag = 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*/
{
//if(count_flag_a==1)
{
{
CurValueStr[ENUM_VSpeed ].val = 199;//
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
#if 1
switch(Key.CAN_Step)
{
case 1:
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 1000;//ת
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
CurValueStr[ISG_Ready ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 1;
}
else
{
CurValueStr[ISG_Power ].val = 0;
CurValueStr[ISG_Power_Enable ].val = 0;
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 0;
}
CurValueStr[ ABS_VehicleSpeed ].val = 0xFFFF;//车速
CurValueStr[ MCU_MotorSpeed ].val = 1130;//车速
CurValueStr[ BMS1_PACKTotalSOC].val = 5;
CurValueStr[ BMS2_PACKTotalSOC].val = 5;//电池电量
CurValueStr[ MCU_EnergyRecIntensitySet].val = 3;//能量回收
CurValueStr[ BMS1_PACKTotalCurrent ].val = 11;
CurValueStr[ BMS1_PACKInTotalVoltage ].val = 100;//功率
CurValueStr[ BCM_TurnLeftIndication ].val = 1;//左转
CurValueStr[ MCU_ReadyStatus ].val = 1;//Ready
CurValueStr[ MCU_GearPosition ].val = 1;
break;
}break;
case 2:
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 2000;//ת
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;
}
CurValueStr[ ABS_VehicleSpeed ].val = 0xFFFF;
CurValueStr[ MCU_MotorSpeed ].val = 1240;//车速
CurValueStr[ BMS1_PACKTotalSOC].val = 16;
CurValueStr[ BMS2_PACKTotalSOC].val = 16;//电池
CurValueStr[ MCU_EnergyRecIntensitySet].val = 3;//能量回收
CurValueStr[ BMS1_PACKInTotalVoltage ].val = 22;
CurValueStr[ BMS1_PACKTotalCurrent ].val = 100;//功率
CurValueStr[ BCM_LowBeamIndication ].val = 1;//近光
CurValueStr[ BCM_PositionLightIndication ].val = 1;//示廓
CurValueStr[ MCU_OperationMode].val = 1;//ECO
break;
}break;
case 3:
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 3000;//ת
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
CurValueStr[ISG_Power ].val = 1;
CurValueStr[ISG_Power_Enable ].val = 2;
CurValueStr[TCS_Warning_Lamp ].val = 0;
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 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;
CurValueStr[ ABS_VehicleSpeed ].val = 0xFFFF;
CurValueStr[ MCU_MotorSpeed ].val = 1350;
CurValueStr[ BMS1_PACKTotalSOC].val = 37;
CurValueStr[ BMS2_PACKTotalSOC].val = 37;
CurValueStr[ MCU_EnergyRecIntensitySet].val = 3;
CurValueStr[ BCM_HighBeamIndication].val = 1;
CurValueStr[ BCM_TurnRightIndication].val = 1;
CurValueStr[ MCU_OperationMode].val = 2;
CurValueStr[ BMS1_PACKTotalCurrent ].val = 33;
CurValueStr[ BMS1_PACKInTotalVoltage ].val = 100;
break;
}
else
{
CurValueStr[ISG_Ready ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 1;
}
case 4:
CurValueStr[ ABS_VehicleSpeed ].val = 0xFFFF;
CurValueStr[ MCU_MotorSpeed ].val = 1460;
CurValueStr[ BMS1_PACKTotalSOC].val = 88;
CurValueStr[ BMS2_PACKTotalSOC].val = 88;
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:
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 5000;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
CurValueStr[ISG_Ready ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 1;
}
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;
CurValueStr[ ABS_VehicleSpeed ].val = 0xFFFF;
CurValueStr[ MCU_MotorSpeed ].val = 1570;
CurValueStr[ BMS1_PACKTotalSOC].val = 100;
CurValueStr[ BMS2_PACKTotalSOC].val = 100;
CurValueStr[ MCU_EnergyRecIntensitySet].val = 0;
CurValueStr[ MCU_CruiseState ].val = 1;
CurValueStr[ MCU_GearPosition ].val = 2;
CurValueStr[ BMS1_PACKTotalCurrent ].val = 55;
CurValueStr[ BMS1_PACKInTotalVoltage ].val = 100;
break;
case 6:
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 6000;
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;
CurValueStr[ ABS_VehicleSpeed ].val = 0xFFFF;
CurValueStr[ MCU_MotorSpeed ].val = 1690;
CurValueStr[ MCU_LimpingMode ].val = 1;
CurValueStr[ BMS1_PACKTotalSOC].val = 100;
CurValueStr[ BMS2_PACKTotalSOC].val = 100;
CurValueStr[ MCU_EnergyRecIntensitySet].val = 1;
CurValueStr[ BMS1_PACKTotalCurrent ].val = 66;
CurValueStr[ BMS1_PACKInTotalVoltage ].val = 100;
CurValueStr[ MCU_GearPosition ].val = 1;
break;
case 7:
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 7000;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
CurValueStr[ISG_Power ].val = 1;
CurValueStr[ISG_Power_Enable ].val = 2;
CurValueStr[TCS_Warning_Lamp ].val = 0;
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;
CurValueStr[ ABS_VehicleSpeed ].val = 0xFFFF;
CurValueStr[ BMS1_PACKTotalSOC].val = 100;
CurValueStr[ BMS2_PACKTotalSOC].val = 100;
CurValueStr[ MCU_EnergyRecIntensitySet].val = 2;//能量回收
CurValueStr[ MCU_HighestFaultPrompt ].val = 3;//故障
CurValueStr[ MCU_MotorSpeed ].val = 1800;
CurValueStr[ BMS1_PACKTotalCurrent ].val = 77;
CurValueStr[ BMS1_PACKInTotalVoltage ].val = 100;
break;
case 8:
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 8000;
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;
}
else
{
CurValueStr[ISG_Ready ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 1;
}
CurValueStr[ ABS_VehicleSpeed ].val = 0xFFFF;
CurValueStr[ MCU_AutoHoldSta ].val = 1;
CurValueStr[ BMS1_PACKTotalSOC].val = 100;
CurValueStr[ BMS2_PACKTotalSOC].val = 100;
CurValueStr[ MCU_EnergyRecIntensitySet].val = 3;
CurValueStr[ MCU_MotorSpeed ].val = 1910;
CurValueStr[ BMS1_PACKTotalCurrent ].val = 88;
CurValueStr[ BMS1_PACKInTotalVoltage ].val = 100;
break;
}break;
case 9:
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 9000;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
CurValueStr[ISG_Ready ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 1;
}
else
{
CurValueStr[ISG_Power ].val = 0;
CurValueStr[ISG_Power_Enable ].val = 0;
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 0;
}
CurValueStr[ ABS_VehicleSpeed ].val = 0xFFFF;
CurValueStr[ BMS1_PACKTotalSOC].val = 100;
CurValueStr[ BMS2_PACKTotalSOC].val = 100;
CurValueStr[ MCU_EnergyRecIntensitySet].val = 3;
CurValueStr[ MCU_MotorSpeed ].val = 2020;
CurValueStr[ BMS1_PACKTotalCurrent ].val = 99;
CurValueStr[ BMS1_PACKInTotalVoltage ].val = 100;
canover_flag_1 = 0;
break;
}break;
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[ENUM_RSpeed ].val = 10000;
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;
CurValueStr[ BCM_MetricMilesSwitchSet].val = 1;
canover = 0;
}
}break;
canover_flag_2 = 0;
break;
case 11:
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 11000;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
CurValueStr[ISG_Power ].val = 1;
CurValueStr[ISG_Power_Enable ].val = 2;
CurValueStr[TCS_Warning_Lamp ].val = 0;
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 12:
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 12000;
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;
}
else
{
CurValueStr[ISG_Ready ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 1;
}
}break;
canover_flag_1 = 0;
if(canover_flag_2 == 0)
{
CurValueStr[ BCM_MetricMilesSwitchSet].val = 1;
canover = 0;
}
CurValueStr[ ABS_VehicleSpeed ].val = 0xFFFF;
CurValueStr[ MCU_MotorSpeed ].val = 2020;
CurValueStr[ ABS_Warning_Lamp ].val = 1;
CurValueStr[ BCM_PositionLightIndication].val = 1;
CurValueStr[ BCM_TurnLeftandRightIndication].val = 1;
CurValueStr[ BCM_TurnRightIndication].val = 1;
CurValueStr[ BCM_TurnLeftIndication].val = 1;
CurValueStr[ BCM_LowBeamIndication].val = 1;
CurValueStr[ BCM_HighBeamIndication].val = 1;
CurValueStr[ TCS_WarningLamp ].val = 1;
CurValueStr[ TCS_WorkSt ].val = 1;
CurValueStr[ TCS_Control ].val = 1;
CurValueStr[ MCU_GearPosition ].val = 2;
CurValueStr[ MCU_ReadyStatus ].val = 1;
CurValueStr[ MCU_CruiseSwitchActive ].val = 1;
CurValueStr[ MCU_LimpingMode ].val = 1;
CurValueStr[ MCU_OperationMode ].val = 3;
CurValueStr[ MCU_AutoHoldSta ].val = 1;
CurValueStr[ MCU_ControllerWorkingState ].val = 1;
CurValueStr[ MCU_CruiseState ].val = 1;
CurValueStr[ ICU_RemainrvMile ].val = 1;
CurValueStr[ BMS1_PACKTotalSOC].val = 100;
CurValueStr[ BMS2_PACKTotalSOC].val = 100;
CurValueStr[ MCU_EnergyRecIntensitySet].val = 2;
CurValueStr[ MCU_HighestFaultPrompt ].val = 3;
CurValueStr[ BMS1_PACKTotalCurrent ].val = 40000;
CurValueStr[ BMS1_PACKInTotalVoltage ].val = 100;
break;
}
#endif
}
......@@ -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)
{
......@@ -455,6 +394,7 @@ void Message_Value_Calculate(s_CAN_List list)
INT8U Byte_Count;
INT8U i;
CanMessage = list.canMsg;
Start_Byte = list.StartByte;
Start_Bit = list.StartBit;
......@@ -468,6 +408,14 @@ void Message_Value_Calculate(s_CAN_List list)
CurValue = list.CurValue->val;
Value_Flag = list.CurValue->fval;
if(CanMessage->ID == 0x81)
{
if(Start_Bit == 0)
{
aaa = 1;
}
}
temp = CurValue;
......@@ -495,7 +443,7 @@ void Message_Value_Calculate(s_CAN_List list)
}
temp = temp * Factor_1 / Factor_2;
//temp = temp << Start_Bit;
// temp = temp << Start_Bit;
Byte_Count = len / 8;
if((len % 8) != 0){
......
......@@ -31,49 +31,142 @@ typedef struct{
unsigned char SignalLen;
unsigned int Offset;
unsigned char fOffset;
unsigned int Factor_1;/*Denominator of Resolution*/ /*���ȵķ�ĸ*/
unsigned int Factor_2;/*Numerator of Resolution*/ /*���ȵķ���*/
unsigned int Factor_1;
unsigned int Factor_2;
s_CurValue *CurValue;
unsigned char fFormat;
}s_CAN_List;
enum
{
ENUM_VSpeed = 0,//����
ENUM_RSpeed ,//�??�??
ENUM_WaterTemp ,// 温度
TCS_Warning_Lamp ,//前轮胎压
TCS_Work_Mode ,//后轮胎压
ISG_Ready,
ISG_Power,
ISG_Power_Enable,
CAN_List_Num ,
};
ABS_VehicleSpeed = 0,
ABS_Warning_Lamp,
BCM_PositionLightIndication,
BCM_TurnLeftandRightIndication,
BCM_TurnRightIndication,
BCM_TurnLeftIndication,
BCM_LowBeamIndication,
BCM_HighBeamIndication,
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];
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_37B, 3, 4, 4, 0, Offset_Plus, 1, 1, &CurValueStr[TCS_Work_Mode ], Motorola},
{&CanMsg_0xC2, 1, 2, 14, 0, Offset_Plus, 128, 1, &CurValueStr[ ABS_VehicleSpeed ], 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_111, 4, 2, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ISG_Power ], Motorola},
{&CanMsg_111, 4, 4, 2, 0, Offset_Plus, 1, 1, &CurValueStr[ISG_Power_Enable ], Motorola},
{&CanMsg_0xC3, 0, 5, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ BCM_PositionLightIndication], Motorola},
{&CanMsg_0xC3, 0, 4, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ BCM_TurnLeftandRightIndication], 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 mileflag;
extern unsigned int CAN_init_flag;
extern unsigned int water_value;
extern unsigned int count_flag_a;
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 Message_Value_Calculate(s_CAN_List list);
......
......@@ -109,16 +109,48 @@
/*zh:*/
/*CS08 test*/
EXTERN_VAR CAN_message CanMessageID0CFF7F03;
EXTERN_VAR CAN_message CanMsg_101;
EXTERN_VAR CAN_message CanMsg_111;
EXTERN_VAR CAN_message CanMsg_37B;
extern CAN_message CanMsg_101;
extern CAN_message CanMsg_111;
extern CAN_message CanMsg_37B;
// EXTERN_VAR CAN_message CanMsg_101;
// EXTERN_VAR CAN_message CanMsg_111;
// EXTERN_VAR CAN_message CanMsg_37B;
EXTERN_VAR CAN_message CanMsg_0xC2;
EXTERN_VAR CAN_message CanMsg_0xC3;
EXTERN_VAR CAN_message CanMsg_0xC1;
EXTERN_VAR CAN_message CanMsg_0x81;
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*/
......
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