Commit 305e954a authored by 陈家乐's avatar 陈家乐

🎉 init:润通草地车老化台

parent 519d8cf2
......@@ -28,7 +28,7 @@ void Api_CAN_Init(void)
CANBTR1_TSEG_20 = Seg2_2Tq;
CANBTR0_SJW = SJW_1Tq; //重新同步
CANBTR1_SAMP = SAMP_1;
CANBTR0_BRP = 0x00; //0 500K 1 250K
CANBTR0_BRP = 0x01; //0 500K 1 250K
CANIDAC_IDAM = IDAM_2_32Bit;
......
......@@ -99,19 +99,25 @@ void Format_CAN_Msg()
CanMsg_37B.ID = 0x37B;
CanMsg_12B.ID = 0x12B;
CanMsg_402.ID = 0x402;
CanMsg_18202922.ID = 0x18202922;
CanMsg_125.ID = 0x125;
CanMsg_101.Length = 8;
CanMsg_111.Length = 8;
CanMsg_37B.Length = 8;
CanMsg_12B.Length = 8;
CanMsg_402.Length = 8;
CanMsg_18202922.Length = 8;
CanMsg_125.Length = 8;
CanMsg_101.ID_EN = 1;
CanMsg_111.ID_EN = 1;
CanMsg_37B.ID_EN = 1;
CanMsg_12B.ID_EN = 1;
CanMsg_402.ID_EN = 1;
CanMsg_18202922.ID_EN = 1;
CanMsg_125.ID_EN = 1;
}
void Disable_CAN_Tx(void){
......@@ -148,22 +154,27 @@ 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_111);
Clear_CAN_Msg((CAN_message *)&CanMsg_111);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_37B);
Clear_CAN_Msg((CAN_message *)&CanMsg_37B);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_12B);
Clear_CAN_Msg((CAN_message *)&CanMsg_12B);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_402);
Clear_CAN_Msg((CAN_message *)&CanMsg_402);
if(GetCtrlTime(CANMsgSend_100ms) >= 10){
// ClearCtrlTime(CANMsgSend_10ms);
//bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_101);
// Clear_CAN_Msg((CAN_message *)&CanMsg_101);
//
//bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_111);
// Clear_CAN_Msg((CAN_message *)&CanMsg_111);
//
//bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_37B);
// Clear_CAN_Msg((CAN_message *)&CanMsg_37B);
//
//bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_12B);
// Clear_CAN_Msg((CAN_message *)&CanMsg_12B);
//
//bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_402);
// Clear_CAN_Msg((CAN_message *)&CanMsg_402);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_18202922);
Clear_CAN_Msg((CAN_message *)&CanMsg_18202922);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_125);
Clear_CAN_Msg((CAN_message *)&CanMsg_125);
//bReturn = Api_CANSendFrame((CAN_message *)&CanMessageID18FEDCD5);
//bReturn = Api_CANSendFrame((CAN_message *)&CanMessageID18FEDED5);
......@@ -235,6 +246,8 @@ void App_Can_Proc(void)
CurValueStr[ISG_Power ].val = 0;
CurValueStr[ISG_Power_Enable ].val = 0;
CurValueStr[ECU_Warning_Lamp ].val = 0;
CurValueStr[MMCU_PowerMode ].val = 0;
CurValueStr[ENUM_VSpeed ].fval = Value_Plus;
CurValueStr[ENUM_RSpeed ].fval = Value_Plus;
......@@ -244,6 +257,7 @@ void App_Can_Proc(void)
CurValueStr[ISG_Power ].fval = Value_Plus;
CurValueStr[ISG_Power_Enable ].fval = Value_Plus;
CurValueStr[ECU_Warning_Lamp ].fval = 1;
CurValueStr[MMCU_PowerMode ].fval = 1;
......
......@@ -2,7 +2,7 @@
#include "../App_Headers/includes.h"
#include "../Library/TimeCtrl.h"
#define STEP_MAX 34//
#define STEP_MAX 34//����
void All_Lamp_TurnOn(void);
......@@ -99,334 +99,72 @@ void APP_ICM_Proc(void) /*zh321*/ /*FS04*/
if(count_flag_a==1)
{
{
//CurValueStr[ENUM_VSpeed ].val = 0;//
CurValueStr[ENUM_RSpeed ].val = 0;//ת
CurValueStr[ENUM_WaterTemp ].val = 0;//ˮ
CurValueStr[ISG_Ready ].val = 0;
CurValueStr[ISG_Power ].val = 0;
CurValueStr[ISG_Power_Enable ].val = 0;
CurValueStr[TCS_Warning_Lamp ].val = 0;
//CurValueStr[TCS_Work_Mode ].val = 0;
CurValueStr[MMCU_PowerMode ].val = 2;
switch(Key.CAN_Step)
{
case 1:
{ CurValueStr[ENUM_WaterTemp ].val = 20;//water_value;//ˮ
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[ABS_Warning_Lamp ].val = 0;
CurValueStr[ECU_Warning_Lamp ].val = 0;
CurValueStr[ENUM_VSpeed ].val = 20*100/108;//speed_value;//
CurValueStr[ENUM_RSpeed ].val = 1000;//ת
//CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
//CurValueStr[ECU_Warning_Lamp ].val = 1;
if(direction_espeed==1)
{
//CurValueStr[ABS_Warning_Lamp ].val = 0;
//CurValueStr[ECU_Warning_Lamp ].val = 0;
CurValueStr[ISG_Ready ].val = 1;
//CurValueStr[TCS_Warning_Lamp ].val = 0;
//CurValueStr[TCS_Work_Mode ].val = 1;
}
else
{
//CurValueStr[ABS_Warning_Lamp ].val = 1;
//CurValueStr[ECU_Warning_Lamp ].val = 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[ENUM_VSpeed ].val
}break;
case 2:
{
CurValueStr[ENUM_VSpeed ].val = 40*100/108;//speed_value;//
CurValueStr[ENUM_RSpeed ].val = 2000;//ת
//CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
//CurValueStr[ABS_Warning_Lamp ].val = 1;
//CurValueStr[ECU_Warning_Lamp ].val = 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[ABS_Warning_Lamp ].val = 0;
//CurValueStr[ECU_Warning_Lamp ].val = 0;
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:
{ CurValueStr[ABS_Warning_Lamp ].val = 0;
CurValueStr[ECU_Warning_Lamp ].val = 0;
CurValueStr[ENUM_VSpeed ].val = 60*100/108;//speed_value;//
CurValueStr[ENUM_RSpeed ].val = 3000;//ת
//CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
//CurValueStr[ABS_Warning_Lamp ].val = 0;
//CurValueStr[ECU_Warning_Lamp ].val = 0;
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[ABS_Warning_Lamp ].val = 1;
//CurValueStr[ECU_Warning_Lamp ].val = 1;
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_WaterTemp ].val = 20;//water_value;//ˮ
CurValueStr[ENUM_VSpeed ].val = 80*100/108;//speed_value;//
CurValueStr[ENUM_RSpeed ].val = 4000;
//CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
CurValueStr[ABS_Warning_Lamp ].val = 1;
CurValueStr[ECU_Warning_Lamp ].val = 1;
if(direction_espeed==1)
case 3:
{
CurValueStr[ISG_Power ].val = 0;
CurValueStr[ISG_Power_Enable ].val = 0;
//CurValueStr[TCS_Warning_Lamp ].val = 1;
//CurValueStr[ABS_Warning_Lamp ].val = 1;
//CurValueStr[ECU_Warning_Lamp ].val = 1;
// CurValueStr[TCS_Work_Mode ].val = 0;
}
else
}break;
case 4:
{
//CurValueStr[ABS_Warning_Lamp ].val = 0;
//CurValueStr[ECU_Warning_Lamp ].val = 0;
CurValueStr[ISG_Ready ].val = 1;
//CurValueStr[TCS_Warning_Lamp ].val = 0;
//CurValueStr[TCS_Work_Mode ].val = 1;
//CurValueStr[ABS_Warning_Lamp ].val = 0;
//CurValueStr[ECU_Warning_Lamp ].val = 0;
}
}break;
case 5:
{
CurValueStr[ABS_Warning_Lamp ].val = 0;
CurValueStr[ECU_Warning_Lamp ].val = 0;
CurValueStr[ENUM_VSpeed ].val = 100*100/108;//speed_value;//
CurValueStr[ENUM_RSpeed ].val = 5000;
CurValueStr[ENUM_WaterTemp ].val = 130;//water_value;//ˮ
if(direction_espeed==1)
{
//CurValueStr[ABS_Warning_Lamp ].val = 0;
//CurValueStr[ECU_Warning_Lamp ].val = 0;
CurValueStr[ISG_Ready ].val = 1;
//CurValueStr[TCS_Warning_Lamp ].val = 0;
//CurValueStr[TCS_Work_Mode ].val = 1;
}
else
{
//CurValueStr[ABS_Warning_Lamp ].val = 1;
//CurValueStr[ECU_Warning_Lamp ].val = 1;
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:
{CurValueStr[ENUM_WaterTemp ].val = 20;//water_value;//ˮ
CurValueStr[ENUM_VSpeed ].val = 120*100/108;//speed_value;//
CurValueStr[ENUM_RSpeed ].val = 6000;
//CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
//CurValueStr[ABS_Warning_Lamp ].val = 1;
//CurValueStr[ECU_Warning_Lamp ].val = 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[ABS_Warning_Lamp ].val = 0;
//CurValueStr[ECU_Warning_Lamp ].val = 0;
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:
{
CurValueStr[ENUM_VSpeed ].val = 140*100/108;//speed_value;//
CurValueStr[ENUM_RSpeed ].val = 7000;
//CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
CurValueStr[TCS_Warning_Lamp ].val = 0;
if(direction_espeed==1)
{
//CurValueStr[ABS_Warning_Lamp ].val = 0;
// CurValueStr[ECU_Warning_Lamp ].val = 0;
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[ABS_Warning_Lamp ].val = 1;
// CurValueStr[ECU_Warning_Lamp ].val = 1;
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:
{
CurValueStr[ENUM_VSpeed ].val = 160*100/108;//speed_value;//
CurValueStr[ENUM_RSpeed ].val = 8000;
//CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
CurValueStr[TCS_Warning_Lamp ].val = 0;
if(direction_espeed==1)
{
//CurValueStr[ABS_Warning_Lamp ].val = 1;
//CurValueStr[ECU_Warning_Lamp ].val = 1;
CurValueStr[ISG_Power ].val = 0;
CurValueStr[ISG_Power_Enable ].val = 0;
// CurValueStr[TCS_Work_Mode ].val = 0;
}
else
{
//CurValueStr[ABS_Warning_Lamp ].val = 0;
//CurValueStr[ECU_Warning_Lamp ].val = 0;
CurValueStr[ISG_Ready ].val = 1;
//CurValueStr[TCS_Warning_Lamp ].val = 0;
//CurValueStr[TCS_Work_Mode ].val = 1;
}
}break;
case 9:
{
CurValueStr[ENUM_VSpeed ].val = 180*100/108;//speed_value;//
CurValueStr[ENUM_RSpeed ].val = 10000;
CurValueStr[ENUM_WaterTemp ].val = 20;//water_value;//ˮ
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[ABS_Warning_Lamp ].val = 0;
CurValueStr[ECU_Warning_Lamp ].val = 0;
if(direction_espeed==1)
{
//CurValueStr[ABS_Warning_Lamp ].val = 0;
// CurValueStr[ECU_Warning_Lamp ].val = 0;
CurValueStr[ISG_Ready ].val = 1;
//CurValueStr[TCS_Warning_Lamp ].val = 0;
// CurValueStr[TCS_Work_Mode ].val = 1;
}
else
{
//CurValueStr[ABS_Warning_Lamp ].val = 1;
// CurValueStr[ECU_Warning_Lamp ].val = 1;
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:
{
CurValueStr[ENUM_VSpeed ].val = 199;//*100/108;//speed_value;//
CurValueStr[ENUM_RSpeed ].val = 12000;
CurValueStr[ENUM_WaterTemp ].val = 130;//water_value;//ˮ
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[ABS_Warning_Lamp ].val = 1;
CurValueStr[ECU_Warning_Lamp ].val = 1;
if(direction_espeed==1)
{
//CurValueStr[ABS_Warning_Lamp ].val = 1;
//CurValueStr[ECU_Warning_Lamp ].val = 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[ABS_Warning_Lamp ].val = 0;
//CurValueStr[ECU_Warning_Lamp ].val = 0;
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 11:
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 11000;
//CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
//CurValueStr[ABS_Warning_Lamp ].val = 0;
//CurValueStr[ECU_Warning_Lamp ].val = 0;
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[ABS_Warning_Lamp ].val = 1;
//CurValueStr[ECU_Warning_Lamp ].val = 1;
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[ABS_Warning_Lamp ].val = 1;
//CurValueStr[ECU_Warning_Lamp ].val = 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[ABS_Warning_Lamp ].val = 0;
//CurValueStr[ECU_Warning_Lamp ].val = 0;
CurValueStr[ISG_Ready ].val = 1;
//CurValueStr[TCS_Warning_Lamp ].val = 0;
//CurValueStr[TCS_Work_Mode ].val = 1;
}
}break;
}
}
}
}
......@@ -555,12 +293,12 @@ void Message_Value_Calculate(s_CAN_List list)
temp = CurValue;
//计算偏移??
//计算偏移??
if(Offset != 0){
if(Offset_Flag == Offset_Minus){
if(Value_Flag == Value_Minus){
if(temp > Offset){
temp = 0; //错??,所要实现的值小于物理最小�?
temp = 0; //错??,所要实现的值小于物理最小�?
}else{
temp = Offset - temp;
}
......@@ -569,7 +307,7 @@ void Message_Value_Calculate(s_CAN_List list)
}else{;}
}else if(Offset_Flag == Offset_Plus){
if(temp < Offset){
temp = 0; //错??,所要实现的值小于物理最小�?
temp = 0; //错??,所要实现的值小于物理最小�?
}else{
temp -= Offset;
}
......
......@@ -50,6 +50,14 @@ enum
ABS_Warning_Lamp,
ECU_Warning_Lamp,
//MBMS_TOTALSigCharg, //充电指示灯
MMCU_PowerMode, //125
MMCU_TravelSpeedGear,
MMCU_SeatDetectState,
MMCU_ParkingGearState,
CAN_List_Num ,
};
......@@ -72,6 +80,17 @@ static const s_CAN_List CAN_List[] =
{&CanMsg_402, 7, 7, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ECU_Warning_Lamp ], Motorola},
//{&CanMsg_18202922, 0, 1, 1, 0, Offset_Plus, 1, 1, &CurValueStr[MBMS_TOTALSigCharg ], Motorola},
{&CanMsg_125, 0, 2, 4, 0, Offset_Plus, 1, 1, &CurValueStr[MMCU_PowerMode ], Motorola},
{&CanMsg_125, 1, 0, 2, 0, Offset_Plus, 1, 1, &CurValueStr[MMCU_TravelSpeedGear ], Motorola},
{&CanMsg_125, 2, 1, 1, 0, Offset_Plus, 1, 1, &CurValueStr[MMCU_SeatDetectState ], Motorola},
{&CanMsg_125, 2, 7, 1, 0, Offset_Plus, 1, 1, &CurValueStr[MMCU_ParkingGearState ], Motorola},
};
......
......@@ -113,6 +113,8 @@
EXTERN_VAR CAN_message CanMsg_111;
EXTERN_VAR CAN_message CanMsg_37B;
EXTERN_VAR CAN_message CanMsg_402;
EXTERN_VAR CAN_message CanMsg_18202922;
EXTERN_VAR CAN_message CanMsg_125;
extern CAN_message CanMsg_101;
......
......@@ -45,6 +45,13 @@ NV_AUTO_ID=1
[USBDM]
COMSETTINGS=SETCOMM DRIVER NOPROTOCOL NOPERIODICAL
NV_PARAMETER_FILE=
NV_PARAMETER_FILE=C:\Program Files (x86)\Freescale\CWS12v5.1\prog\FPP\mcu02F2.fpp
NV_SAVE_WSP=0
NV_AUTO_ID=1
[Recent Layout File List]
File0=C_layout.hwl
File1=
File2=
File3=
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