Commit 11c9b80e authored by 郑萍's avatar 郑萍

feat:can外发调试成功

parent b9ac31af
......@@ -30,3 +30,20 @@ void Interact_Light_Process(void)
TimerM_PWM_set_duty(TIMERM_COUNTER0, TIMERM_CHD, 0);
}
}
uint8_t Get_Interact_Light_State(void)
{
uint8_t stata = 0x0;
if(interact_PWM_Low_Duty == 0)
{
stata = 0x1;
}
else if(interact_PWM_Low_Duty == 30)
{
stata = 0x2;
}
else if(interact_PWM_Low_Duty == 50)
{
stata = 0x3;
}
return stata;
}
......@@ -5,6 +5,7 @@
extern uint8_t interact_PWM_Low_Duty;
void BackLight_Process(void);
void Interact_Light_Process(void);
extern uint8_t Get_Interact_Light_State(void);
#endif
......
......@@ -8,22 +8,13 @@ st_CanMsgTxOp CAN_CH0_CanMsgTxOp;
const st_CAN_SendAttribute CAN_CH0_CANSendAttr[CAN_CH0_ID_SEND_TOTAL] =
{
{0x3A2ul, 2ul * 100ul, 0ul, 0u, MSG_STD, 1u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_3A2, (void *)0},
{0x3A7ul, 2ul * 100ul, 0ul, 0u, MSG_EXT, 1u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_3A7, (void *)0},
{0x3A2ul, 200ul * 100ul, 0ul, 0u, MSG_STD, 1u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_3A2, (void *)0},
{0x3A7ul, 200ul * 100ul, 0ul, 0u, MSG_STD, 1u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_3A7, (void *)0},
{0x393ul, 200ul * 100ul, 0ul, 0u, MSG_STD, 1u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_393, (void *)0},
};
uint8_t System_Indicator_CANFlag = 0;
const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{
{
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
3000ul,
0x393ul,
(( void * )0),
(( void * )0),
(( void * )0),
},
{
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
......@@ -44,26 +35,6 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
(( void * )0),
(( void * )0),
},
{
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
2000ul,
0x3A2ul,
(( void * )0),
(( void * )0),
(( void * )0),
},
{
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
2000ul,
0x3A7ul,
(( void * )0),
(( void * )0),
(( void * )0),
},
{
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
......@@ -205,40 +176,6 @@ uint8_t Get_CAN_Power_State(void)
}
return state;
}
uint8_t Get_CAN_CH0_ID_393_Sig_ICU_ProtoSubVer(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x393_Msg_Count, 6u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_393_Sig_ICU_ProtoVer(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x393_Msg_Count, 5u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_393_Sig_ICU_SoftPhaseVer(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x393_Msg_Count, 4u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_393_Sig_ICU_SubSoftVer(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x393_Msg_Count, 3u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_393_Sig_ICU_SoftVer(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x393_Msg_Count, 2u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_393_Sig_ICU_SubHardVer(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x393_Msg_Count, 1u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_393_Sig_ICU_HardVer(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x393_Msg_Count, 0u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_398_Sig_ICU_SN0(void)
{
......@@ -302,91 +239,6 @@ uint16_t Get_CAN_CH0_ID_39D_Sig_ICU_ProductName(void)
((uint16_t)((uint16_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x39D_Msg_Count, 1u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_BluetoothConnectState(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x3A2_Msg_Count, 2u) >> 4u) & 0x07u));
}
uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_kEY_EState(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x3A2_Msg_Count, 2u) >> 1u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_kEY_DState(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x3A2_Msg_Count, 2u) >> 0u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_kEY_CState(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x3A2_Msg_Count, 1u) >> 7u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_kEY_BState(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x3A2_Msg_Count, 1u) >> 6u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_kEY_AState(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x3A2_Msg_Count, 1u) >> 5u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_GrassFullState(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x3A2_Msg_Count, 1u) >> 4u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_IndicatorLightPowerState(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x3A2_Msg_Count, 1u) >> 3u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_IndicatorLightState(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x3A2_Msg_Count, 1u) >> 0u) & 0x07u));
}
uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_BuzzerState(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x3A2_Msg_Count, 0u) >> 6u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_LEDLightState(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x3A2_Msg_Count, 0u) >> 5u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_KL15State(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x3A2_Msg_Count, 0u) >> 4u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_POWERStateFB(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x3A2_Msg_Count, 0u) >> 0u) & 0x0Fu));
}
uint8_t Get_CAN_CH0_ID_3A7_Sig_ICU_VCUCommunicatlost(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x3A7_Msg_Count, 0u) >> 3u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_3A7_Sig_ICU_MCUCommunicatlost(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x3A7_Msg_Count, 0u) >> 2u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_3A7_Sig_ICU_SlaveBMSCommunicatlost(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x3A7_Msg_Count, 0u) >> 1u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_3A7_Sig_ICU_MasterBMSCommunicatlost(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x3A7_Msg_Count, 0u) >> 0u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_157_Sig_BMCU_ErrorGrage(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x157_Msg_Count, 4u) >> 0u) & 0x07u));
......@@ -528,21 +380,12 @@ uint8_t Co_Can_ConvertSubID_CAN_CH0(uint32_t MsgID)
uint8_t u8Result = CAN_CH0_ID_TOTAL_MAX;
switch (MsgID)
{
case CAN_CH0_ID_CAN_0x393_Msg:
u8Result = CAN_CH0_ID_CAN_0x393_Msg_Count;
break;
case CAN_CH0_ID_CAN_0x398_Msg:
u8Result = CAN_CH0_ID_CAN_0x398_Msg_Count;
break;
case CAN_CH0_ID_CAN_0x39D_Msg:
u8Result = CAN_CH0_ID_CAN_0x39D_Msg_Count;
break;
case CAN_CH0_ID_CAN_0x3A2_Msg:
u8Result = CAN_CH0_ID_CAN_0x3A2_Msg_Count;
break;
case CAN_CH0_ID_CAN_0x3A7_Msg:
u8Result = CAN_CH0_ID_CAN_0x3A7_Msg_Count;
break;
case CAN_CH0_ID_CAN_0x157_Msg:
u8Result = CAN_CH0_ID_CAN_0x157_Msg_Count;
break;
......
......@@ -11,11 +11,8 @@ extern st_CanMsgTxOp CAN_CH0_CanMsgTxOp;
typedef enum
{
CAN_CH0_ID_CAN_0x393_Msg_Count,
CAN_CH0_ID_CAN_0x398_Msg_Count,
CAN_CH0_ID_CAN_0x39D_Msg_Count,
CAN_CH0_ID_CAN_0x3A2_Msg_Count,
CAN_CH0_ID_CAN_0x3A7_Msg_Count,
CAN_CH0_ID_CAN_0x157_Msg_Count,
CAN_CH0_ID_CAN_0x38E_Msg_Count,
CAN_CH0_ID_CAN_0x18200A20_Msg_Count,
......@@ -47,17 +44,15 @@ typedef enum
CAN_CH0_ID_SEND_3A2_TOTAL,
CAN_CH0_ID_SEND_3A7_TOTAL,
CAN_CH0_ID_SEND_393_TOTAL,
CAN_CH0_ID_SEND_TOTAL,
} CAN_CH0_CAN_MSG_SEND_ID_t;
extern const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] ;
extern const st_CAN_SendAttribute CAN_CH0_CANSendAttr[CAN_CH0_ID_SEND_TOTAL] ;
#define CAN_CH0_ID_CAN_0x393_Msg 0x393ul
#define CAN_CH0_ID_CAN_0x398_Msg 0x398ul
#define CAN_CH0_ID_CAN_0x39D_Msg 0x39Dul
#define CAN_CH0_ID_CAN_0x3A2_Msg 0x3A2ul
#define CAN_CH0_ID_CAN_0x3A7_Msg 0x3A7ul
#define CAN_CH0_ID_CAN_0x157_Msg 0x157ul
#define CAN_CH0_ID_CAN_0x38E_Msg 0x38Eul
#define CAN_CH0_ID_CAN_0x18200A20_Msg 0x18200A20ul
......@@ -69,13 +64,6 @@ extern const st_CAN_SendAttribute CAN_CH0_CANSendAttr[CAN_CH0_ID_SEND_TOTAL]
#define CAN_CH0_ID_CAN_0x18200A21_Msg 0x18200A21ul
#define CAN_CH0_ID_CAN_0x134_Msg 0x134ul
extern uint8_t Get_CAN_CH0_ID_393_Sig_ICU_ProtoSubVer(void);
extern uint8_t Get_CAN_CH0_ID_393_Sig_ICU_ProtoVer(void);
extern uint8_t Get_CAN_CH0_ID_393_Sig_ICU_SoftPhaseVer(void);
extern uint8_t Get_CAN_CH0_ID_393_Sig_ICU_SubSoftVer(void);
extern uint8_t Get_CAN_CH0_ID_393_Sig_ICU_SoftVer(void);
extern uint8_t Get_CAN_CH0_ID_393_Sig_ICU_SubHardVer(void);
extern uint8_t Get_CAN_CH0_ID_393_Sig_ICU_HardVer(void);
extern uint8_t Get_CAN_CH0_ID_398_Sig_ICU_SN0(void);
extern uint8_t Get_CAN_CH0_ID_398_Sig_ICU_SN1(void);
extern uint8_t Get_CAN_CH0_ID_398_Sig_ICU_SN2(void);
......@@ -88,23 +76,6 @@ extern uint8_t Get_CAN_CH0_ID_39D_Sig_ICU_ProductYear(void);
extern uint8_t Get_CAN_CH0_ID_39D_Sig_ICU_CustomerCode(void);
extern uint16_t Get_CAN_CH0_ID_39D_Sig_ICU_ProductCode(void);
extern uint16_t Get_CAN_CH0_ID_39D_Sig_ICU_ProductName(void);
extern uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_BluetoothConnectState(void);
extern uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_kEY_EState(void);
extern uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_kEY_DState(void);
extern uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_kEY_CState(void);
extern uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_kEY_BState(void);
extern uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_kEY_AState(void);
extern uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_GrassFullState(void);
extern uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_IndicatorLightPowerState(void);
extern uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_IndicatorLightState(void);
extern uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_BuzzerState(void);
extern uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_LEDLightState(void);
extern uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_KL15State(void);
extern uint8_t Get_CAN_CH0_ID_3A2_Sig_ICU_POWERStateFB(void);
extern uint8_t Get_CAN_CH0_ID_3A7_Sig_ICU_VCUCommunicatlost(void);
extern uint8_t Get_CAN_CH0_ID_3A7_Sig_ICU_MCUCommunicatlost(void);
extern uint8_t Get_CAN_CH0_ID_3A7_Sig_ICU_SlaveBMSCommunicatlost(void);
extern uint8_t Get_CAN_CH0_ID_3A7_Sig_ICU_MasterBMSCommunicatlost(void);
extern uint8_t Get_CAN_CH0_ID_157_Sig_BMCU_ErrorGrage(void);
extern uint8_t Get_CAN_CH0_ID_157_Sig_BMCU_BladeSpeedGear(void);
extern uint8_t Get_CAN_CH0_ID_157_Sig_BMCU_PTOSwicthState(void);
......
#include "Can_App.h"
void Can_Set_Buff_500(canlib_uint8_t CopyData[])
{
CANMsg500Union *p500;
uint8_t i = 0;
for (i = 0; i < 8; i++)
{
CopyData[i] = 0xFFU;
}
p500 = (CANMsg500Union *)CopyData;
if (p500 != (void *)0)
{
p500->Sig.Key_ISTOP = 1;
p500->Msg[1] = 0x00;
p500->Msg[2] = 0x00;
p500->Msg[3] = 0x00;
p500->Msg[4] = 0x00;
p500->Msg[5] = 0x00;
p500->Msg[6] = 0x00;
p500->Msg[7] = 0x00;
}
}
void Can_Set_Buff_3A2(canlib_uint8_t CopyData[])
{
CANMsg3A2Union *p3A2;
......@@ -33,23 +12,33 @@ void Can_Set_Buff_3A2(canlib_uint8_t CopyData[])
p3A2 = (CANMsg3A2Union *)CopyData;
if (p3A2 != (void *)0)
{
p3A2->Sig.ICU_POWERStateFB = 1;
p3A2->Sig.ICU_KL15State = 1;
p3A2->Sig.ICU_LEDLightState = 1;
p3A2->Sig.ICU_BuzzerState = 1;
p3A2->Sig.ICU_IndicatorLightState = 1;
p3A2->Sig.ICU_POWERStateFB = Get_CAN_Power_State();
p3A2->Sig.ICU_KL15State = (Get_CAN_Power_State() != KEY_OFF);
p3A2->Sig.ICU_LEDLightState = Get_LINE_IN_BigLED();
p3A2->Sig.ICU_BuzzerState = 1;//蜂鸣器
p3A2->Sig.Res0 = 0;
p3A2->Sig.ICU_IndicatorLightState = Get_Interact_Light_State();
p3A2->Sig.ICU_IndicatorLightPowerState = 1;
p3A2->Sig.ICU_GrassFullState = 1;
p3A2->Sig.ICU_kEY_AState = 1;
p3A2->Sig.ICU_kEY_BState = 1;
p3A2->Sig.ICU_kEY_CState = 1;
p3A2->Sig.ICU_kEY_DState = 1;
p3A2->Sig.ICU_kEY_EState = 1;
p3A2->Sig.ICU_BluetoothConnectState = 1;
p3A2->Msg[4] = 0x00;
p3A2->Msg[5] = 0x00;
p3A2->Msg[6] = 0x00;
p3A2->Msg[7] = 0x00;
p3A2->Sig.ICU_GrassFullState = Get_LINE_IN_GrassFull();
p3A2->Sig.Res1 = 0x0;
p3A2->Sig.Res2 = 0x00;
p3A2->Sig.Res3 = 0x00;
p3A2->Sig.Res4 = 0x00;
p3A2->Sig.Res5 = 0x00;
p3A2->Sig.Res6 = 0x00;
p3A2->Sig.Res7 = 0x00;
// p3A2->Sig.ICU_MasterBMSCommunicatlost = 1;
// p3A2->Sig.ICU_SlaveBMSCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A21_Msg)) == CAN_ERR_OK);
// p3A2->Sig.ICU_MCUCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x157_Msg)) == CAN_ERR_OK);
// p3A2->Sig.ICU_VCUCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x125_Msg)) == CAN_ERR_OK);
// p3A2->Sig.Res0 = 0x0;
// p3A2->Sig.Res1 = 0x00;
// p3A2->Sig.Res2 = 0x00;
// p3A2->Sig.Res3 = 0x00;
// p3A2->Sig.Res4 = 0x00;
// p3A2->Sig.Res5 = 0x00;
// p3A2->Sig.Res6 = 0x00;
// p3A2->Sig.Res7 = 0x00;
}
}
void Can_Set_Buff_3A7(canlib_uint8_t CopyData[])
......@@ -63,16 +52,40 @@ void Can_Set_Buff_3A7(canlib_uint8_t CopyData[])
p3A7 = (CANMsg3A7Union *)CopyData;
if (p3A7 != (void *)0)
{
p3A7->Sig.ICU_MasterBMSCommunicatlost = 1;
p3A7->Sig.ICU_SlaveBMSCommunicatlost = 1;
p3A7->Sig.ICU_MCUCommunicatlost = 1;
p3A7->Sig.ICU_VCUCommunicatlost = 1;
p3A7->Msg[1] = 0x00;
p3A7->Msg[2] = 0x00;
p3A7->Msg[3] = 0x00;
p3A7->Msg[4] = 0x00;
p3A7->Msg[5] = 0x00;
p3A7->Msg[6] = 0x00;
p3A7->Msg[7] = 0x00;
p3A7->Sig.ICU_MasterBMSCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A20_Msg)) == CAN_ERR_OK);
p3A7->Sig.ICU_SlaveBMSCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A21_Msg)) == CAN_ERR_OK);
p3A7->Sig.ICU_MCUCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x157_Msg)) == CAN_ERR_OK);
p3A7->Sig.ICU_VCUCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x125_Msg)) == CAN_ERR_OK);
p3A7->Sig.Res0 = 0x0;
p3A7->Sig.Res1 = 0x00;
p3A7->Sig.Res2 = 0x00;
p3A7->Sig.Res3 = 0x00;
p3A7->Sig.Res4 = 0x00;
p3A7->Sig.Res5 = 0x00;
p3A7->Sig.Res6 = 0x00;
p3A7->Sig.Res7 = 0x00;
}
}
void Can_Set_Buff_393(canlib_uint8_t CopyData[])
{
CANMsg393Union *p393;
uint8_t i = 0;
for (i = 0; i < 8; i++)
{
CopyData[i] = 0xFFU;
}
p393 = (CANMsg393Union *)CopyData;
if (p393 != (void *)0)
{
p393->Sig.ICU_HardVer = 1;
p393->Sig.ICU_SubHardVer = 1;
p393->Sig.ICU_SoftVer = 1;
p393->Sig.ICU_SubSoftVer = 1;
p393->Sig.ICU_SoftPhaseVer = 1;
p393->Sig.Res0 = 0x0;
p393->Sig.ICU_ProtoVer = 1;
p393->Sig.ICU_ProtoSubVer = 1;
p393->Sig.Res1 = 0x00;
}
}
......@@ -5,25 +5,9 @@
#include "Application.h"
#include "Components.h"
void Can_Set_Buff_500(canlib_uint8_t CopyData[]);
void Can_Set_Buff_3A2(canlib_uint8_t CopyData[]);
void Can_Set_Buff_3A7(canlib_uint8_t CopyData[]);
typedef union
{
uint8_t Msg [ 8 ];
struct
{
uint8_t Key_ISTOP : 8;
uint8_t Res1: 8;
uint8_t Res2: 8;
uint8_t Res3: 8;
uint8_t Res4: 8;
uint8_t Res5: 8;
uint8_t Res6 : 8;
uint8_t Res7 : 8;
} Sig;
} CANMsg500Union;
void Can_Set_Buff_393(canlib_uint8_t CopyData[]);
typedef union
{
......@@ -34,22 +18,31 @@ typedef union
uint8_t ICU_KL15State : 1;
uint8_t ICU_LEDLightState : 1;
uint8_t ICU_BuzzerState : 1;
uint8_t Res0: 1;
uint8_t ICU_IndicatorLightState : 3;
uint8_t ICU_IndicatorLightPowerState : 1;
uint8_t ICU_GrassFullState : 1;
uint8_t ICU_kEY_AState : 1;
uint8_t ICU_kEY_BState : 1;
uint8_t ICU_kEY_CState : 1;
uint8_t ICU_kEY_DState : 1;
uint8_t ICU_kEY_EState : 1;
uint8_t ICU_BluetoothConnectState : 3;
uint8_t Res2: 4;
uint8_t Res1: 3;
uint8_t Res2: 8;
uint8_t Res3: 8;
uint8_t Res4: 8;
uint8_t Res5: 8;
uint8_t Res6 : 8;
uint8_t Res7 : 8;
// uint8_t ICU_MasterBMSCommunicatlost : 1;
// uint8_t ICU_SlaveBMSCommunicatlost : 1;
// uint8_t ICU_MCUCommunicatlost : 1;
// uint8_t ICU_VCUCommunicatlost : 1;
// uint8_t Res0: 4;
// uint8_t Res1: 8;
// uint8_t Res2: 8;
// uint8_t Res3: 8;
// uint8_t Res4: 8;
// uint8_t Res5: 8;
// uint8_t Res6 : 8;
// uint8_t Res7 : 8;
} Sig;
} CANMsg3A2Union;
......@@ -74,5 +67,22 @@ typedef union
} Sig;
} CANMsg3A7Union;
typedef union
{
uint8_t Msg [ 8 ];
struct
{
uint8_t ICU_HardVer : 8;
uint8_t ICU_SubHardVer : 8;
uint8_t ICU_SoftVer : 8;
uint8_t ICU_SubSoftVer : 8;
uint8_t ICU_SoftPhaseVer: 4;
uint8_t Res0: 4;
uint8_t ICU_ProtoVer: 8;
uint8_t ICU_ProtoSubVer: 8;
uint8_t Res1: 8;
} Sig;
} CANMsg393Union;
#endif
......@@ -72,7 +72,7 @@ void Can_RX_Apply_Buff(void)
CAN_MessageCache_Init(CAN0MSG03, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG03, ENABLE);
CAN_RecvMsg.Id = 0x3A2;
CAN_RecvMsg.Id = 0x339;
CAN_RecvMsg.IDE = CAN_Id_Standard;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask;
CAN_RecvMsg.RTR = CAN_RTR_Data;
......@@ -81,8 +81,8 @@ void Can_RX_Apply_Buff(void)
CAN_MessageCache_Init(CAN0MSG04, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG04, ENABLE);
CAN_RecvMsg.Id = 0x339;
CAN_RecvMsg.IDE = CAN_Id_Standard;
CAN_RecvMsg.Id = 0x18202922;
CAN_RecvMsg.IDE = CAN_Id_Extended;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask;
CAN_RecvMsg.RTR = CAN_RTR_Data;
CAN_RecvMsg.Interrupt = ENABLE;
......@@ -90,7 +90,7 @@ void Can_RX_Apply_Buff(void)
CAN_MessageCache_Init(CAN0MSG05, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG05, ENABLE);
CAN_RecvMsg.Id = 0x18202922;
CAN_RecvMsg.Id = 0x18200A20;
CAN_RecvMsg.IDE = CAN_Id_Extended;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask;
CAN_RecvMsg.RTR = CAN_RTR_Data;
......@@ -99,7 +99,7 @@ void Can_RX_Apply_Buff(void)
CAN_MessageCache_Init(CAN0MSG06, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG06, ENABLE);
CAN_RecvMsg.Id = 0x18200A20;
CAN_RecvMsg.Id = 0x18200A21;
CAN_RecvMsg.IDE = CAN_Id_Extended;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask;
CAN_RecvMsg.RTR = CAN_RTR_Data;
......@@ -108,16 +108,16 @@ void Can_RX_Apply_Buff(void)
CAN_MessageCache_Init(CAN0MSG07, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG07, ENABLE);
CAN_RecvMsg.Id = 0x18200A21;
CAN_RecvMsg.Id = 0x18203220;
CAN_RecvMsg.IDE = CAN_Id_Extended;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask;
CAN_RecvMsg.RTR = CAN_RTR_Data;
CAN_RecvMsg.Interrupt = ENABLE;
CAN_MessageCache_DeInit(CAN0MSG12);
CAN_MessageCache_Init(CAN0MSG12, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG12, ENABLE);
CAN_MessageCache_DeInit(CAN0MSG08);
CAN_MessageCache_Init(CAN0MSG08, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG08, ENABLE);
CAN_RecvMsg.Id = 0x18203220;
CAN_RecvMsg.Id = 0x18203020;
CAN_RecvMsg.IDE = CAN_Id_Extended;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask;
CAN_RecvMsg.RTR = CAN_RTR_Data;
......@@ -126,15 +126,6 @@ void Can_RX_Apply_Buff(void)
CAN_MessageCache_Init(CAN0MSG09, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG09, ENABLE);
CAN_RecvMsg.Id = 0x18203020;
CAN_RecvMsg.IDE = CAN_Id_Extended;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask;
CAN_RecvMsg.RTR = CAN_RTR_Data;
CAN_RecvMsg.Interrupt = ENABLE;
CAN_MessageCache_DeInit(CAN0MSG13);
CAN_MessageCache_Init(CAN0MSG13, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG13, ENABLE);
CAN_RecvMsg.Id = DIAG_ID_Rx_PHY;
CAN_RecvMsg.IDE = CAN_Id_Standard;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask;
......@@ -173,8 +164,8 @@ void Can_Tx_Apply_Buff(void)
CAN_SendMsg.Data[i] = 0;
}
CAN_MessageCache_DeInit(CAN1MSG00);
CAN_MessageCache_Init(CAN1MSG00, &CAN_SendMsg);
CAN_MessageCache_DeInit(CAN0MSG12);
CAN_MessageCache_Init(CAN0MSG12, &CAN_SendMsg);
CAN_SendMsg.Id = 0x3A7;
CAN_SendMsg.IDE = CAN_Id_Standard;
......@@ -187,8 +178,23 @@ void Can_Tx_Apply_Buff(void)
CAN_SendMsg.Data[i] = 0;
}
CAN_MessageCache_DeInit(CAN1MSG01);
CAN_MessageCache_Init(CAN1MSG01, &CAN_SendMsg);
CAN_MessageCache_DeInit(CAN0MSG13);
CAN_MessageCache_Init(CAN0MSG13, &CAN_SendMsg);
CAN_SendMsg.Id = 0x393;
CAN_SendMsg.IDE = CAN_Id_Standard;
CAN_SendMsg.CacheType = CAN_CacheType_Tx;
CAN_SendMsg.RTR = CAN_RTR_Data;
CAN_RecvMsg.Interrupt = DISABLE;
CAN_SendMsg.DLC = 8;
for (uint8_t i = 0; i < CAN_SendMsg.DLC; i++)
{
CAN_SendMsg.Data[i] = 0;
}
CAN_MessageCache_DeInit(CAN0MSG14);
CAN_MessageCache_Init(CAN0MSG14, &CAN_SendMsg);
CAN_SendMsg_Diag_Tx.Id = DIAG_ID_Tx;
......@@ -202,8 +208,8 @@ void Can_Tx_Apply_Buff(void)
CAN_SendMsg_Diag_Tx.Data[i] = 0;
}
CAN_MessageCache_DeInit(CAN1MSG02);
CAN_MessageCache_Init(CAN1MSG02, &CAN_SendMsg_Diag_Tx);
CAN_MessageCache_DeInit(CAN0MSG15);
CAN_MessageCache_Init(CAN0MSG15, &CAN_SendMsg_Diag_Tx);
}
/**
* @brief 用于接收回调函数
......@@ -326,10 +332,13 @@ void Can_Write(st_CAN_Msg *Msg)
switch (CAN_SendMsg.Id)
{
case 0x3A2:
CAN_Transmit(CAN0MSG08, &CAN_SendMsg);
CAN_Transmit(CAN0MSG12, &CAN_SendMsg);
break;
case 0x3A7:
CAN_Transmit(CAN0MSG10, &CAN_SendMsg);
CAN_Transmit(CAN0MSG13, &CAN_SendMsg);
break;
case 0x393:
CAN_Transmit(CAN0MSG14, &CAN_SendMsg);
break;
default:
break;
......
......@@ -278,7 +278,7 @@ void Gauge_Service(void)
{
if (Get_CAN_Power_State() != PKEY_ON)
{
if (Common_GetIgnOnTime() >= 3000)
if (Common_GetIgnOnTime() >= 1500)
{
SOC_charge_seg_Flag = 0;
Checkself_Init();
......
......@@ -5,15 +5,15 @@
#include "wdt.h"
#define u16Base_Vol 0u
#define u16ENTER_LOW_N_RANGE 7000U
#define u16EXIT_LOW_N_RANGE 7500U
#define u16ENTER_LOW_N_RANGE 6500U
#define u16EXIT_LOW_N_RANGE 7000U
#define u16ENTER_LOW_Y_RANGE 9000U
#define u16EXIT_LOW_Y_RANGE 10000U
#define u16EXIT_HIGH_Y_RANGE 0xffffu
#define u16ENTER_HIGH_Y_RANGE 0xffffu
#define u16EXIT_HIGH_N_RANGE 0xffffu
#define u16ENTER_HIGH_N_RANGE 0xffffu
#define u16EXIT_HIGH_Y_RANGE 17500U
#define u16ENTER_HIGH_Y_RANGE 18000U
#define u16EXIT_HIGH_N_RANGE 18000U
#define u16ENTER_HIGH_N_RANGE 19000U
#define u16Top_Vol 0xffffu
......
......@@ -547,30 +547,30 @@ static void LED_Engine_Works_Execution(Tellib_uint16_t led_status)
}
static Tellib_uint16_t LED_Bluetooth_Connection_Judgement(void)
{
Tellib_uint16_t LED_STATE = 0u;
Tellib_uint8_t Signal1 = Get_CAN_CH0_ID_3A2_Sig_ICU_BluetoothConnectState();
if (Signal1)
{
LED_STATE = 1;
}
else
{
LED_STATE = 0;
}
return LED_STATE;
// Tellib_uint16_t LED_STATE = 0u;
// Tellib_uint8_t Signal1 = Get_CAN_CH0_ID_3A2_Sig_ICU_BluetoothConnectState();
// if (Signal1)
// {
// LED_STATE = 1;
// }
// else
// {
// LED_STATE = 0;
// }
// return LED_STATE;
}
static void LED_Bluetooth_Connection_Execution(Tellib_uint16_t led_status)
{
if ( led_status == 1u )
{
LED_Driver_Channel_Set(LampChannel_0, LampCh0_22_Bluetooth_Connection_W, LED_ON);
SEG_SET_LED_STS(SEG_LED_bluetooth,1);
}
else
{
LED_Driver_Channel_Set(LampChannel_0, LampCh0_22_Bluetooth_Connection_W, LED_OFF);
SEG_SET_LED_STS(SEG_LED_bluetooth,0);
}
// if ( led_status == 1u )
// {
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_22_Bluetooth_Connection_W, LED_ON);
// SEG_SET_LED_STS(SEG_LED_bluetooth,1);
// }
// else
// {
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_22_Bluetooth_Connection_W, LED_OFF);
// SEG_SET_LED_STS(SEG_LED_bluetooth,0);
// }
}
static Tellib_uint16_t LED_LED_Open_Judgement(void)
{
......
......@@ -9,6 +9,7 @@ typedef struct
uint32_t u32Task10msCnt;
uint32_t u32Task20msCnt;
uint32_t u32Task50msCnt;
uint32_t u32Task75msCnt;
uint32_t u32Task100msCnt;
} Sys_Scheduler_st_t;
......@@ -245,6 +246,7 @@ void Sys_Scheduler_Start(uint32_t u32SchCycle)
g_stSysScheduler.u32Task10msCnt = 1UL;
g_stSysScheduler.u32Task20msCnt = 3UL;
g_stSysScheduler.u32Task50msCnt = 5UL;
g_stSysScheduler.u32Task75msCnt = 6UL;
g_stSysScheduler.u32Task100msCnt = 7UL;
}
......@@ -301,6 +303,13 @@ void Sys_Scheduling_Service(void)
Sys_50ms_Tasks();
}
g_stSysScheduler.u32Task75msCnt += u32msDelta;
if (g_stSysScheduler.u32Task75msCnt >= 75UL)
{
g_stSysScheduler.u32Task75msCnt %= 75UL;
Sys_75ms_Tasks();
}
g_stSysScheduler.u32Task100msCnt += u32msDelta;
if (g_stSysScheduler.u32Task100msCnt >= 100UL)
{
......
......@@ -41,4 +41,5 @@ extern void Sys_5ms_Tasks(void);
extern void Sys_10ms_Tasks(void);
extern void Sys_20ms_Tasks(void);
extern void Sys_50ms_Tasks(void);
extern void Sys_75ms_Tasks(void);
extern void Sys_100ms_Tasks(void);
......@@ -54,6 +54,11 @@ void Sys_50ms_Tasks(void)
// Key_Check_Service();
}
void Sys_75ms_Tasks(void)
{
}
uint8_t u8LEDDriverCheckCount = 0U;
void Sys_100ms_Tasks(void)
{
......
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