Commit 4e57820f authored by 陈家乐's avatar 陈家乐

feat:完事儿

parent 7f310018
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* Function Name : Api_CAN_Init * Function Name : Api_CAN_Init
* Description : CAN初始化 * Description : CAN��ʼ��
* Input : None * Input : None
* Output : None * Output : None
* Return : None * Return : None
...@@ -13,12 +13,12 @@ ...@@ -13,12 +13,12 @@
void Api_CAN_Init(void) void Api_CAN_Init(void)
{ {
INT16U b = null; INT16U b = null;
CANCTL0_INITRQ = Enable; //准备初始化 CANCTL0_INITRQ = Enable; //׼����ʼ��
while(!CANCTL1_INITAK); //等待进入初始化模式 while(!CANCTL1_INITAK); //�ȴ������ʼ��ģʽ
CANCTL1 = CANCTL1_CANE_MASK | CANCTL1_BORM_MASK; CANCTL1 = CANCTL1_CANE_MASK | CANCTL1_BORM_MASK;
CANCTL1_WUPM = Disable; //所有显性唤醒 CANCTL1_WUPM = Disable; //�������Ի���
/* /*
SYNC_SEG + (PROP_SEG + PHASE_SEG1) + (PHASE_SEG2) SYNC_SEG + (PROP_SEG + PHASE_SEG1) + (PHASE_SEG2)
1 Tq 4--16 Tq 2--8 Tq 1 Tq 4--16 Tq 2--8 Tq
...@@ -26,13 +26,13 @@ void Api_CAN_Init(void) ...@@ -26,13 +26,13 @@ void Api_CAN_Init(void)
CANBTR1_TSEG_10 = Seg1_5Tq; //351page 75% 75<= sp<=83 CANBTR1_TSEG_10 = Seg1_5Tq; //351page 75% 75<= sp<=83
CANBTR1_TSEG_20 = Seg2_2Tq; CANBTR1_TSEG_20 = Seg2_2Tq;
CANBTR0_SJW = SJW_1Tq; //重新同步 CANBTR0_SJW = SJW_1Tq; //����ͬ��
CANBTR1_SAMP = SAMP_1; CANBTR1_SAMP = SAMP_1;
CANBTR0_BRP = 0x01; //0 500K 1 250K CANBTR0_BRP = 0x00; //0 500K 1 250K
CANIDAC_IDAM = IDAM_2_32Bit; CANIDAC_IDAM = IDAM_2_32Bit;
CANIDAC_IDHIT = IDHIT0; //滤波器 0 有 CANIDAC_IDHIT = IDHIT0; //�˲��� 0 ��Ч
CANIDAR0 = null; // CANIDAR0 = null; //
CANIDAR1 = null; CANIDAR1 = null;
...@@ -53,22 +53,22 @@ void Api_CAN_Init(void) ...@@ -53,22 +53,22 @@ void Api_CAN_Init(void)
CANIDMR7 = 0xFF; CANIDMR7 = 0xFF;
// //
CANTIER = null; CANTIER = null;
CANCTL0_INITRQ = Disable; //完成初始化 CANCTL0_INITRQ = Disable; //��ɳ�ʼ��
while(CANCTL1_INITAK); //等待确认 while(CANCTL1_INITAK); //�ȴ�ȷ��
CANRFLG_RXF = ClearFlag; CANRFLG_RXF = ClearFlag;
CANRIER_RXFIE = Enable; //使能接收中断 CANRIER_RXFIE = Enable; //ʹ�ܽ����ж�
CANTIER_TXEIE = Disable; //禁止发送中断 CANTIER_TXEIE = Disable; //��ֹ�����ж�
CANCTL0_TIME = Enable; //使能时间戳 CANCTL0_TIME = Enable; //ʹ��ʱ���
CANCTL0_CSWAI = WaitRun; //等待模式下可以运行 CANCTL0_CSWAI = WaitRun; //�ȴ�ģʽ�¿�������
CANCTL0_WUPE = Enable; CANCTL0_WUPE = Enable;
} }
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* Function Name : GET_STAND_ID * Function Name : GET_STAND_ID
* Description : 提取标准ID * Description : ��ȡ��׼ID
* Input : IDR0_Add -> 对应的IDR0的地 * Input : IDR0_Add -> ��Ӧ��IDR0�ĵ�ַ
* Output : None * Output : None
* Return : dwPGN * Return : dwPGN
* onther : * onther :
...@@ -178,8 +178,8 @@ INT8U Api_CANSendFrame(CAN_message * CanMessage) ...@@ -178,8 +178,8 @@ INT8U Api_CANSendFrame(CAN_message * CanMessage)
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* Function Name : Api_CAN_Rev_isr * Function Name : Api_CAN_Rev_isr
* Description : 提取标准ID * Description : ��ȡ��׼ID
* Input : IDR0_Add -> 对应的IDR0的地 * Input : IDR0_Add -> ��Ӧ��IDR0�ĵ�ַ
* Output : None * Output : None
* Return : dwPGN * Return : dwPGN
* onther : * onther :
...@@ -194,13 +194,13 @@ interrupt void Api_CAN_Rev_isr(void) ...@@ -194,13 +194,13 @@ interrupt void Api_CAN_Rev_isr(void)
switch(stand_id) switch(stand_id)
{ {
case 0x18DAF917: //车速 case 0x18DAF917: //����
if(m_dlc == 8) if(m_dlc == 8)
{ {
UDS_Receive_Main(&CANRXDSR0); UDS_Receive_Main(&CANRXDSR0);
} }
break; break;
default: default:
; ;
......
...@@ -499,7 +499,7 @@ interrupt void Api_RTC_isr(void) ...@@ -499,7 +499,7 @@ interrupt void Api_RTC_isr(void)
Key.CAN_Step++; Key.CAN_Step++;
if(Key.CAN_Step > 10) if(Key.CAN_Step > 10)
{ {
Key.CAN_Step = 1; Key.CAN_Step = 0;
} }
} }
} }
......
...@@ -178,35 +178,35 @@ void App_Can_Proc(void) ...@@ -178,35 +178,35 @@ void App_Can_Proc(void)
if(GetCtrlTime(CANMsgSend_10ms) >= 10){ if(GetCtrlTime(CANMsgSend_10ms) >= 10){
// ClearCtrlTime(CANMsgSend_10ms); // ClearCtrlTime(CANMsgSend_10ms);
//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_111); //bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_111);
// Clear_CAN_Msg((CAN_message *)&CanMsg_111); // Clear_CAN_Msg((CAN_message *)&CanMsg_111);
// //
//bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_37B); bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_37B);
// Clear_CAN_Msg((CAN_message *)&CanMsg_37B); Clear_CAN_Msg((CAN_message *)&CanMsg_37B);
// //
//bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_12B); //bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_12B);
// Clear_CAN_Msg((CAN_message *)&CanMsg_12B); // Clear_CAN_Msg((CAN_message *)&CanMsg_12B);
// //
//bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_402); bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_402);
// Clear_CAN_Msg((CAN_message *)&CanMsg_402); Clear_CAN_Msg((CAN_message *)&CanMsg_402);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_18202922); //bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_18202922);
Clear_CAN_Msg((CAN_message *)&CanMsg_18202922); // Clear_CAN_Msg((CAN_message *)&CanMsg_18202922);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_125); //bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_125);
Clear_CAN_Msg((CAN_message *)&CanMsg_125); // Clear_CAN_Msg((CAN_message *)&CanMsg_125);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_157); //bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_157);
Clear_CAN_Msg((CAN_message *)&CanMsg_157); // Clear_CAN_Msg((CAN_message *)&CanMsg_157);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_SOC); //bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_SOC);
Clear_CAN_Msg((CAN_message *)&CanMsg_SOC); // Clear_CAN_Msg((CAN_message *)&CanMsg_SOC);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_SOC1); //bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_SOC1);
Clear_CAN_Msg((CAN_message *)&CanMsg_SOC1); // Clear_CAN_Msg((CAN_message *)&CanMsg_SOC1);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_SOC2); //bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_SOC2);
Clear_CAN_Msg((CAN_message *)&CanMsg_SOC2); // Clear_CAN_Msg((CAN_message *)&CanMsg_SOC2);
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_38E); //bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_38E);
Clear_CAN_Msg((CAN_message *)&CanMsg_38E); // Clear_CAN_Msg((CAN_message *)&CanMsg_38E);
//bReturn = Api_CANSendFrame((CAN_message *)&CanMessageID18FEDCD5); //bReturn = Api_CANSendFrame((CAN_message *)&CanMessageID18FEDCD5);
//bReturn = Api_CANSendFrame((CAN_message *)&CanMessageID18FEDED5); //bReturn = Api_CANSendFrame((CAN_message *)&CanMessageID18FEDED5);
...@@ -271,25 +271,25 @@ void App_Can_Proc(void) ...@@ -271,25 +271,25 @@ void App_Can_Proc(void)
//CurValueStr[ENUM_VSpeed ].val = 0; //CurValueStr[ENUM_VSpeed ].val = 0;
CurValueStr[ENUM_RSpeed ].val = 0; //CurValueStr[ENUM_RSpeed ].val = 0;
CurValueStr[ENUM_WaterTemp ].val = 0; //CurValueStr[ENUM_WaterTemp ].val = 0;
CurValueStr[TCS_Warning_Lamp ].val = 0; //CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 0; //CurValueStr[TCS_Work_Mode ].val = 0;
CurValueStr[ISG_Power ].val = 0; //CurValueStr[ISG_Power ].val = 0;
CurValueStr[ISG_Power_Enable ].val = 0; //CurValueStr[ISG_Power_Enable ].val = 0;
CurValueStr[ECU_Warning_Lamp ].val = 0; //CurValueStr[ECU_Warning_Lamp ].val = 0;
CurValueStr[MMCU_PowerMode ].val = 0; //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_RSpeed ].fval = Value_Plus;
CurValueStr[ENUM_WaterTemp ].fval = Value_Plus; //CurValueStr[ENUM_WaterTemp ].fval = Value_Plus;
CurValueStr[TCS_Warning_Lamp ].fval = Value_Plus; //CurValueStr[TCS_Warning_Lamp ].fval = Value_Plus;
CurValueStr[TCS_Work_Mode ].fval = Value_Plus; //CurValueStr[TCS_Work_Mode ].fval = Value_Plus;
CurValueStr[ISG_Power ].fval = Value_Plus; //CurValueStr[ISG_Power ].fval = Value_Plus;
CurValueStr[ISG_Power_Enable ].fval = Value_Plus; //CurValueStr[ISG_Power_Enable ].fval = Value_Plus;
CurValueStr[ECU_Warning_Lamp ].fval = 1; //CurValueStr[ECU_Warning_Lamp ].fval = 1;
CurValueStr[MMCU_PowerMode ].fval = 1; //CurValueStr[MMCU_PowerMode ].fval = 1;
......
...@@ -53,7 +53,7 @@ void APP_Button_Proc(void){ ...@@ -53,7 +53,7 @@ void APP_Button_Proc(void){
//count_flag_a = 1; //count_flag_a = 1;
Key.CAN_Step++; Key.CAN_Step++;
if(Key.CAN_Step > STEP_MAX){ if(Key.CAN_Step > STEP_MAX){
Key.CAN_Step = 1; Key.CAN_Step = 0;
} }
} }
Key.PushTime_1 = null; Key.PushTime_1 = null;
...@@ -79,6 +79,11 @@ void APP_Button_Proc(void){ ...@@ -79,6 +79,11 @@ void APP_Button_Proc(void){
#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; #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;
//uint16_t VSpeed(uint16_t speed)
//{
// return (speed * 108)/100;
//}
#define VSpeed(speed) ((speed * 100)/108 + 1)
unsigned int lost_flag = 0; unsigned int lost_flag = 0;
unsigned int CAN_init_flag = 0; unsigned int CAN_init_flag = 0;
unsigned int CAN_lost_flag = 0; unsigned int CAN_lost_flag = 0;
...@@ -96,175 +101,85 @@ void APP_ICM_Proc(void) /*zh321*/ /*FS04*/ ...@@ -96,175 +101,85 @@ void APP_ICM_Proc(void) /*zh321*/ /*FS04*/
// Disable_CAN_Tx(); // Disable_CAN_Tx();
// CAN_lost_flag = 0; // CAN_lost_flag = 0;
// } // }
CurValueStr[MMCU_PowerMode ].val = 2; CurValueStr[ECU_Warning_Lamp ].val = 0;
CurValueStr[TCS_Warning_Lamp ].val = 0;
//if(count_flag_a==1) //if(count_flag_a==1)
{//Format_CAN_Msg(); {//Format_CAN_Msg();
switch(Key.CAN_Step) switch(Key.CAN_Step)
{ {
// CurValueStr[ ].val = ; // CurValueStr[ENUM_VSpeed ].val = ;
// CurValueStr[ ].val = ; // CurValueStr[ENUM_RSpeed ].val = ;
// CurValueStr[ ].val = ;
// CurValueStr[ ].val = ;
// CurValueStr[ ].val = ; #if 1
case 0:
CurValueStr[ENUM_VSpeed ].val = 0;//VSpeed(20);
CurValueStr[ENUM_RSpeed ].val = 0;
break;
case 1: case 1:
{ {
CurValueStr[BMCU_Moto1_Locked_RotorFault ].val = 0; //刀盘过载 CurValueStr[ENUM_VSpeed ].val = VSpeed(20);
CurValueStr[MMCU_SeatDetectState ].val = 0; //座椅检测 CurValueStr[ENUM_RSpeed ].val = 1000;
CurValueStr[MBMS_TOTALSigAcc ].val = 0; //钥匙接入
CurValueStr[MBMS_TOTALSigCharg ].val = 0; //充电指示灯
CurValueStr[MMCU_PowerMode ].val = 2; // READY灯 充电灯和ready冲突
CurValueStr[BMCU_PTOSwicthState ].val = 0;
//CurValueStr[ENUM_VSpeed ].val
CurValueStr[MBMS_Soc1 ].val = 10;
CurValueStr[MBMS_Soc2 ].val = 10;
CurValueStr[MMCU_TravelSpeedGear ].val = 1;
CurValueStr[BMCU_BladeSpeedGear ].val = 0;
CurValueStr[MBMS_StatSoc ].val = 10;
CurValueStr[BMCU_Moto1_Locked_RotorFault ].val = 0;
}break; }break;
case 2: case 2:
{ {
CurValueStr[BMCU_Moto1_Locked_RotorFault ].val = 1; CurValueStr[ENUM_VSpeed ].val = VSpeed(40);
CurValueStr[MBMS_Soc1 ].val = 30; CurValueStr[ENUM_RSpeed ].val = 2000;
CurValueStr[MBMS_Soc2 ].val = 30;
CurValueStr[MMCU_TravelSpeedGear ].val = 2;
CurValueStr[BMCU_BladeSpeedGear ].val = 1;
CurValueStr[MBMS_StatSoc ].val = 30;
CurValueStr[MMCU_SeatDetectState ].val = 0;
}break; }break;
case 3: case 3:
{ {
CurValueStr[BMCU_Moto1_Locked_RotorFault ].val = 0; CurValueStr[ENUM_VSpeed ].val = VSpeed(60);
CurValueStr[ENUM_RSpeed ].val = 3000;
CurValueStr[MMCU_SeatDetectState ].val =1 ;
CurValueStr[MBMS_Soc1 ].val = 50;
CurValueStr[MBMS_Soc2 ].val = 50;
CurValueStr[MMCU_TravelSpeedGear ].val = 0;
CurValueStr[MMCU_ParkingGearState ].val = 1;
CurValueStr[BMCU_BladeSpeedGear ].val = 2;
CurValueStr[MBMS_StatSoc ].val = 50;
CurValueStr[MBMS_TOTALSigAcc ].val = 0;
}break; }break;
case 4: case 4:
{ {
CurValueStr[ECU_Warning_Lamp ].val = 1;
CurValueStr[MMCU_SeatDetectState ].val = 0; CurValueStr[ENUM_VSpeed ].val = VSpeed(80);
CurValueStr[ENUM_RSpeed ].val = 4000;
CurValueStr[MBMS_TOTALSigAcc ].val = 1;
CurValueStr[MBMS_Soc1 ].val = 70;
CurValueStr[MBMS_Soc2 ].val = 70;
CurValueStr[MMCU_TravelSpeedGear ].val = 0;
CurValueStr[MMCU_ParkingGearState ].val = 1;
CurValueStr[BMCU_BladeSpeedGear ].val = 3;
CurValueStr[MBMS_StatSoc ].val = 70;
CurValueStr[MMCU_PowerMode ].val = 2;
}break; }break;
case 5: case 5:
{ {
CurValueStr[MBMS_TOTALSigAcc ].val = 0; CurValueStr[ENUM_VSpeed ].val = VSpeed(100);
CurValueStr[MMCU_PowerMode ].val = 3; CurValueStr[ENUM_RSpeed ].val = 5000;
CurValueStr[MBMS_Soc1 ].val = 100;
CurValueStr[MBMS_Soc2 ].val = 100;
CurValueStr[MMCU_TravelSpeedGear ].val = 0;
CurValueStr[MMCU_ParkingGearState ].val = 1;
CurValueStr[BMCU_BladeSpeedGear ].val = 3;
CurValueStr[MBMS_StatSoc ].val = 100;
}break; }break;
case 6: case 6:
{ {
CurValueStr[MMCU_PowerMode ].val = 5; CurValueStr[ENUM_VSpeed ].val = VSpeed(120);
CurValueStr[MBMS_TOTALSigAcc ].val = 1; CurValueStr[ENUM_RSpeed ].val = 6000;
CurValueStr[MBMS_TOTALSigCharg ].val = 1;
CurValueStr[MBMS_Soc1 ].val = 100;
CurValueStr[MBMS_Soc2 ].val = 100;
CurValueStr[MMCU_TravelSpeedGear ].val = 0;
CurValueStr[MMCU_ParkingGearState ].val = 1;
CurValueStr[BMCU_BladeSpeedGear ].val = 3;
CurValueStr[MBMS_StatSoc ].val = 100;
//CurValueStr[MBMS_TOTALSigAcc ].val = 0;
//CurValueStr[MBMS_TOTALSigCharg ].val = 1;
CurValueStr[BMCU_PTOSwicthState ].val = 0;
}break; }break;
case 7: case 7:
{ {
CurValueStr[MMCU_PowerMode ].val = 2; CurValueStr[ENUM_VSpeed ].val = VSpeed(140);
CurValueStr[MBMS_TOTALSigAcc ].val = 0; CurValueStr[ENUM_RSpeed ].val = 7000;
CurValueStr[MBMS_TOTALSigCharg ].val = 0;
CurValueStr[BMCU_PTOSwicthState ].val = 1;
CurValueStr[MBMS_Soc1 ].val = 100;
CurValueStr[MBMS_Soc2 ].val = 100;
CurValueStr[MMCU_TravelSpeedGear ].val = 0;
CurValueStr[MMCU_ParkingGearState ].val = 1;
CurValueStr[BMCU_BladeSpeedGear ].val = 3;
CurValueStr[MBMS_StatSoc ].val = 100;
}break; }break;
case 8: case 8:
{ {
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[BMCU_PTOSwicthState ].val = 0; CurValueStr[ENUM_VSpeed ].val = VSpeed(160);
CurValueStr[ENUM_RSpeed ].val = 8000;
CurValueStr[MBMS_Soc1 ].val = 100;
CurValueStr[MBMS_Soc2 ].val = 100;
CurValueStr[MMCU_TravelSpeedGear ].val = 0;
CurValueStr[MMCU_ParkingGearState ].val = 1;
CurValueStr[BMCU_BladeSpeedGear ].val = 3;
CurValueStr[MBMS_StatSoc ].val = 100;
}break; }break;
case 9: case 9:
{ {
CurValueStr[MBMS_Soc1 ].val = 100; CurValueStr[ENUM_VSpeed ].val = VSpeed(180);
CurValueStr[MBMS_Soc2 ].val = 100; CurValueStr[ENUM_RSpeed ].val = 10000;
CurValueStr[MMCU_TravelSpeedGear ].val = 0;
CurValueStr[MMCU_ParkingGearState ].val = 1;
CurValueStr[BMCU_BladeSpeedGear ].val = 3;
CurValueStr[MBMS_StatSoc ].val = 100;
CurValueStr[BMCU_Moto1_Locked_RotorFault ].val = 0; //刀盘过载
CurValueStr[MMCU_SeatDetectState ].val = 0; //座椅检测
CurValueStr[MBMS_TOTALSigAcc ].val = 0; //钥匙接入
CurValueStr[MBMS_TOTALSigCharg ].val = 0; //充电指示灯
CurValueStr[MMCU_PowerMode ].val = 2; // READY灯
CurValueStr[BMCU_PTOSwicthState ].val = 0;
}break; }break;
case 10: case 10:
{ {
CurValueStr[BMCU_Moto1_Locked_RotorFault ].val = 1; //刀盘过载 CurValueStr[ECU_Warning_Lamp ].val = 1;
CurValueStr[MMCU_SeatDetectState ].val = 1; //座椅检测 CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[MBMS_TOTALSigAcc ].val = 1; //钥匙接入 CurValueStr[ENUM_VSpeed ].val = VSpeed(199);
CurValueStr[MBMS_TOTALSigCharg ].val = 1; //充电指示灯 CurValueStr[ENUM_RSpeed ].val = 12000;
CurValueStr[MMCU_PowerMode ].val = 3; // READY灯 充电灯和ready冲突
CurValueStr[BMCU_PTOSwicthState ].val = 1;
CurValueStr[MBMS_Soc1 ].val = 100;
CurValueStr[MBMS_Soc2 ].val = 100;
CurValueStr[MMCU_TravelSpeedGear ].val = 0;
CurValueStr[MMCU_ParkingGearState ].val = 1;
CurValueStr[BMCU_BladeSpeedGear ].val = 3;
CurValueStr[MBMS_StatSoc ].val = 100;
}break; }break;
case 11: case 11:
...@@ -276,6 +191,8 @@ void APP_ICM_Proc(void) /*zh321*/ /*FS04*/ ...@@ -276,6 +191,8 @@ void APP_ICM_Proc(void) /*zh321*/ /*FS04*/
{ {
}break; }break;
#endif
} }
} }
......
...@@ -39,6 +39,13 @@ typedef struct{ ...@@ -39,6 +39,13 @@ typedef struct{
enum enum
{ {
ENUM_VSpeed = 0,//����
ENUM_RSpeed,
ECU_Warning_Lamp,
TCS_Warning_Lamp,
CAN_List_Num ,
#if 0
ENUM_VSpeed = 0,//���� ENUM_VSpeed = 0,//����
ENUM_RSpeed ,//�??�?? ENUM_RSpeed ,//�??�??
ENUM_WaterTemp ,// 温度 ENUM_WaterTemp ,// 温度
...@@ -70,12 +77,19 @@ enum ...@@ -70,12 +77,19 @@ enum
BMCU_Moto1_Locked_RotorFault, BMCU_Moto1_Locked_RotorFault,
CAN_List_Num , CAN_List_Num ,
#endif
}; };
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, 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_402, 7, 7, 1, 0, Offset_Plus, 1, 1, &CurValueStr[ECU_Warning_Lamp ], Motorola},
{&CanMsg_37B, 3, 2, 1, 0, Offset_Plus, 1, 1, &CurValueStr[TCS_Warning_Lamp ], Motorola}
#if 0
{&CanMsg_101, 2, 0, 8, 0, Offset_Plus, 1, 1, &CurValueStr[ENUM_VSpeed ], Motorola}, {&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, 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_101, 5, 0, 16, 273, Offset_Minus, 10, 1, &CurValueStr[ENUM_WaterTemp ], Motorola},
...@@ -109,7 +123,7 @@ static const s_CAN_List CAN_List[] = ...@@ -109,7 +123,7 @@ static const s_CAN_List CAN_List[] =
{&CanMsg_SOC, 4, 0, 8, 0, Offset_Plus, 1, 1, &CurValueStr[MBMS_StatSoc ], Motorola}, {&CanMsg_SOC, 4, 0, 8, 0, Offset_Plus, 1, 1, &CurValueStr[MBMS_StatSoc ], Motorola},
{&CanMsg_38E, 1, 0, 1, 0, Offset_Plus, 1, 1, &CurValueStr[BMCU_Moto1_Locked_RotorFault ], Motorola}, {&CanMsg_38E, 1, 0, 1, 0, Offset_Plus, 1, 1, &CurValueStr[BMCU_Moto1_Locked_RotorFault ], Motorola},
#endif
}; };
......
...@@ -10,7 +10,7 @@ Target=USBDM ...@@ -10,7 +10,7 @@ Target=USBDM
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,1368,-956,2520,-291 MainFrame=0,1,-1,-1,-1,-1,-634,-383,518,282
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
...@@ -45,7 +45,7 @@ NV_AUTO_ID=1 ...@@ -45,7 +45,7 @@ NV_AUTO_ID=1
[USBDM] [USBDM]
COMSETTINGS=SETCOMM DRIVER NOPROTOCOL NOPERIODICAL COMSETTINGS=SETCOMM DRIVER NOPROTOCOL NOPERIODICAL
NV_PARAMETER_FILE=C:\Program Files (x86)\Freescale\CWS12v5.1\prog\FPP\mcu02F2.fpp NV_PARAMETER_FILE=
NV_SAVE_WSP=0 NV_SAVE_WSP=0
NV_AUTO_ID=1 NV_AUTO_ID=1
......
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