Commit 206e147b authored by 张久成's avatar 张久成

feat: 比亚乔老化台

parent 3eee5b42
......@@ -493,7 +493,7 @@ interrupt void Api_RTC_isr(void)
}
if(Key.StepAuto == 1){
if(RT_2s >= T_2s){
if(RT_2s >= T_10s){
RT_2s = null;
Key.CAN_Step++;
......
......@@ -94,44 +94,41 @@ void Set_CAN_CRC(CAN_message * CanMessage){
*/
void Format_CAN_Msg()
{
CanMsg_0A31FFE8.ID = 0x0A31FFE8;
CanMsg_0A30FFE8.ID = 0x0A30FFE8;
// CanMsg_111.ID = 0x111;
// CanMsg_37B.ID = 0x37B;
// CanMsg_12B.ID = 0x12B;
// CanMsg_18202922.ID = 0x18202922;
// CanMsg_125.ID = 0x125;
// CanMsg_157.ID = 0x157;
CanMsg_260.ID = 0x260;
CanMsg_180.ID = 0x180;
CanMsg_100.ID = 0x100;
CanMsg_153.ID = 0x153;
CanMsg_120.ID = 0x120;
CanMsg_200.ID = 0x200;
CanMsg_687.ID = 0x687;
CanMsg_600.ID = 0x600;
// CanMsg_SOC.ID = 0x18203020;
// CanMsg_SOC1.ID = 0x18200A20;
// CanMsg_SOC2.ID = 0x18200A21;
// CanMsg_38E.ID = 0x38E;
CanMsg_0A31FFE8.Length = 8;
CanMsg_0A30FFE8.Length = 8;
// CanMsg_111.Length = 8;
// CanMsg_37B.Length = 8;
// CanMsg_12B.Length = 8;
// CanMsg_18202922.Length = 8;
// CanMsg_125.Length = 8;
// CanMsg_157.Length = 8;
CanMsg_260.Length = 8;
CanMsg_180.Length = 8;
CanMsg_100.Length = 8;
CanMsg_153.Length = 8;
CanMsg_120.Length = 8;
CanMsg_200.Length = 8;
CanMsg_687.Length = 8;
CanMsg_600.Length = 8;
// CanMsg_SOC.Length = 8;
// CanMsg_SOC1.Length = 8;
// CanMsg_SOC2.Length = 8;
// CanMsg_38E.Length = 8;
CanMsg_0A31FFE8.ID_EN = 1;
CanMsg_0A30FFE8.ID_EN = 1;
// CanMsg_111.ID_EN = 1;
// CanMsg_37B.ID_EN = 1;
// CanMsg_12B.ID_EN = 1;
// CanMsg_18202922.ID_EN = 1;
// CanMsg_125.ID_EN = 1;
// CanMsg_157.ID_EN = 1;
CanMsg_260.ID_EN = 1;
CanMsg_180.ID_EN = 1;
CanMsg_100.ID_EN = 1;
CanMsg_153.ID_EN = 1;
CanMsg_120.ID_EN = 1;
CanMsg_200.ID_EN = 1;
CanMsg_687.ID_EN = 1;
CanMsg_600.ID_EN = 1;
// CanMsg_SOC.ID_EN = 1;
// CanMsg_SOC1.ID_EN = 1;
// CanMsg_SOC2.ID_EN = 1;
......@@ -140,15 +137,14 @@ void Format_CAN_Msg()
void Disable_CAN_Tx(void){
CanMsg_0A31FFE8.ID_EN = 0;
CanMsg_0A30FFE8.ID_EN = 0;
// CanMsg_111.ID_EN = 0;
// CanMsg_37B.ID_EN = 0;
// CanMsg_12B.ID_EN = 0;
// CanMsg_402.ID_EN = 0;
// CanMsg_18202922.ID_EN = 0;
// CanMsg_125.ID_EN = 0;
CanMsg_260.ID_EN = 0;
CanMsg_180.ID_EN = 0;
CanMsg_100.ID_EN = 0;
CanMsg_153.ID_EN = 0;
CanMsg_120.ID_EN = 0;
CanMsg_200.ID_EN = 0;
CanMsg_687.ID_EN = 0;
CanMsg_600.ID_EN = 0;
// CanMsg_157.ID_EN = 0;
// CanMsg_SOC.ID_EN = 0;
// CanMsg_SOC1.ID_EN = 0;
......@@ -182,29 +178,29 @@ void App_Can_Proc(void)
if(GetCtrlTime(CANMsgSend_10ms) >= 10){
// ClearCtrlTime(CANMsgSend_10ms);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_0A31FFE8);
Clear_CAN_Msg((CAN_message *)&CanMsg_0A31FFE8);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_260);
Clear_CAN_Msg((CAN_message *)&CanMsg_260);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_0A30FFE8);
Clear_CAN_Msg((CAN_message *)&CanMsg_0A30FFE8);
// bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_180);
// Clear_CAN_Msg((CAN_message *)&CanMsg_180);
//
//bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_111);
// Clear_CAN_Msg((CAN_message *)&CanMsg_111);
// bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_100);
// Clear_CAN_Msg((CAN_message *)&CanMsg_100);
//
// bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_37B);
// Clear_CAN_Msg((CAN_message *)&CanMsg_37B);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_153);
Clear_CAN_Msg((CAN_message *)&CanMsg_153);
//
//bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_12B);
// Clear_CAN_Msg((CAN_message *)&CanMsg_12B);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_120);
Clear_CAN_Msg((CAN_message *)&CanMsg_120);
//
//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 *)&CanMsg_157);
// Clear_CAN_Msg((CAN_message *)&CanMsg_157);
// bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_200);
// Clear_CAN_Msg((CAN_message *)&CanMsg_200);
// bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_687);
// Clear_CAN_Msg((CAN_message *)&CanMsg_687);
// bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_600);
// Clear_CAN_Msg((CAN_message *)&CanMsg_600);
//bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_SOC);
// Clear_CAN_Msg((CAN_message *)&CanMsg_SOC);
//bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_SOC1);
......@@ -222,7 +218,11 @@ void App_Can_Proc(void)
if(GetCtrlTime(CANMsgSend_20ms) >= 20){
ClearCtrlTime(CANMsgSend_20ms);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_180);
Clear_CAN_Msg((CAN_message *)&CanMsg_180);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_687);
Clear_CAN_Msg((CAN_message *)&CanMsg_687);
}
......@@ -237,14 +237,20 @@ void App_Can_Proc(void)
}
if(GetCtrlTime(CANMsgSend_100ms) >= 100){
ClearCtrlTime(CANMsgSend_100ms);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_100);
Clear_CAN_Msg((CAN_message *)&CanMsg_100);
}
if(GetCtrlTime(CANMsgSend_200ms) >= 200){
ClearCtrlTime(CANMsgSend_200ms);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_200);
Clear_CAN_Msg((CAN_message *)&CanMsg_200);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_600);
Clear_CAN_Msg((CAN_message *)&CanMsg_600);
}
......@@ -287,7 +293,7 @@ void App_Can_Proc(void)
//CurValueStr[MMCU_PowerMode ].val = 0;
//
//
CurValueStr[ENUM_VSpeed ].fval = Value_Plus;
// 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;
......
......@@ -2,7 +2,7 @@
#include "../App_Headers/includes.h"
#include "../Library/TimeCtrl.h"
#define STEP_MAX 10//34//����
#define STEP_MAX 1//34//����
void All_Lamp_TurnOn(void);
......@@ -83,7 +83,7 @@ void APP_Button_Proc(void){
//{
// return (speed * 108)/100;
//}
#define VSpeed(speed) ((speed * 100)/108 + 1)
#define VSpeed(speed) ((speed * 100)/108)
unsigned int lost_flag = 0;
unsigned int CAN_init_flag = 0;
unsigned int CAN_lost_flag = 0;
......@@ -101,8 +101,8 @@ void APP_ICM_Proc(void) /*zh321*/ /*FS04*/
// Disable_CAN_Tx();
// CAN_lost_flag = 0;
// }
CurValueStr[ABS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Warning_Lamp ].val = 0;
// CurValueStr[ABS_Warning_Lamp ].val = 0;
// CurValueStr[TCS_Warning_Lamp ].val = 0;
//if(count_flag_a==1)
{//Format_CAN_Msg();
......@@ -115,65 +115,107 @@ void APP_ICM_Proc(void) /*zh321*/ /*FS04*/
#if 1
case 0:
CurValueStr[ENUM_VSpeed ].val = 0;
CurValueStr[VELVEIC_ABS_F ].val = 0;//前轮
CurValueStr[VELVEIC_ABS_R ].val = 0;//后轮
CurValueStr[TH2OC ].val = 0; //水温
CurValueStr[MIL_Lamp ].val = 0; //发动机故障灯
CurValueStr[ABS_warning_lamp ].val = 0; //发动机故障灯
CurValueStr[OIL_TALE_STOP ].val = 0; //油压指示灯
CurValueStr[CENACC ].val = 1; //发动机无法启动指示灯
CurValueStr[ASR_indicator ].val = 0; //ASR报警灯
CurValueStr[Telephone_lcon ].val = 0; //来电指示灯
CurValueStr[Device_connected ].val = 0; //智能手机连接指示灯
CurValueStr[App_lcon_status ].val = 0; //APP连接指示灯
CurValueStr[Lost_call_icon ].val = 0; //未接指示灯
CurValueStr[Notincaton_lcon ].val = 0; //手机消息指示灯
CurValueStr[CSTAMPLAT ].val = 0; //侧支架指示灯
CurValueStr[GSM ].val = 0; //GSM功率信号等级指示灯
CurValueStr[Smartphone_battery ].val = 0; //手机电量指示灯
CurValueStr[Music_ico ].val = 0; //音乐指示灯
CurValueStr[TH2OC ].val = 0; //水温高指示灯
CurValueStr[HHGLevel ].val = 0; //加热手柄指示灯
// CurValueStr[Sync_clock_Minutes ].val = 0; //时钟
// CurValueStr[Sync_Request ].val = 0; //时钟
// CurValueStr[Sync_clock_Hours ].val = 0; //时钟
break;
case 1:
{
CurValueStr[ENUM_VSpeed ].val = VSpeed(20);
CurValueStr[VELVEIC_ABS_F ].val = 199; //前轮
CurValueStr[VELVEIC_ABS_R ].val = 199; //后轮
CurValueStr[TH2OC ].val = 140; //水温
CurValueStr[MIL_Lamp ].val = 1; //发动机故障灯
CurValueStr[ABS_warning_lamp ].val = 3; //发动机故障灯
CurValueStr[OIL_TALE_STOP ].val = 1; //油压指示灯
CurValueStr[CENACC ].val = 0; //发动机无法启动指示灯
CurValueStr[ASR_indicator ].val = 3; //ASR报警灯
CurValueStr[Telephone_lcon ].val = 1; //来电指示灯
CurValueStr[Device_connected ].val = 1; //智能手机连接指示灯
CurValueStr[App_lcon_status ].val = 1; //APP连接指示灯
CurValueStr[Lost_call_icon ].val = 1; //未接指示灯
CurValueStr[Notincaton_lcon ].val = 1; //手机消息指示灯
CurValueStr[CSTAMPLAT ].val = 1; //侧支架指示灯
CurValueStr[GSM ].val = 5; //GSM功率信号等级指示灯
CurValueStr[Smartphone_battery ].val = 5; //手机电量指示灯
CurValueStr[Music_ico ].val = 1; //音乐指示灯
CurValueStr[TH2OC ].val = 140; //水温高指示灯
CurValueStr[HHGLevel ].val = 9; //加热手柄指示灯
// CurValueStr[Sync_clock_Minutes ].val = 22; //时钟
// CurValueStr[Sync_Request ].val = 1; //时钟
// CurValueStr[Sync_clock_Hours ].val = 22; //时钟
}break;
case 2:
{
CurValueStr[ENUM_VSpeed ].val = VSpeed(40);
// CurValueStr[ENUM_VSpeed ].val = VSpeed(40);
}break;
case 3:
{
CurValueStr[ENUM_VSpeed ].val = VSpeed(60);
// CurValueStr[ENUM_VSpeed ].val = VSpeed(60);
}break;
case 4:
{
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[ENUM_VSpeed ].val = VSpeed(80);
// CurValueStr[TCS_Warning_Lamp ].val = 1;
// CurValueStr[ENUM_VSpeed ].val = VSpeed(80);
}break;
case 5:
{
CurValueStr[ABS_Warning_Lamp ].val = 1;
CurValueStr[ENUM_VSpeed ].val = VSpeed(100);
// CurValueStr[ABS_Warning_Lamp ].val = 1;
// CurValueStr[ENUM_VSpeed ].val = VSpeed(100);
}break;
case 6:
{
CurValueStr[ENUM_VSpeed ].val = VSpeed(120);
// CurValueStr[ENUM_VSpeed ].val = VSpeed(120);
}break;
case 7:
{
CurValueStr[ENUM_VSpeed ].val = VSpeed(140);
// CurValueStr[ENUM_VSpeed ].val = VSpeed(140);
}break;
case 8:
{
CurValueStr[ENUM_VSpeed ].val = VSpeed(160);
// CurValueStr[ENUM_VSpeed ].val = VSpeed(160);
}break;
case 9:
{
CurValueStr[ENUM_VSpeed ].val = VSpeed(180);
// CurValueStr[ENUM_VSpeed ].val = VSpeed(180);
}break;
case 10:
{
CurValueStr[ABS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[ENUM_VSpeed ].val = VSpeed(199);
// CurValueStr[ABS_Warning_Lamp ].val = 1;
// CurValueStr[TCS_Warning_Lamp ].val = 1;
// CurValueStr[ENUM_VSpeed ].val = VSpeed(199);
}break;
......
......@@ -40,9 +40,28 @@ typedef struct{
enum
{
ENUM_VSpeed = 0,//����
TCS_Warning_Lamp,
ABS_Warning_Lamp,
VELVEIC_ABS_F = 0,//����
VELVEIC_ABS_R,
TH2OC,
MIL_Lamp,
ABS_warning_lamp,
OIL_TALE_STOP,
CENACC,
ASR_indicator,
Telephone_lcon,
Device_connected,
App_lcon_status,
Lost_call_icon,
Notincaton_lcon,
CSTAMPLAT,
GSM,
Smartphone_battery,
Music_ico,
HHGLevel,
// Sync_clock_Minutes,
// Sync_Request,
// Sync_clock_Hours,
CAN_List_Num ,
#if 0
......@@ -84,9 +103,28 @@ EXTERN_APP_TEST volatile s_CurValue CurValueStr[CAN_List_Num];
static const s_CAN_List CAN_List[] =
{
{&CanMsg_0A31FFE8, 0, 0, 16, 0, Offset_Plus, 1, 1, &CurValueStr[ENUM_VSpeed ], Intel},
{&CanMsg_0A30FFE8, 0, 3, 2, 0, Offset_Plus, 1, 1, &CurValueStr[TCS_Warning_Lamp ], Intel},
{&CanMsg_0A30FFE8, 0, 0, 2, 0, Offset_Plus, 1, 1, &CurValueStr[ABS_Warning_Lamp ], Intel}
{&CanMsg_260, 1, 0, 16, 0, Offset_Plus, 100, 1, &CurValueStr[VELVEIC_ABS_F ], Motorola},
{&CanMsg_260, 3, 0, 16, 0, Offset_Plus, 100, 1, &CurValueStr[VELVEIC_ABS_R ], Motorola},
{&CanMsg_180, 2, 0, 8, 0, Offset_Plus, 1, 1, &CurValueStr[TH2OC ], Motorola},
{&CanMsg_100, 5, 2, 2, 0, Offset_Plus, 1, 1, &CurValueStr[MIL_Lamp ], Motorola},
{&CanMsg_153, 0, 0, 2, 0, Offset_Plus, 1, 1, &CurValueStr[ABS_warning_lamp ], Motorola},
{&CanMsg_100, 5, 0, 1, 0, Offset_Plus, 1, 1, &CurValueStr[OIL_TALE_STOP ], Motorola},
{&CanMsg_120, 4, 6, 1, 0, Offset_Plus, 1, 1, &CurValueStr[CENACC ], Motorola},
{&CanMsg_200, 4, 6, 2, 0, Offset_Plus, 1, 1, &CurValueStr[ASR_indicator ], Motorola},
{&CanMsg_687, 1, 4, 1, 0, Offset_Plus, 1, 1, &CurValueStr[Telephone_lcon ], Motorola},
{&CanMsg_687, 1, 1, 1, 0, Offset_Plus, 1, 1, &CurValueStr[Device_connected ], Motorola},
{&CanMsg_687, 1, 2, 1, 0, Offset_Plus, 1, 1, &CurValueStr[App_lcon_status ], Motorola},
{&CanMsg_687, 1, 6, 1, 0, Offset_Plus, 1, 1, &CurValueStr[Lost_call_icon ], Motorola},
{&CanMsg_687, 1, 5, 1, 0, Offset_Plus, 1, 1, &CurValueStr[Notincaton_lcon ], Motorola},
{&CanMsg_100, 5, 7, 1, 0, Offset_Plus, 1, 1, &CurValueStr[CSTAMPLAT ], Motorola},
{&CanMsg_687, 0, 0, 3, 0, Offset_Plus, 1, 1, &CurValueStr[GSM ], Motorola},
{&CanMsg_687, 0, 3, 4, 0, Offset_Plus, 1, 1, &CurValueStr[Smartphone_battery ], Motorola},
{&CanMsg_687, 1, 7, 1, 0, Offset_Plus, 1, 1, &CurValueStr[Music_ico ], Motorola},
{&CanMsg_180, 2, 0, 8, 0, Offset_Plus, 1, 1, &CurValueStr[TH2OC ], Motorola},
{&CanMsg_687, 3, 1, 4, 0, Offset_Plus, 1, 1, &CurValueStr[HHGLevel ], Motorola},
// {&CanMsg_600, 3, 1, 7, 0, Offset_Plus, 1, 1, &CurValueStr[Sync_clock_Minutes ], Motorola},
// {&CanMsg_600, 3, 0, 1, 0, Offset_Plus, 1, 1, &CurValueStr[Sync_Request ], Motorola},
// {&CanMsg_600, 4, 0, 8, 0, Offset_Plus, 1, 1, &CurValueStr[Sync_clock_Hours ], Motorola},
#if 0
{&CanMsg_101, 2, 0, 8, 0, Offset_Plus, 1, 1, &CurValueStr[ENUM_VSpeed ], Motorola},
......
......@@ -109,15 +109,15 @@
/*zh:*/
/*CS08 test*/
// EXTERN_VAR CAN_message CanMessageID0CFF7F03;
EXTERN_VAR CAN_message CanMsg_0A31FFE8;
EXTERN_VAR CAN_message CanMsg_0A30FFE8;
// EXTERN_VAR CAN_message CanMsg_111;
// EXTERN_VAR CAN_message CanMsg_37B;
// EXTERN_VAR CAN_message CanMsg_18202922;
// EXTERN_VAR CAN_message CanMsg_125;
// EXTERN_VAR CAN_message CanMsg_157;
// EXTERN_VAR CAN_message CanMsg_SOC;
EXTERN_VAR CAN_message CanMsg_260;
EXTERN_VAR CAN_message CanMsg_180;
EXTERN_VAR CAN_message CanMsg_100;
EXTERN_VAR CAN_message CanMsg_153;
EXTERN_VAR CAN_message CanMsg_120;
EXTERN_VAR CAN_message CanMsg_200;
EXTERN_VAR CAN_message CanMsg_687;
EXTERN_VAR CAN_message CanMsg_600;
// EXTERN_VAR CAN_message CanMsg_600;
// EXTERN_VAR CAN_message CanMsg_SOC1;
// EXTERN_VAR CAN_message CanMsg_SOC2;
// EXTERN_VAR CAN_message CanMsg_38E;
......
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