Commit aff013f0 authored by 王佳伟's avatar 王佳伟

feat:291 MOTOR版本

parent cd38ea54
...@@ -371,7 +371,7 @@ INT16U time_3s = 0; ...@@ -371,7 +371,7 @@ INT16U time_3s = 0;
Key.PushTime_2++; Key.PushTime_2++;
} }
if(RT_10ms >= 10){ if(RT_10ms >= 10){
if(Key.CAN_Step>11||Key.CAN_Step<1) if(Key.CAN_Step>12||Key.CAN_Step<1)
{ {
Key.CAN_Step = 1; Key.CAN_Step = 1;
} }
......
...@@ -94,45 +94,31 @@ void Set_CAN_CRC(CAN_message * CanMessage){ ...@@ -94,45 +94,31 @@ void Set_CAN_CRC(CAN_message * CanMessage){
*/ */
void Format_CAN_Msg() void Format_CAN_Msg()
{ {
CanMsg_101.ID = 0x101; CanMsg_101.ID = 0x101;
CanMsg_067.ID = 0x67; CanMsg_067.ID = 0x67;
CanMsg_1023FFA7.ID = 0x1023FFA7; CanMsg_600.ID = 0x600;
CanMsg_1023FFA8.ID = 0x1023FFA8; CanMsg_611.ID = 0x611;
CanMsg_1020FFA7.ID = 0x1020FFA7; CanMsg_610.ID = 0x610;
CanMsg_1020FFA8.ID = 0x1020FFA8; CanMsg_101.Length = 8;
CanMsg_1028FFA7.ID = 0x1028FFA7; CanMsg_067.Length = 8;
CanMsg_1028FFA8.ID = 0x1028FFA8; CanMsg_600.Length = 8;
CanMsg_611.Length = 8;
CanMsg_101.Length = 8; CanMsg_610.Length = 8;
CanMsg_067.Length = 8; CanMsg_101.ID_EN = 1;
CanMsg_1023FFA7.Length = 8; CanMsg_067.ID_EN = 1;
CanMsg_1023FFA8.Length = 8; CanMsg_600.ID_EN = 1;
CanMsg_1020FFA7.Length = 8; CanMsg_611.ID_EN = 1;
CanMsg_1020FFA8.Length = 8; CanMsg_610.ID_EN = 1;
CanMsg_1028FFA7.Length = 8;
CanMsg_1028FFA8.Length = 8;
CanMsg_101.ID_EN = 1;
CanMsg_067.ID_EN = 1;
CanMsg_1023FFA7.ID_EN = 1;
CanMsg_1023FFA8.ID_EN = 1;
CanMsg_1020FFA7.ID_EN = 1;
CanMsg_1020FFA8.ID_EN = 1;
CanMsg_1028FFA7.ID_EN = 1;
CanMsg_1028FFA8.ID_EN = 1;
} }
void Disable_CAN_Tx(void) void Disable_CAN_Tx(void)
{ {
CanMsg_101.ID_EN = 0; CanMsg_101.ID_EN = 0;
CanMsg_067.ID_EN = 0; CanMsg_067.ID_EN = 0;
CanMsg_1023FFA7.ID_EN = 0; CanMsg_600.ID_EN = 0;
CanMsg_1023FFA8.ID_EN = 0; CanMsg_611.ID_EN = 0;
CanMsg_1020FFA7.ID_EN = 0; CanMsg_610.ID_EN = 0;
CanMsg_1020FFA8.ID_EN = 0; }
CanMsg_1028FFA7.ID_EN = 0;
CanMsg_1028FFA8.ID_EN = 0;
}
void Set_Pin(INT16U pin) void Set_Pin(INT16U pin)
{ {
...@@ -168,7 +154,9 @@ void App_Can_Proc(void) ...@@ -168,7 +154,9 @@ void App_Can_Proc(void)
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_101); bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_101);
Clear_CAN_Msg((CAN_message *)&CanMsg_101); Clear_CAN_Msg((CAN_message *)&CanMsg_101);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_067); bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_067);
Clear_CAN_Msg((CAN_message *)&CanMsg_067); Clear_CAN_Msg((CAN_message *)&CanMsg_067);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_610);
Clear_CAN_Msg((CAN_message *)&CanMsg_610);
} }
if(GetCtrlTime(CANMsgSend_50ms) >= 50){ if(GetCtrlTime(CANMsgSend_50ms) >= 50){
...@@ -176,11 +164,9 @@ void App_Can_Proc(void) ...@@ -176,11 +164,9 @@ 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_1020FFA7); bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_600);
Clear_CAN_Msg((CAN_message *)&CanMsg_1020FFA7); Clear_CAN_Msg((CAN_message *)&CanMsg_600);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_1020FFA8);
Clear_CAN_Msg((CAN_message *)&CanMsg_1020FFA8);
} }
if(GetCtrlTime(CANMsgSend_200ms) >= 200){ if(GetCtrlTime(CANMsgSend_200ms) >= 200){
...@@ -190,15 +176,9 @@ void App_Can_Proc(void) ...@@ -190,15 +176,9 @@ void App_Can_Proc(void)
if(GetCtrlTime(CANMsgSend_500ms) >= 500){ if(GetCtrlTime(CANMsgSend_500ms) >= 500){
flash_1Hz_process(); flash_1Hz_process();
ClearCtrlTime(CANMsgSend_500ms); bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_611);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_1023FFA7); Clear_CAN_Msg((CAN_message *)&CanMsg_611);
Clear_CAN_Msg((CAN_message *)&CanMsg_1023FFA7); ClearCtrlTime(CANMsgSend_500ms);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_1023FFA8);
Clear_CAN_Msg((CAN_message *)&CanMsg_1023FFA8);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_1028FFA7);
Clear_CAN_Msg((CAN_message *)&CanMsg_1028FFA7);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_1028FFA8);
Clear_CAN_Msg((CAN_message *)&CanMsg_1028FFA8);
} }
if(GetCtrlTime(CANMsgSend_1s) >= 1000){ if(GetCtrlTime(CANMsgSend_1s) >= 1000){
...@@ -222,38 +202,41 @@ void App_Can_Proc(void) ...@@ -222,38 +202,41 @@ void App_Can_Proc(void)
//CurValueStr[ENUM_VSpeed ].val = 0; //CurValueStr[ENUM_VSpeed ].val = 0;
CurValueStr[ENUM_VSpeed ].val = 0; CurValueStr[ENUM_VSpeed ].val = 0;
CurValueStr[GEAR ].val = 0; CurValueStr[ECM_FaultIndicator ].val = 0;
CurValueStr[ENUM_EleDial1 ].val = 0; CurValueStr[ECM_StautsInvalid ].val = 0;
CurValueStr[ENUM_EleDial2 ].val = 0; CurValueStr[ECM_MotorOver ].val = 0;
CurValueStr[ENUM_Current1 ].val = 0; CurValueStr[ECM_ReadyIndicator ].val = 0;
CurValueStr[ENUM_Current2 ].val = 0; CurValueStr[ECM_ChargeStatus ].val = 0;
CurValueStr[Motor_error ].val = 0; CurValueStr[ECM_CruiseStatus ].val = 0;
CurValueStr[Battery_error ].val = 0; CurValueStr[ECM_GearPositionStatus ].val = 0;
CurValueStr[Charge_status ].val = 0; CurValueStr[PFC_Relag ].val = 0;
CurValueStr[Cruise_control ].val = 0; CurValueStr[LLC_UnderOutput ].val = 0;
CurValueStr[Ready ].val = 0; CurValueStr[LLC_OverOutput ].val = 0;
CurValueStr[ECM_MotorOverTempFaul ].val = 0; CurValueStr[LLC_OutPut ].val = 0;
CurValueStr[BMS_ChargeUnderVoltageInd1].val = 0; CurValueStr[PFC_LLC_Interal_Communication].val = 0;
CurValueStr[BMS_ChargeUnderVoltageInd2].val = 0; CurValueStr[LLC_Temp ].val = 0;
CurValueStr[BMS_BattryInsulationFault].val = 0; CurValueStr[Battery_status ].val = 0;
CurValueStr[Battery_Current ].val = 0;
CurValueStr[Battery_SOC ].val = 0;
CurValueStr[ENUM_VSpeed ].fval = Value_Plus;
CurValueStr[GEAR ].fval = Value_Plus; CurValueStr[ENUM_VSpeed ].fval = Value_Plus;
CurValueStr[ENUM_EleDial1 ].fval = Value_Plus; CurValueStr[ECM_FaultIndicator ].fval = Value_Plus;
CurValueStr[ENUM_EleDial2 ].fval = Value_Plus; CurValueStr[ECM_StautsInvalid ].fval = Value_Plus;
CurValueStr[ENUM_Current1 ].fval = Value_Plus; CurValueStr[ECM_MotorOver ].fval = Value_Plus;
CurValueStr[ENUM_Current2 ].fval = Value_Plus; CurValueStr[ECM_ReadyIndicator ].fval = Value_Plus;
CurValueStr[Motor_error ].fval = Value_Plus; CurValueStr[ECM_ChargeStatus ].fval = Value_Plus;
CurValueStr[Battery_error ].fval = Value_Plus; CurValueStr[ECM_CruiseStatus ].fval = Value_Plus;
CurValueStr[Charge_status ].fval = Value_Plus; CurValueStr[ECM_GearPositionStatus ].fval = Value_Plus;
CurValueStr[Cruise_control ].fval = Value_Plus; CurValueStr[PFC_Relag ].fval = Value_Plus;
CurValueStr[Ready ].fval = Value_Plus; CurValueStr[LLC_UnderOutput ].fval = Value_Plus;
CurValueStr[ECM_MotorOverTempFaul ].fval = Value_Plus; CurValueStr[LLC_OverOutput ].fval = Value_Plus;
CurValueStr[BMS_ChargeUnderVoltageInd1].fval = Value_Plus; CurValueStr[LLC_OutPut ].fval = Value_Plus;
CurValueStr[BMS_ChargeUnderVoltageInd2].fval = Value_Plus; CurValueStr[PFC_LLC_Interal_Communication].fval = Value_Plus;
CurValueStr[BMS_BattryInsulationFault].fval = Value_Plus; CurValueStr[LLC_Temp ].fval = Value_Plus;
CurValueStr[Battery_status ].fval = Value_Plus;
CurValueStr[Battery_Current ].fval = Value_Plus;
CurValueStr[Battery_SOC ].fval = Value_Plus;
// CurVehSpeed = 0; // CurVehSpeed = 0;
//LDW Open //LDW Open
......
This diff is collapsed.
#ifdef GLOBALS_APP_TEST #ifdef GLOBALS_APP_TEST
#define EXTERN_APP_TEST #define EXTERN_APP_TEST
#else #else
#define EXTERN_APP_TEST extern #define EXTERN_APP_TEST extern
#endif #endif
#ifndef APP_TEDT_H_ #ifndef APP_TEDT_H_
#define APP_TEDT_H_ #define APP_TEDT_H_
#define Motorola 0 #define Motorola 0
#define Intel 1 #define Intel 1
#define Offset_Minus 0 #define Offset_Minus 0
#define Offset_Plus 1 #define Offset_Plus 1
#define Value_Minus 0 #define Value_Minus 0
#define Value_Plus 1 #define Value_Plus 1
typedef struct{ typedef struct
{
int val; int val;
unsigned char fval; unsigned char fval;
}s_CurValue; } s_CurValue;
typedef struct{ typedef struct
{
CAN_message *canMsg; CAN_message *canMsg;
unsigned char StartByte; unsigned char StartByte;
unsigned char StartBit; unsigned char StartBit;
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; /*Denominator of Resolution*/ /*���ȵķ�ĸ*/
unsigned int Factor_2;/*Numerator of Resolution*/ /*���ȵķ���*/ unsigned int Factor_2; /*Numerator of Resolution*/ /*���ȵķ���*/
s_CurValue *CurValue; s_CurValue *CurValue;
unsigned char fFormat; unsigned char fFormat;
}s_CAN_List; } s_CAN_List;
enum enum
{ {
ENUM_VSpeed = 0,//���� ENUM_VSpeed = 0, // ����
GEAR, ECM_FaultIndicator,
ENUM_EleDial1, ECM_StautsInvalid,
ENUM_EleDial2, ECM_MotorOver,
ENUM_Current1, ECM_ReadyIndicator,
ENUM_Current2, ECM_ChargeStatus,
Motor_error, ECM_CruiseStatus,
Battery_error, ECM_GearPositionStatus,
Charge_status, PFC_Relag,
Cruise_control, LLC_UnderOutput,
Ready, LLC_OverOutput,
ECM_MotorOverTempFaul,//103 LLC_OutPut,
BMS_ChargeUnderVoltageInd1,//200 PFC_LLC_Interal_Communication,
BMS_ChargeUnderVoltageInd2,//200 LLC_Temp,
BMS_BattryInsulationFault,//205 Battery_status,
Battery_Current,
Battery_SOC,
CAN_List_Num, 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, 1, 0, 16, 0, Offset_Plus, 1, 1, &CurValueStr[ENUM_VSpeed ], Intel}, {&CanMsg_101, 2, 0, 16,0,Offset_Plus, 1, 1, &CurValueStr[ENUM_VSpeed ], Motorola},
{&CanMsg_067, 5, 0, 3, 0, Offset_Plus, 1, 1, &CurValueStr[GEAR ], Intel}, {&CanMsg_067, 2, 0, 16, 0,Offset_Plus, 1, 1, &CurValueStr[ECM_FaultIndicator ], Motorola},
{&CanMsg_067, 1, 0, 16, 0, Offset_Plus, 1, 1, &CurValueStr[Motor_error ], Intel}, {&CanMsg_067, 3, 0, 2, 0, Offset_Plus, 1, 1, &CurValueStr[ECM_StautsInvalid ], Motorola},
{&CanMsg_067, 3, 6, 1, 0, Offset_Plus, 1, 1, &CurValueStr[Charge_status ], Intel}, {&CanMsg_067, 3, 2, 2, 0, Offset_Plus, 1, 1, &CurValueStr[ECM_MotorOver ], Motorola},
{&CanMsg_067, 4, 2, 1, 0, Offset_Plus, 1, 1, &CurValueStr[Cruise_control ], Intel}, {&CanMsg_067, 3, 4, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ECM_ReadyIndicator ], Motorola},
{&CanMsg_067, 3, 4, 1, 0, Offset_Plus, 1, 1, &CurValueStr[Ready ], Intel}, {&CanMsg_067, 3, 6, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ECM_ChargeStatus ], Motorola},
{&CanMsg_067, 3, 2, 2, 0, Offset_Plus, 1, 1, &CurValueStr[ECM_MotorOverTempFaul], Intel}, {&CanMsg_067, 4, 2, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ECM_CruiseStatus ], Motorola},
{&CanMsg_067, 5, 0, 3, 0, Offset_Plus, 1, 1, &CurValueStr[ECM_GearPositionStatus ], Motorola},
{&CanMsg_600, 0, 0, 1, 0, Offset_Plus, 1, 1, &CurValueStr[PFC_Relag ], Motorola},
{&CanMsg_600, 0, 1, 1, 0, Offset_Plus, 1, 1, &CurValueStr[LLC_UnderOutput ], Motorola},
{&CanMsg_1023FFA7, 0, 0, 16, 0, Offset_Plus, 10, 1, &CurValueStr[ENUM_EleDial1], Intel}, {&CanMsg_600, 0, 2, 1, 0, Offset_Plus, 1, 1, &CurValueStr[LLC_OverOutput ], Motorola},
{&CanMsg_1023FFA8, 0, 0, 16, 0, Offset_Plus, 10, 1, &CurValueStr[ENUM_EleDial2], Intel}, {&CanMsg_600, 0, 3, 1, 0, Offset_Plus, 1, 1, &CurValueStr[LLC_OutPut ], Motorola},
{&CanMsg_1020FFA7, 2, 0, 16, 500, Offset_Minus, 10, 1, &CurValueStr[ENUM_Current1], Intel}, {&CanMsg_600, 0, 4, 1, 0, Offset_Plus, 1, 1, &CurValueStr[PFC_LLC_Interal_Communication ], Motorola},
{&CanMsg_1020FFA8, 2, 0, 16, 500, Offset_Minus, 10, 1, &CurValueStr[ENUM_Current2], Intel}, {&CanMsg_600, 0, 5, 1, 0, Offset_Plus, 1, 1, &CurValueStr[LLC_Temp ], Motorola},
{&CanMsg_1028FFA7, 0, 0, 2, 0, Offset_Plus, 1, 1, &CurValueStr[Battery_error], Intel}, {&CanMsg_610, 0, 0, 8, 0, Offset_Plus, 1, 1, &CurValueStr[Battery_status ], Motorola},
{&CanMsg_1028FFA7, 3, 2, 2, 0, Offset_Plus, 1, 1, &CurValueStr[BMS_BattryInsulationFault], Intel}, {&CanMsg_610,2,0, 16,255,Offset_Minus, 10, 1, &CurValueStr[Battery_Current ], Motorola},
{&CanMsg_1028FFA7, 0, 6, 2, 0, Offset_Plus, 1, 1, &CurValueStr[BMS_ChargeUnderVoltageInd1], Intel}, {&CanMsg_611, 0, 0, 8, 0, Offset_Plus, 1, 1, &CurValueStr[Battery_SOC ], Motorola},
{&CanMsg_1028FFA8, 0, 6, 2, 0, Offset_Plus, 1, 1, &CurValueStr[BMS_ChargeUnderVoltageInd2], Intel},
}; };
extern unsigned int Key_Dodging_flag; extern unsigned int Key_Dodging_flag;
extern unsigned int lost_flag; extern unsigned int lost_flag;
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_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);
void Bits_Operation(CAN_message *Message, unsigned char StartByte, unsigned char StartBit, unsigned char Length, unsigned char Value); /*Do not span bytes*/
void Bits_Operation(CAN_message *Message, unsigned char StartByte, unsigned char StartBit, unsigned char Length, unsigned char Value); /*Do not span bytes*/
#endif /* API_CAN_H_ */ #endif /* API_CAN_H_ */
...@@ -110,23 +110,15 @@ ...@@ -110,23 +110,15 @@
/*CS08 test*/ /*CS08 test*/
EXTERN_VAR CAN_message CanMsg_101; EXTERN_VAR CAN_message CanMsg_101;
EXTERN_VAR CAN_message CanMsg_067; EXTERN_VAR CAN_message CanMsg_067;
EXTERN_VAR CAN_message CanMsg_1023FFA7; EXTERN_VAR CAN_message CanMsg_600;
EXTERN_VAR CAN_message CanMsg_1023FFA8; EXTERN_VAR CAN_message CanMsg_611;
EXTERN_VAR CAN_message CanMsg_1020FFA7; EXTERN_VAR CAN_message CanMsg_610;
EXTERN_VAR CAN_message CanMsg_1020FFA8;
EXTERN_VAR CAN_message CanMsg_1028FFA7;
EXTERN_VAR CAN_message CanMsg_1028FFA8;
extern CAN_message CanMsg_101; extern CAN_message CanMsg_101;
extern CAN_message CanMsg_067; extern CAN_message CanMsg_067;
extern CAN_message CanMsg_1023FFA7; extern CAN_message CanMsg_600;
extern CAN_message CanMsg_1023FFA8; extern CAN_message CanMsg_611;
extern CAN_message CanMsg_1020FFA7; extern CAN_message CanMsg_610;
extern CAN_message CanMsg_1020FFA8;
extern CAN_message CanMsg_1028FFA7;
extern CAN_message CanMsg_1028FFA8;
/**/ /**/
/*:zh*/ /*:zh*/
......
...@@ -10,7 +10,7 @@ Target=TBDML ...@@ -10,7 +10,7 @@ Target=TBDML
Layout=C_layout.hwl Layout=C_layout.hwl
LoadDialogOptions=AUTOERASEANDFLASH RUNANDSTOPAFTERLOAD="main" LoadDialogOptions=AUTOERASEANDFLASH RUNANDSTOPAFTERLOAD="main"
CPU=HC12 CPU=HC12
MainFrame=0,1,-1,-1,-1,-1,412,144,1341,862 MainFrame=0,1,-32000,-32000,-1,-1,412,144,1341,862
TOOLBAR=57600 57601 32795 0 57635 57634 57637 0 57671 57669 0 32777 32776 32782 32780 32781 32778 0 32806 TOOLBAR=57600 57601 32795 0 57635 57634 57637 0 57671 57669 0 32777 32776 32782 32780 32781 32778 0 32806
AEFWarningDialog=FALSE AEFWarningDialog=FALSE
Configuration=TBDML.hwc Configuration=TBDML.hwc
...@@ -69,8 +69,8 @@ File0=E:\ ...@@ -69,8 +69,8 @@ File0=E:\
File1=E:\일뺏憩\긍陋匡숭\750va_Can_AllLight.s19 File1=E:\일뺏憩\긍陋匡숭\750va_Can_AllLight.s19
File2=E:\일뺏憩\750va일뺏憩\Project.abs.s19 File2=E:\일뺏憩\750va일뺏憩\Project.abs.s19
File3=D:\GIT\일뺏憩\列떴쇱꿎憩\Test_Bench\bin\Project.abs.s19 File3=D:\GIT\일뺏憩\列떴쇱꿎憩\Test_Bench\bin\Project.abs.s19
LoadFlags0=AUTOERASEANDFLASH RUNANDSTOPAFTERLOAD="main" LoadFlags0=AUTOERASEANDFLASH RUNANDSTOPAFTERLOAD="main"
LoadFlags1=AUTOERASEANDFLASH RUNANDSTOPAFTERLOAD="main" LoadFlags1=AUTOERASEANDFLASH RUNANDSTOPAFTERLOAD="main"
LoadFlags2=AUTOERASEANDFLASH RUNANDSTOPAFTERLOAD="main" LoadFlags2=AUTOERASEANDFLASH RUNANDSTOPAFTERLOAD="main"
LoadFlags3=CODEONLY AUTOERASEANDFLASH RUNANDSTOPAFTERLOAD="main" LoadFlags3=CODEONLY AUTOERASEANDFLASH RUNANDSTOPAFTERLOAD="main"
......
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