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

feat:291 MOTOR版本

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