Commit b9ac31af authored by 郑萍's avatar 郑萍

feat:增加电量正常显示以及充电显示动画

parent d461b871
...@@ -41,90 +41,117 @@ void Can_RX_Apply_Buff(void) ...@@ -41,90 +41,117 @@ void Can_RX_Apply_Buff(void)
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask; CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask;
CAN_RecvMsg.RTR = CAN_RTR_Data; CAN_RecvMsg.RTR = CAN_RTR_Data;
CAN_RecvMsg.Interrupt = ENABLE; CAN_RecvMsg.Interrupt = ENABLE;
CAN_MessageCache_DeInit(CAN0MSG01); CAN_MessageCache_DeInit(CAN0MSG00);
CAN_MessageCache_Init(CAN0MSG01, &CAN_RecvMsg); CAN_MessageCache_Init(CAN0MSG00, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG01, ENABLE); CAN_MessageCache_OverWriteConfig(CAN0MSG00, ENABLE);
CAN_RecvMsg.Id = 0x134; CAN_RecvMsg.Id = 0x134;
CAN_RecvMsg.IDE = CAN_Id_Standard; CAN_RecvMsg.IDE = CAN_Id_Standard;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask; CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask;
CAN_RecvMsg.RTR = CAN_RTR_Data; CAN_RecvMsg.RTR = CAN_RTR_Data;
CAN_RecvMsg.Interrupt = ENABLE; CAN_RecvMsg.Interrupt = ENABLE;
CAN_MessageCache_DeInit(CAN0MSG02); CAN_MessageCache_DeInit(CAN0MSG01);
CAN_MessageCache_Init(CAN0MSG02, &CAN_RecvMsg); CAN_MessageCache_Init(CAN0MSG01, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG02, ENABLE); CAN_MessageCache_OverWriteConfig(CAN0MSG01, ENABLE);
CAN_RecvMsg.Id = 0x157; CAN_RecvMsg.Id = 0x157;
CAN_RecvMsg.IDE = CAN_Id_Standard; CAN_RecvMsg.IDE = CAN_Id_Standard;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask; CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask;
CAN_RecvMsg.RTR = CAN_RTR_Data; CAN_RecvMsg.RTR = CAN_RTR_Data;
CAN_RecvMsg.Interrupt = ENABLE; CAN_RecvMsg.Interrupt = ENABLE;
CAN_MessageCache_DeInit(CAN0MSG06); CAN_MessageCache_DeInit(CAN0MSG02);
CAN_MessageCache_Init(CAN0MSG06, &CAN_RecvMsg); CAN_MessageCache_Init(CAN0MSG02, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG06, ENABLE); CAN_MessageCache_OverWriteConfig(CAN0MSG02, ENABLE);
CAN_RecvMsg.Id = 0x38E; CAN_RecvMsg.Id = 0x38E;
CAN_RecvMsg.IDE = CAN_Id_Standard; CAN_RecvMsg.IDE = CAN_Id_Standard;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask; CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask;
CAN_RecvMsg.RTR = CAN_RTR_Data; CAN_RecvMsg.RTR = CAN_RTR_Data;
CAN_RecvMsg.Interrupt = ENABLE; CAN_RecvMsg.Interrupt = ENABLE;
CAN_MessageCache_DeInit(CAN0MSG07); CAN_MessageCache_DeInit(CAN0MSG03);
CAN_MessageCache_Init(CAN0MSG07, &CAN_RecvMsg); CAN_MessageCache_Init(CAN0MSG03, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG07, ENABLE); CAN_MessageCache_OverWriteConfig(CAN0MSG03, ENABLE);
CAN_RecvMsg.Id = 0x3A2; CAN_RecvMsg.Id = 0x3A2;
CAN_RecvMsg.IDE = CAN_Id_Standard; CAN_RecvMsg.IDE = CAN_Id_Standard;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask; CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask;
CAN_RecvMsg.RTR = CAN_RTR_Data; CAN_RecvMsg.RTR = CAN_RTR_Data;
CAN_RecvMsg.Interrupt = ENABLE; CAN_RecvMsg.Interrupt = ENABLE;
CAN_MessageCache_DeInit(CAN0MSG08); CAN_MessageCache_DeInit(CAN0MSG04);
CAN_MessageCache_Init(CAN0MSG08, &CAN_RecvMsg); CAN_MessageCache_Init(CAN0MSG04, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG08, ENABLE); CAN_MessageCache_OverWriteConfig(CAN0MSG04, ENABLE);
CAN_RecvMsg.Id = 0x339; CAN_RecvMsg.Id = 0x339;
CAN_RecvMsg.IDE = CAN_Id_Standard; CAN_RecvMsg.IDE = CAN_Id_Standard;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask; CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask;
CAN_RecvMsg.RTR = CAN_RTR_Data; CAN_RecvMsg.RTR = CAN_RTR_Data;
CAN_RecvMsg.Interrupt = ENABLE; CAN_RecvMsg.Interrupt = ENABLE;
CAN_MessageCache_DeInit(CAN0MSG11); CAN_MessageCache_DeInit(CAN0MSG05);
CAN_MessageCache_Init(CAN0MSG11, &CAN_RecvMsg); CAN_MessageCache_Init(CAN0MSG05, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG11, ENABLE); CAN_MessageCache_OverWriteConfig(CAN0MSG05, ENABLE);
CAN_RecvMsg.Id = 0x18202922; CAN_RecvMsg.Id = 0x18202922;
CAN_RecvMsg.IDE = CAN_Id_Extended; CAN_RecvMsg.IDE = CAN_Id_Extended;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask; CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask;
CAN_RecvMsg.RTR = CAN_RTR_Data; CAN_RecvMsg.RTR = CAN_RTR_Data;
CAN_RecvMsg.Interrupt = ENABLE; CAN_RecvMsg.Interrupt = ENABLE;
CAN_MessageCache_DeInit(CAN0MSG06);
CAN_MessageCache_Init(CAN0MSG06, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG06, ENABLE);
CAN_RecvMsg.Id = 0x18200A20;
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(CAN0MSG07);
CAN_MessageCache_Init(CAN0MSG07, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG07, ENABLE);
CAN_RecvMsg.Id = 0x18200A21;
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_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(CAN0MSG09); CAN_MessageCache_DeInit(CAN0MSG09);
CAN_MessageCache_Init(CAN0MSG09, &CAN_RecvMsg); CAN_MessageCache_Init(CAN0MSG09, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG09, ENABLE); CAN_MessageCache_OverWriteConfig(CAN0MSG09, ENABLE);
CAN_RecvMsg.Id = 0x18203220; CAN_RecvMsg.Id = 0x18203020;
CAN_RecvMsg.IDE = CAN_Id_Extended; CAN_RecvMsg.IDE = CAN_Id_Extended;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask; CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask;
CAN_RecvMsg.RTR = CAN_RTR_Data; CAN_RecvMsg.RTR = CAN_RTR_Data;
CAN_RecvMsg.Interrupt = ENABLE; CAN_RecvMsg.Interrupt = ENABLE;
CAN_MessageCache_DeInit(CAN0MSG10); CAN_MessageCache_DeInit(CAN0MSG13);
CAN_MessageCache_Init(CAN0MSG10, &CAN_RecvMsg); CAN_MessageCache_Init(CAN0MSG13, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG10, ENABLE); CAN_MessageCache_OverWriteConfig(CAN0MSG13, ENABLE);
CAN_RecvMsg.Id = DIAG_ID_Rx_PHY; CAN_RecvMsg.Id = DIAG_ID_Rx_PHY;
CAN_RecvMsg.IDE = CAN_Id_Standard; CAN_RecvMsg.IDE = CAN_Id_Standard;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask; CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask;
CAN_RecvMsg.RTR = CAN_RTR_Data; CAN_RecvMsg.RTR = CAN_RTR_Data;
CAN_RecvMsg.Interrupt = ENABLE; CAN_RecvMsg.Interrupt = ENABLE;
CAN_MessageCache_DeInit(CAN0MSG03); CAN_MessageCache_DeInit(CAN0MSG10);
CAN_MessageCache_Init(CAN0MSG03, &CAN_RecvMsg); CAN_MessageCache_Init(CAN0MSG10, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG03, ENABLE); CAN_MessageCache_OverWriteConfig(CAN0MSG10, ENABLE);
CAN_RecvMsg.Id = DIAG_ID_Rx_FUN; CAN_RecvMsg.Id = DIAG_ID_Rx_FUN;
CAN_RecvMsg.IDE = CAN_Id_Standard; CAN_RecvMsg.IDE = CAN_Id_Standard;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask; CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask;
CAN_RecvMsg.RTR = CAN_RTR_Data; CAN_RecvMsg.RTR = CAN_RTR_Data;
CAN_RecvMsg.Interrupt = ENABLE; CAN_RecvMsg.Interrupt = ENABLE;
CAN_MessageCache_DeInit(CAN0MSG04); CAN_MessageCache_DeInit(CAN0MSG11);
CAN_MessageCache_Init(CAN0MSG04, &CAN_RecvMsg); CAN_MessageCache_Init(CAN0MSG11, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG04, ENABLE); CAN_MessageCache_OverWriteConfig(CAN0MSG11, ENABLE);
} }
/** /**
...@@ -146,8 +173,8 @@ void Can_Tx_Apply_Buff(void) ...@@ -146,8 +173,8 @@ void Can_Tx_Apply_Buff(void)
CAN_SendMsg.Data[i] = 0; CAN_SendMsg.Data[i] = 0;
} }
CAN_MessageCache_DeInit(CAN0MSG08); CAN_MessageCache_DeInit(CAN1MSG00);
CAN_MessageCache_Init(CAN0MSG08, &CAN_SendMsg); CAN_MessageCache_Init(CAN1MSG00, &CAN_SendMsg);
CAN_SendMsg.Id = 0x3A7; CAN_SendMsg.Id = 0x3A7;
CAN_SendMsg.IDE = CAN_Id_Standard; CAN_SendMsg.IDE = CAN_Id_Standard;
...@@ -160,8 +187,8 @@ void Can_Tx_Apply_Buff(void) ...@@ -160,8 +187,8 @@ void Can_Tx_Apply_Buff(void)
CAN_SendMsg.Data[i] = 0; CAN_SendMsg.Data[i] = 0;
} }
CAN_MessageCache_DeInit(CAN0MSG10); CAN_MessageCache_DeInit(CAN1MSG01);
CAN_MessageCache_Init(CAN0MSG10, &CAN_SendMsg); CAN_MessageCache_Init(CAN1MSG01, &CAN_SendMsg);
CAN_SendMsg_Diag_Tx.Id = DIAG_ID_Tx; CAN_SendMsg_Diag_Tx.Id = DIAG_ID_Tx;
...@@ -175,8 +202,8 @@ void Can_Tx_Apply_Buff(void) ...@@ -175,8 +202,8 @@ void Can_Tx_Apply_Buff(void)
CAN_SendMsg_Diag_Tx.Data[i] = 0; CAN_SendMsg_Diag_Tx.Data[i] = 0;
} }
CAN_MessageCache_DeInit(CAN0MSG09); CAN_MessageCache_DeInit(CAN1MSG02);
CAN_MessageCache_Init(CAN0MSG09, &CAN_SendMsg_Diag_Tx); CAN_MessageCache_Init(CAN1MSG02, &CAN_SendMsg_Diag_Tx);
} }
/** /**
* @brief 用于接收回调函数 * @brief 用于接收回调函数
......
...@@ -2,92 +2,167 @@ ...@@ -2,92 +2,167 @@
#include "SEG_DISPLAY\SEG_DISPLAY.h" #include "SEG_DISPLAY\SEG_DISPLAY.h"
#include "Application.h" #include "Application.h"
uint8_t SOC_1_Flag_Count = 0; uint16_t poweroff_time = 0;
uint8_t SOC_1_Count = 0;
uint8_t SOC_2_Flag_Count = 0;
uint8_t SOC_2_Count = 0;
// void Gauge_Power_1_SOC_Display(void)//得改
// {
// uint8_t Signal1 = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState();
// uint8_t powernum1 = Get_CAN_CH0_ID_18200A20_Sig_MBMS_Soc();
// uint8_t powernum2 = Get_CAN_CH0_ID_18200A21_Sig_MBMS_Soc();
// if(Signal1 == 0x0 || Signal1 == 0x3 || Signal1 == 0x6)
// {
// SOC_1_Flag_Count = 0;
// if(powernum1 > 1)
// {
// }
// else
// {
// } uint8_t SOC_Count_Time = 0;
// }
// else if(Signal1 == 0x1)
// {
// SOC_1_Flag_Count++;
// if(SOC_1_Flag_Count == 10)
// {
// SOC_1_Flag_Count = 0;
// SOC_1_Count++;
// if(SOC_1_Count > powernum1)
// {
// SOC_1_Count = 0;
// }
// }
// }
// else if(Signal1 == 0x7)
// {
// SOC_1_Flag_Count++;
// if(SOC_1_Flag_Count == 10)
// {
// SOC_1_Flag_Count = 0;
// SOC_1_Count++;
// if(SOC_1_Count > powernum1)
// {
// SOC_1_Count = 0;
// }
// }
// }
// } // void Gauge_Gear_Display(void)
// void Gauge_Power_2_SOC_Display(void)
// { // {
// uint8_t Signal1 = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState(); // // uint8_t MBMS_StatBattWorkState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState();
// uint8_t powernum = Get_CAN_CH0_ID_18200A21_Sig_MBMS_Soc(); // if (Common_Get_IG_Sts() == COMMON_POWER_ON)
// if(Signal1 == 0x0 || Signal1 == 0x3 || Signal1 == 0x6)//放电 // {
// { // SEG_SET_GEAR(1,);
// SOC_Flag = 0; // }
// if(powernum > 1) // else
// { // {
// }
// }
// } void Gauge_Power_SOC_pull_Display(void)
// else {
// { // uint8_t MBMS_StatBattWorkState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState();
if (Common_Get_IG_Sts() == COMMON_POWER_ON)
{
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A20_Msg)) == CAN_ERR_OK || CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A21_Msg)) == CAN_ERR_OK)
{
uint8_t SOC_1_Count = Get_CAN_CH0_ID_18200A20_Sig_MBMS_Soc();
uint8_t SOC_2_Count = Get_CAN_CH0_ID_18200A21_Sig_SBMS_Soc();
SEG_SET_EleDial_1SOC(1, SOC_1_Count);
SEG_SET_EleDial_2SOC(1, SOC_2_Count);
}
else
{
SEG_SET_EleDial_1SOC(0, 0);
SEG_SET_EleDial_2SOC(0, 0);
}
}
else
{
SEG_SET_EleDial_1SOC(0, 0);
SEG_SET_EleDial_2SOC(0, 0);
}
}
void Gauge_Power_SOC_CHAGING_Display(void)
{
uint8_t MBMS_TOTALSigAcc = Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALSigAcc();
uint8_t MBMS_TOTALSigCharge = Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALSigCharge();
uint8_t MBMS_StatBattWorkState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState();
static uint8_t SOC1_Count = 0;
static uint8_t SOC2_Count = 0;
// uint8_t MBMS_StatBattWorkState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState();
if (Common_Get_IG_Sts() == COMMON_POWER_ON)
{
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A20_Msg)) == CAN_ERR_OK || CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A21_Msg)) == CAN_ERR_OK)
{
uint8_t SOC_1_Count = Get_CAN_CH0_ID_18200A20_Sig_MBMS_Soc();
uint8_t SOC_2_Count = Get_CAN_CH0_ID_18200A21_Sig_SBMS_Soc();
if ((MBMS_TOTALSigAcc == 0x1 && MBMS_TOTALSigCharge == 0x1) || (MBMS_TOTALSigAcc == 0x0 && MBMS_TOTALSigCharge == 0x1)) // 上电充电
{
if (MBMS_StatBattWorkState == 0x1) // 主电池
{
if (++SOC_Count_Time > 10)
{
SOC_Count_Time = 0;
SEG_SET_EleDial_1SOC(1, SOC1_Count);
SOC1_Count++;
if (SOC1_Count > SOC_1_Count)
{
SOC1_Count = 0;
}
}
SEG_SET_EleDial_2SOC(1, SOC_2_Count);
}
else if (MBMS_StatBattWorkState == 0x4) // 副电池
{
if (++SOC_Count_Time > 10)
{
SOC_Count_Time = 0;
SEG_SET_EleDial_2SOC(1, SOC2_Count);
SOC2_Count++;
if (SOC2_Count > SOC_2_Count)
{
SOC2_Count = 0;
}
}
SEG_SET_EleDial_1SOC(1,SOC_1_Count);
}
else if (MBMS_StatBattWorkState == 0x7) // 主副电池
{
if (++SOC_Count_Time > 10)
{
SOC_Count_Time = 0;
SEG_SET_EleDial_1SOC(1, SOC1_Count);
SEG_SET_EleDial_2SOC(1, SOC2_Count);
SOC1_Count++;
SOC2_Count++;
if (SOC_1_Count > SOC_2_Count)
{
if (SOC2_Count > SOC_2_Count)
{
SOC2_Count--;
if (SOC1_Count > SOC_1_Count)
{
SOC1_Count = 0;
SOC2_Count = 0;
}
}
}
else
{
if (SOC1_Count > SOC_1_Count)
{
SOC1_Count--;
if (SOC2_Count > SOC_2_Count)
{
SOC1_Count = 0;
SOC2_Count = 0;
}
}
}
}
}
}
if (MBMS_TOTALSigAcc == 0x0 && MBMS_TOTALSigCharge == 0x1) // 下电充电
{
poweroff_time++;
}
else
{
poweroff_time = 0;
}
}
else
{
SEG_SET_EleDial_1SOC(0, 0);
SEG_SET_EleDial_2SOC(0, 0);
}
}
else
{
SEG_SET_EleDial_1SOC(0, 0);
SEG_SET_EleDial_2SOC(0, 0);
}
}
// }
// }
// else if(Signal1 == 0x4)//充电
// {
// SOC_Flag = 1;
// SOC_Flag_Count++;
// if(SOC_Flag_Count == 10)
// {
// SOC_Flag_Count = 0;
// SOC_1_Count++;
// if(SOC_1_Count > powernum)
// {
// SOC_1_Count = 0;
// }
// }
// }
// }
void Gauge_EleDial_AllSOC_Display(void) void Gauge_EleDial_AllSOC_Display(void)
{ {
uint8_t AllSOC_DIS = 0; uint8_t AllSOC_DIS = 0;
if (Common_Get_IG_Sts() == COMMON_POWER_ON) if (Common_Get_IG_Sts() == COMMON_POWER_ON)
{ {
SEG_SET_EleDial_AllSOC(1, AllSOC_DIS); if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18203020_Msg)) == CAN_ERR_OK)
{
AllSOC_DIS = Get_CAN_CH0_ID_18203020_Sig_MBMS_StatSoc();
SEG_SET_EleDial_AllSOC(1, AllSOC_DIS);
}
else
{
SEG_SET_EleDial_AllSOC(0, 0);
}
} }
else else
{ {
...@@ -205,27 +280,51 @@ void Gauge_Service(void) ...@@ -205,27 +280,51 @@ void Gauge_Service(void)
{ {
if (Common_GetIgnOnTime() >= 3000) if (Common_GetIgnOnTime() >= 3000)
{ {
SOC_charge_seg_Flag = 0;
Checkself_Init(); Checkself_Init();
Gauge_Clock_Display();
Gauge_Clock_All_Display();
Gauge_EleDial_AllSOC_Display();
SEG_SET_GEAR(1, 1);
SEG_SET_Cutterhead(1, 2);
Gauge_Frame_Display();
if (Get_CAN_Power_State() == KEY_ACC) if (Get_CAN_Power_State() == KEY_ACC)
{ {
interact_PWM_Low_Duty = 0; interact_PWM_Low_Duty = 0;
Gauge_Clock_Display();
Gauge_Clock_All_Display();
Gauge_EleDial_AllSOC_Display();
SEG_SET_GEAR(1, 1);
SEG_SET_Cutterhead(1, 2);
Gauge_Frame_Display();
Gauge_Power_SOC_pull_Display();
} }
else if (Get_CAN_Power_State() == READY) else if (Get_CAN_Power_State() == READY)
{ {
interact_PWM_Low_Duty = 30; interact_PWM_Low_Duty = 30;
Gauge_Clock_Display();
Gauge_Clock_All_Display();
Gauge_EleDial_AllSOC_Display();
SEG_SET_GEAR(1, 1);
SEG_SET_Cutterhead(1, 2);
Gauge_Frame_Display();
Gauge_Power_SOC_pull_Display();
} }
else else if (Get_CAN_Power_State() == CHRGING)
{ {
SOC_charge_seg_Flag = 1;
if (poweroff_time < 3600)
{
Gauge_Power_SOC_CHAGING_Display();
if (poweroff_time == 0)
{
Gauge_Clock_Display();
Gauge_Clock_All_Display();
Gauge_EleDial_AllSOC_Display();
SEG_SET_GEAR(1, 1);
SEG_SET_Cutterhead(1, 2);
Gauge_Frame_Display();
}
}
else
{
}
} }
// Gauge_Power_1_SOC_Display();
// Gauge_Power_2_SOC_Display();
} }
else else
{ {
......
...@@ -37,14 +37,14 @@ typedef struct ...@@ -37,14 +37,14 @@ typedef struct
#define POWERON_SCAN_TIMER 3000ul #define POWERON_SCAN_TIMER 3000ul
// void Gauge_Power_1_SOC_Display(void); void Gauge_Power_SOC_pull_Display(void);
void Gauge_Power_2_SOC_Display(void); // void Gauge_Power_2_SOC_Display(void);
void Gauge_Power_Display(void); void Gauge_Power_Display(void);
void Gauge_Battery_Display(void); void Gauge_Battery_Display(void);
void Gauge_Clock_Display(void); void Gauge_Clock_Display(void);
// void Gauge_Gear_Display(void);
void Gauge_Clock_All_Display(void); void Gauge_Clock_All_Display(void);
void Gauge_DrivingRange_Display(void); void Gauge_DrivingRange_Display(void);
//void Gauge_Gear_Display(void); //void Gauge_Gear_Display(void);
...@@ -61,4 +61,5 @@ void Temp_Calc_Init(void); ...@@ -61,4 +61,5 @@ void Temp_Calc_Init(void);
void Temp_Calc_Send(void); void Temp_Calc_Send(void);
uint32_t Get_Temp_Calc(void); uint32_t Get_Temp_Calc(void);
#endif #endif
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
/*数字显示数组*/ /*0, 1 2 3 4 5 6 7 8 9 */ /*数字显示数组*/ /*0, 1 2 3 4 5 6 7 8 9 */
const uint8_t SEG_DISPLAY_NUMBER0[] = {0x3Fu, 0x06u, 0x5Bu, 0x4Fu, 0x66u, 0x6Du, 0x7Du, 0x07u, 0x7Fu, 0x6Fu}; const uint8_t SEG_DISPLAY_NUMBER0[] = {0x3Fu, 0x06u, 0x5Bu, 0x4Fu, 0x66u, 0x6Du, 0x7Du, 0x07u, 0x7Fu, 0x6Fu};
const uint8_t SEG_UNDISPLAY_NUMBER0[] = {0x00u, 0x06u, 0x5Bu, 0x4Fu, 0x66u, 0x6Du, 0x7Du, 0x07u, 0x7Fu, 0x6Fu}; const uint8_t SEG_UNDISPLAY_NUMBER0[] = {0x00u, 0x06u, 0x5Bu, 0x4Fu, 0x66u, 0x6Du, 0x7Du, 0x07u, 0x7Fu, 0x6Fu};
uint8_t SOC_charge_seg_Flag = 0;
/**@brief 边框线显示函数 /**@brief 边框线显示函数
* @param[in] m_Flag 是否显示 -1 显示 -0 不显示 * @param[in] m_Flag 是否显示 -1 显示 -0 不显示
...@@ -401,7 +402,7 @@ _Fun_Res SEG_SET_GEAR(uint8_t m_Gear_Flag, uint8_t m_Gear) ...@@ -401,7 +402,7 @@ _Fun_Res SEG_SET_GEAR(uint8_t m_Gear_Flag, uint8_t m_Gear)
* - EX_OK 上报成功 * - EX_OK 上报成功
* - EX_ERR 上报失败 * - EX_ERR 上报失败
*/ */
_Fun_Res SEG_SET_EleDial_1SOC(uint8_t m_Flag,uint8_t m_SEG) _Fun_Res SEG_SET_EleDial_1SOC(uint8_t m_Flag, uint8_t m_SEG)
{ {
_Fun_Res m_Res; _Fun_Res m_Res;
uint8_t Num; uint8_t Num;
...@@ -418,37 +419,51 @@ _Fun_Res SEG_SET_EleDial_1SOC(uint8_t m_Flag,uint8_t m_SEG) ...@@ -418,37 +419,51 @@ _Fun_Res SEG_SET_EleDial_1SOC(uint8_t m_Flag,uint8_t m_SEG)
IC1_SEG147 = IC_SEG_GREY; IC1_SEG147 = IC_SEG_GREY;
IC1_SEG148 = IC_SEG_GREY; IC1_SEG148 = IC_SEG_GREY;
IC1_SEG135 = IC_SEG_GREY; IC1_SEG135 = IC_SEG_GREY;
//小电池 // 小电池
IC1_SEG121 = IC_SEG_ON; IC1_SEG121 = IC_SEG_ON;
IC1_SEG122 = IC_SEG_ON; IC1_SEG122 = IC_SEG_ON;
switch (m_SEG) if (m_SEG == 1 && Common_GetIgnOnTime() >= 3000 && SOC_charge_seg_Flag != 1)
{ {
if (FLASH_SYNC_1Hz)
case 10u: {
IC1_SEG136 = IC_SEG_ON; IC1_SEG135 = IC_SEG_ON;
case 9u: }
IC1_SEG137 = IC_SEG_ON; else
case 8u: {
IC1_SEG138 = IC_SEG_ON; IC1_SEG135 = IC_SEG_GREY;
case 7u: }
IC1_SEG143 = IC_SEG_ON; }
case 6u: else
IC1_SEG144 = IC_SEG_ON; {
case 5u: switch (m_SEG)
IC1_SEG145 = IC_SEG_ON; {
case 4u:
IC1_SEG146 = IC_SEG_ON; case 10u:
case 3u: IC1_SEG136 = IC_SEG_ON;
IC1_SEG147 = IC_SEG_ON; case 9u:
case 2u: IC1_SEG137 = IC_SEG_ON;
IC1_SEG148 = IC_SEG_ON; case 8u:
case 1u: IC1_SEG138 = IC_SEG_ON;
IC1_SEG135 = IC_SEG_ON; case 7u:
case 0u: IC1_SEG143 = IC_SEG_ON;
break; case 6u:
default: IC1_SEG144 = IC_SEG_ON;
break; case 5u:
IC1_SEG145 = IC_SEG_ON;
case 4u:
IC1_SEG146 = IC_SEG_ON;
case 3u:
IC1_SEG147 = IC_SEG_ON;
case 2u:
IC1_SEG148 = IC_SEG_ON;
case 1u:
IC1_SEG135 = IC_SEG_ON;
case 0u:
break;
default:
break;
}
} }
} }
else else
...@@ -464,7 +479,7 @@ _Fun_Res SEG_SET_EleDial_1SOC(uint8_t m_Flag,uint8_t m_SEG) ...@@ -464,7 +479,7 @@ _Fun_Res SEG_SET_EleDial_1SOC(uint8_t m_Flag,uint8_t m_SEG)
IC1_SEG147 = IC_SEG_OFF; IC1_SEG147 = IC_SEG_OFF;
IC1_SEG148 = IC_SEG_OFF; IC1_SEG148 = IC_SEG_OFF;
IC1_SEG135 = IC_SEG_OFF; IC1_SEG135 = IC_SEG_OFF;
//小电池 // 小电池
IC1_SEG121 = IC_SEG_OFF; IC1_SEG121 = IC_SEG_OFF;
IC1_SEG122 = IC_SEG_OFF; IC1_SEG122 = IC_SEG_OFF;
} }
...@@ -479,7 +494,7 @@ _Fun_Res SEG_SET_EleDial_1SOC(uint8_t m_Flag,uint8_t m_SEG) ...@@ -479,7 +494,7 @@ _Fun_Res SEG_SET_EleDial_1SOC(uint8_t m_Flag,uint8_t m_SEG)
* - EX_OK 上报成功 * - EX_OK 上报成功
* - EX_ERR 上报失败 * - EX_ERR 上报失败
*/ */
_Fun_Res SEG_SET_EleDial_2SOC(uint8_t m_Flag,uint8_t m_SEG) _Fun_Res SEG_SET_EleDial_2SOC(uint8_t m_Flag, uint8_t m_SEG)
{ {
_Fun_Res m_Res; _Fun_Res m_Res;
uint8_t Num; uint8_t Num;
...@@ -500,35 +515,48 @@ _Fun_Res SEG_SET_EleDial_2SOC(uint8_t m_Flag,uint8_t m_SEG) ...@@ -500,35 +515,48 @@ _Fun_Res SEG_SET_EleDial_2SOC(uint8_t m_Flag,uint8_t m_SEG)
IC1_SEG133 = IC_SEG_GREY; IC1_SEG133 = IC_SEG_GREY;
IC1_SEG134 = IC_SEG_GREY; IC1_SEG134 = IC_SEG_GREY;
switch (m_SEG) if (m_SEG == 1 && Common_GetIgnOnTime() >= 3000 && SOC_charge_seg_Flag != 1)
{ {
if (FLASH_SYNC_1Hz)
case 10u: {
IC1_SEG125 = IC_SEG_ON; IC1_SEG134 = IC_SEG_ON;
case 9u: }
IC1_SEG126 = IC_SEG_ON; else
case 8u: {
IC1_SEG127 = IC_SEG_ON; IC1_SEG134 = IC_SEG_GREY;
case 7u: }
IC1_SEG128 = IC_SEG_ON; }
case 6u: else
IC1_SEG129 = IC_SEG_ON; {
case 5u: switch (m_SEG)
IC1_SEG130 = IC_SEG_ON; {
case 4u:
IC1_SEG131 = IC_SEG_ON; case 10u:
case 3u: IC1_SEG125 = IC_SEG_ON;
IC1_SEG132 = IC_SEG_ON; case 9u:
case 2u: IC1_SEG126 = IC_SEG_ON;
IC1_SEG133 = IC_SEG_ON; case 8u:
case 1u: IC1_SEG127 = IC_SEG_ON;
IC1_SEG134 = IC_SEG_ON; case 7u:
case 0u: IC1_SEG128 = IC_SEG_ON;
break; case 6u:
default: IC1_SEG129 = IC_SEG_ON;
break; case 5u:
IC1_SEG130 = IC_SEG_ON;
case 4u:
IC1_SEG131 = IC_SEG_ON;
case 3u:
IC1_SEG132 = IC_SEG_ON;
case 2u:
IC1_SEG133 = IC_SEG_ON;
case 1u:
IC1_SEG134 = IC_SEG_ON;
case 0u:
break;
default:
break;
}
} }
} }
else else
{ {
...@@ -543,7 +571,7 @@ _Fun_Res SEG_SET_EleDial_2SOC(uint8_t m_Flag,uint8_t m_SEG) ...@@ -543,7 +571,7 @@ _Fun_Res SEG_SET_EleDial_2SOC(uint8_t m_Flag,uint8_t m_SEG)
IC1_SEG132 = IC_SEG_OFF; IC1_SEG132 = IC_SEG_OFF;
IC1_SEG133 = IC_SEG_OFF; IC1_SEG133 = IC_SEG_OFF;
IC1_SEG134 = IC_SEG_OFF; IC1_SEG134 = IC_SEG_OFF;
//小电池 // 小电池
IC1_SEG124 = IC_SEG_OFF; IC1_SEG124 = IC_SEG_OFF;
IC1_SEG123 = IC_SEG_OFF; IC1_SEG123 = IC_SEG_OFF;
} }
...@@ -557,7 +585,7 @@ _Fun_Res SEG_SET_EleDial_2SOC(uint8_t m_Flag,uint8_t m_SEG) ...@@ -557,7 +585,7 @@ _Fun_Res SEG_SET_EleDial_2SOC(uint8_t m_Flag,uint8_t m_SEG)
* - EX_OK 上报成功 * - EX_OK 上报成功
* - EX_ERR 上报失败 * - EX_ERR 上报失败
*/ */
_Fun_Res SEG_SET_EleDial_AllSOC(uint8_t m_Flag,uint16_t m_NUM) _Fun_Res SEG_SET_EleDial_AllSOC(uint8_t m_Flag, uint16_t m_NUM)
{ {
_Fun_Res m_Res; _Fun_Res m_Res;
uint8_t Num; uint8_t Num;
...@@ -575,7 +603,7 @@ _Fun_Res SEG_SET_EleDial_AllSOC(uint8_t m_Flag,uint16_t m_NUM) ...@@ -575,7 +603,7 @@ _Fun_Res SEG_SET_EleDial_AllSOC(uint8_t m_Flag,uint16_t m_NUM)
IC1_SEG072 = IC_SEG_OFF; IC1_SEG072 = IC_SEG_OFF;
} }
Num = (m_NUM / 10u) % 10u; Num = (m_NUM / 10u) % 10u;
if(m_NUM > 10) if (m_NUM > 10)
{ {
m8 = SEG_DISPLAY_NUMBER0[Num]; m8 = SEG_DISPLAY_NUMBER0[Num];
} }
...@@ -1054,275 +1082,275 @@ _Fun_Res SEG_SET_Fault_Code(uint8_t m_Flag, uint16_t m_NUM) ...@@ -1054,275 +1082,275 @@ _Fun_Res SEG_SET_Fault_Code(uint8_t m_Flag, uint16_t m_NUM)
return m_Res; return m_Res;
} }
/**@brief 续航里程显示函数 // /**@brief 续航里程显示函数
* @param[in] m_Flag 续航里程是否显示 -2 显示---km -1 显示 -0 不显示
* @param[in] m_NUM 续航里程数值 0<=m_NUM<=999
* @return 函数执行结果
* - EX_OK 上报成功
* - EX_ERR 上报失败
*/
_Fun_Res SEG_SET_DTE_NUM(uint8_t m_Flag, uint16_t m_NUM)
{
_Fun_Res m_Res;
uint16_t Num;
uint8_t m8;
if ((m_Flag > 2u) || (m_NUM > 999u))
{
m_Res = EX_ERR;
}
else
{
if (m_Flag == 1u)
{
IC1_SEG099 = IC_SEG_ON;
IC1_SEG065 = IC_SEG_ON;
/*百位*/
Num = m_NUM / 100u;
m8 = SEG_UNDISPLAY_NUMBER0[Num];
if (Bit_Is_Set(m8, 0))
{
IC1_SEG050 = IC_SEG_ON;
}
else
{
IC1_SEG050 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
{
IC1_SEG049 = IC_SEG_ON;
}
else
{
IC1_SEG049 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC1_SEG047 = IC_SEG_ON;
}
else
{
IC1_SEG047 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC1_SEG046 = IC_SEG_ON;
}
else
{
IC1_SEG046 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC1_SEG045 = IC_SEG_ON;
}
else
{
IC1_SEG045 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC1_SEG044 = IC_SEG_ON;
}
else
{
IC1_SEG044 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC1_SEG048 = IC_SEG_ON;
}
else
{
IC1_SEG048 = IC_SEG_OFF;
}
/*十位*/
Num = (m_NUM / 10u) % 10u;
if (m_NUM >= 100u)
{
m8 = SEG_DISPLAY_NUMBER0[Num];
}
else
{
m8 = SEG_UNDISPLAY_NUMBER0[Num];
}
if (Bit_Is_Set(m8, 0)) // * @param[in] m_Flag 续航里程是否显示 -2 显示---km -1 显示 -0 不显示
{ // * @param[in] m_NUM 续航里程数值 0<=m_NUM<=999
IC1_SEG057 = IC_SEG_ON; // * @return 函数执行结果
} // * - EX_OK 上报成功
else // * - EX_ERR 上报失败
{ // */
IC1_SEG057 = IC_SEG_OFF; // _Fun_Res SEG_SET_DTE_NUM(uint8_t m_Flag, uint16_t m_NUM)
} // {
if (Bit_Is_Set(m8, 1)) // _Fun_Res m_Res;
{ // uint16_t Num;
IC1_SEG056 = IC_SEG_ON; // uint8_t m8;
} // if ((m_Flag > 2u) || (m_NUM > 999u))
else // {
{ // m_Res = EX_ERR;
IC1_SEG056 = IC_SEG_OFF; // }
} // else
if (Bit_Is_Set(m8, 2)) // {
{ // if (m_Flag == 1u)
IC1_SEG054 = IC_SEG_ON; // {
} // IC1_SEG099 = IC_SEG_ON;
else // IC1_SEG065 = IC_SEG_ON;
{ // /*百位*/
IC1_SEG054 = IC_SEG_OFF; // Num = m_NUM / 100u;
} // m8 = SEG_UNDISPLAY_NUMBER0[Num];
if (Bit_Is_Set(m8, 3)) // if (Bit_Is_Set(m8, 0))
{ // {
IC1_SEG053 = IC_SEG_ON; // IC1_SEG050 = IC_SEG_ON;
} // }
else // else
{ // {
IC1_SEG053 = IC_SEG_OFF; // IC1_SEG050 = IC_SEG_OFF;
} // }
if (Bit_Is_Set(m8, 5)) // if (Bit_Is_Set(m8, 1))
{ // {
IC1_SEG052 = IC_SEG_ON; // IC1_SEG049 = IC_SEG_ON;
} // }
else // else
{ // {
IC1_SEG052 = IC_SEG_OFF; // IC1_SEG049 = IC_SEG_OFF;
} // }
if (Bit_Is_Set(m8, 4)) // if (Bit_Is_Set(m8, 2))
{ // {
IC1_SEG051 = IC_SEG_ON; // IC1_SEG047 = IC_SEG_ON;
} // }
else // else
{ // {
IC1_SEG051 = IC_SEG_OFF; // IC1_SEG047 = IC_SEG_OFF;
} // }
if (Bit_Is_Set(m8, 6)) // if (Bit_Is_Set(m8, 3))
{ // {
IC1_SEG055 = IC_SEG_ON; // IC1_SEG046 = IC_SEG_ON;
} // }
else // else
{ // {
IC1_SEG055 = IC_SEG_OFF; // IC1_SEG046 = IC_SEG_OFF;
} // }
/*个位*/ // if (Bit_Is_Set(m8, 5))
Num = m_NUM % 10u; // {
m8 = SEG_DISPLAY_NUMBER0[Num]; // IC1_SEG045 = IC_SEG_ON;
if (Bit_Is_Set(m8, 0)) // }
{ // else
IC1_SEG064 = IC_SEG_ON; // {
} // IC1_SEG045 = IC_SEG_OFF;
else // }
{ // if (Bit_Is_Set(m8, 4))
IC1_SEG064 = IC_SEG_OFF; // {
} // IC1_SEG044 = IC_SEG_ON;
if (Bit_Is_Set(m8, 1)) // }
{ // else
IC1_SEG063 = IC_SEG_ON; // {
} // IC1_SEG044 = IC_SEG_OFF;
else // }
{ // if (Bit_Is_Set(m8, 6))
IC1_SEG063 = IC_SEG_OFF; // {
} // IC1_SEG048 = IC_SEG_ON;
if (Bit_Is_Set(m8, 2)) // }
{ // else
IC1_SEG061 = IC_SEG_ON; // {
} // IC1_SEG048 = IC_SEG_OFF;
else // }
{ // /*十位*/
IC1_SEG061 = IC_SEG_OFF; // Num = (m_NUM / 10u) % 10u;
} // if (m_NUM >= 100u)
if (Bit_Is_Set(m8, 3)) // {
{ // m8 = SEG_DISPLAY_NUMBER0[Num];
IC1_SEG060 = IC_SEG_ON; // }
} // else
else // {
{ // m8 = SEG_UNDISPLAY_NUMBER0[Num];
IC1_SEG060 = IC_SEG_OFF; // }
}
if (Bit_Is_Set(m8, 5)) // if (Bit_Is_Set(m8, 0))
{ // {
IC1_SEG059 = IC_SEG_ON; // IC1_SEG057 = IC_SEG_ON;
} // }
else // else
{ // {
IC1_SEG059 = IC_SEG_OFF; // IC1_SEG057 = IC_SEG_OFF;
} // }
if (Bit_Is_Set(m8, 4)) // if (Bit_Is_Set(m8, 1))
{ // {
IC1_SEG058 = IC_SEG_ON; // IC1_SEG056 = IC_SEG_ON;
} // }
else // else
{ // {
IC1_SEG058 = IC_SEG_OFF; // IC1_SEG056 = IC_SEG_OFF;
} // }
if (Bit_Is_Set(m8, 6)) // if (Bit_Is_Set(m8, 2))
{ // {
IC1_SEG062 = IC_SEG_ON; // IC1_SEG054 = IC_SEG_ON;
} // }
else // else
{ // {
IC1_SEG062 = IC_SEG_OFF; // IC1_SEG054 = IC_SEG_OFF;
} // }
} // if (Bit_Is_Set(m8, 3))
else if (m_Flag == 2u) // {
{ // IC1_SEG053 = IC_SEG_ON;
IC1_SEG099 = IC_SEG_ON; // }
IC1_SEG065 = IC_SEG_ON; // else
// {
IC1_SEG044 = IC_SEG_OFF; // IC1_SEG053 = IC_SEG_OFF;
IC1_SEG045 = IC_SEG_OFF; // }
IC1_SEG046 = IC_SEG_OFF; // if (Bit_Is_Set(m8, 5))
IC1_SEG047 = IC_SEG_OFF; // {
IC1_SEG048 = IC_SEG_ON; // IC1_SEG052 = IC_SEG_ON;
IC1_SEG049 = IC_SEG_OFF; // }
IC1_SEG050 = IC_SEG_OFF; // else
IC1_SEG051 = IC_SEG_OFF; // {
IC1_SEG052 = IC_SEG_OFF; // IC1_SEG052 = IC_SEG_OFF;
IC1_SEG053 = IC_SEG_OFF; // }
IC1_SEG054 = IC_SEG_OFF; // if (Bit_Is_Set(m8, 4))
IC1_SEG055 = IC_SEG_ON; // {
IC1_SEG056 = IC_SEG_OFF; // IC1_SEG051 = IC_SEG_ON;
IC1_SEG057 = IC_SEG_OFF; // }
IC1_SEG058 = IC_SEG_OFF; // else
IC1_SEG059 = IC_SEG_OFF; // {
IC1_SEG060 = IC_SEG_OFF; // IC1_SEG051 = IC_SEG_OFF;
IC1_SEG061 = IC_SEG_OFF; // }
IC1_SEG062 = IC_SEG_ON; // if (Bit_Is_Set(m8, 6))
IC1_SEG063 = IC_SEG_OFF; // {
IC1_SEG064 = IC_SEG_OFF; // IC1_SEG055 = IC_SEG_ON;
} // }
// else
// {
// IC1_SEG055 = IC_SEG_OFF;
// }
// /*个位*/
// Num = m_NUM % 10u;
// m8 = SEG_DISPLAY_NUMBER0[Num];
// if (Bit_Is_Set(m8, 0))
// {
// IC1_SEG064 = IC_SEG_ON;
// }
// else
// {
// IC1_SEG064 = IC_SEG_OFF;
// }
// if (Bit_Is_Set(m8, 1))
// {
// IC1_SEG063 = IC_SEG_ON;
// }
// else
// {
// IC1_SEG063 = IC_SEG_OFF;
// }
// if (Bit_Is_Set(m8, 2))
// {
// IC1_SEG061 = IC_SEG_ON;
// }
// else
// {
// IC1_SEG061 = IC_SEG_OFF;
// }
// if (Bit_Is_Set(m8, 3))
// {
// IC1_SEG060 = IC_SEG_ON;
// }
// else
// {
// IC1_SEG060 = IC_SEG_OFF;
// }
// if (Bit_Is_Set(m8, 5))
// {
// IC1_SEG059 = IC_SEG_ON;
// }
// else
// {
// IC1_SEG059 = IC_SEG_OFF;
// }
// if (Bit_Is_Set(m8, 4))
// {
// IC1_SEG058 = IC_SEG_ON;
// }
// else
// {
// IC1_SEG058 = IC_SEG_OFF;
// }
// if (Bit_Is_Set(m8, 6))
// {
// IC1_SEG062 = IC_SEG_ON;
// }
// else
// {
// IC1_SEG062 = IC_SEG_OFF;
// }
// }
// else if (m_Flag == 2u)
// {
// IC1_SEG099 = IC_SEG_ON;
// IC1_SEG065 = IC_SEG_ON;
else // IC1_SEG044 = IC_SEG_OFF;
{ // IC1_SEG045 = IC_SEG_OFF;
IC1_SEG099 = IC_SEG_OFF; // IC1_SEG046 = IC_SEG_OFF;
IC1_SEG065 = IC_SEG_OFF; // IC1_SEG047 = IC_SEG_OFF;
// IC1_SEG048 = IC_SEG_ON;
// IC1_SEG049 = IC_SEG_OFF;
// IC1_SEG050 = IC_SEG_OFF;
// IC1_SEG051 = IC_SEG_OFF;
// IC1_SEG052 = IC_SEG_OFF;
// IC1_SEG053 = IC_SEG_OFF;
// IC1_SEG054 = IC_SEG_OFF;
// IC1_SEG055 = IC_SEG_ON;
// IC1_SEG056 = IC_SEG_OFF;
// IC1_SEG057 = IC_SEG_OFF;
// IC1_SEG058 = IC_SEG_OFF;
// IC1_SEG059 = IC_SEG_OFF;
// IC1_SEG060 = IC_SEG_OFF;
// IC1_SEG061 = IC_SEG_OFF;
// IC1_SEG062 = IC_SEG_ON;
// IC1_SEG063 = IC_SEG_OFF;
// IC1_SEG064 = IC_SEG_OFF;
// }
IC1_SEG044 = IC_SEG_OFF; // else
IC1_SEG045 = IC_SEG_OFF; // {
IC1_SEG046 = IC_SEG_OFF; // IC1_SEG099 = IC_SEG_OFF;
IC1_SEG047 = IC_SEG_OFF; // IC1_SEG065 = IC_SEG_OFF;
IC1_SEG048 = IC_SEG_OFF;
IC1_SEG049 = IC_SEG_OFF; // IC1_SEG044 = IC_SEG_OFF;
IC1_SEG050 = IC_SEG_OFF; // IC1_SEG045 = IC_SEG_OFF;
IC1_SEG051 = IC_SEG_OFF; // IC1_SEG046 = IC_SEG_OFF;
IC1_SEG052 = IC_SEG_OFF; // IC1_SEG047 = IC_SEG_OFF;
IC1_SEG053 = IC_SEG_OFF; // IC1_SEG048 = IC_SEG_OFF;
IC1_SEG054 = IC_SEG_OFF; // IC1_SEG049 = IC_SEG_OFF;
IC1_SEG055 = IC_SEG_OFF; // IC1_SEG050 = IC_SEG_OFF;
IC1_SEG056 = IC_SEG_OFF; // IC1_SEG051 = IC_SEG_OFF;
IC1_SEG057 = IC_SEG_OFF; // IC1_SEG052 = IC_SEG_OFF;
IC1_SEG058 = IC_SEG_OFF; // IC1_SEG053 = IC_SEG_OFF;
IC1_SEG059 = IC_SEG_OFF; // IC1_SEG054 = IC_SEG_OFF;
IC1_SEG060 = IC_SEG_OFF; // IC1_SEG055 = IC_SEG_OFF;
IC1_SEG061 = IC_SEG_OFF; // IC1_SEG056 = IC_SEG_OFF;
IC1_SEG062 = IC_SEG_OFF; // IC1_SEG057 = IC_SEG_OFF;
IC1_SEG063 = IC_SEG_OFF; // IC1_SEG058 = IC_SEG_OFF;
IC1_SEG064 = IC_SEG_OFF; // IC1_SEG059 = IC_SEG_OFF;
} // IC1_SEG060 = IC_SEG_OFF;
// IC1_SEG061 = IC_SEG_OFF;
// IC1_SEG062 = IC_SEG_OFF;
// IC1_SEG063 = IC_SEG_OFF;
// IC1_SEG064 = IC_SEG_OFF;
// }
m_Res = EX_OK; // m_Res = EX_OK;
} // }
return m_Res; // return m_Res;
} // }
/**@brief 车速8字段显示函数 /**@brief 车速8字段显示函数
* @param[in] m_Flag 车速是否显示 -1 显示 -0 不显示 * @param[in] m_Flag 车速是否显示 -1 显示 -0 不显示
...@@ -1676,7 +1704,6 @@ _Fun_Res SEG_SET_L8_NUM(uint8_t m_Flag, uint8_t m_NUM) ...@@ -1676,7 +1704,6 @@ _Fun_Res SEG_SET_L8_NUM(uint8_t m_Flag, uint8_t m_NUM)
return m_Res; return m_Res;
} }
/**@brief 单次时间显示函数 /**@brief 单次时间显示函数
* @param[in] m_hour 小时 * @param[in] m_hour 小时
* @param[in] m_minute 分钟 * @param[in] m_minute 分钟
...@@ -1990,9 +2017,9 @@ _Fun_Res SEG_SET_Clock(uint8_t m_hour, uint8_t m_minute, uint8_t m_icon, uint8_t ...@@ -1990,9 +2017,9 @@ _Fun_Res SEG_SET_Clock(uint8_t m_hour, uint8_t m_minute, uint8_t m_icon, uint8_t
* - EX_OK 上报成功 * - EX_OK 上报成功
* - EX_ERR 上报失败 * - EX_ERR 上报失败
*/ */
_Fun_Res SEG_SET_Clock_ALL(uint8_t m_Flag , uint32_t m_NUM) _Fun_Res SEG_SET_Clock_ALL(uint8_t m_Flag, uint32_t m_NUM)
{ {
_Fun_Res m_Res; _Fun_Res m_Res;
uint32_t Num; uint32_t Num;
uint8_t m8; uint8_t m8;
if ((m_Flag > 2u) || (m_NUM > 99999u)) if ((m_Flag > 2u) || (m_NUM > 99999u))
...@@ -2006,7 +2033,7 @@ _Fun_Res SEG_SET_Clock_ALL(uint8_t m_Flag , uint32_t m_NUM) ...@@ -2006,7 +2033,7 @@ _Fun_Res SEG_SET_Clock_ALL(uint8_t m_Flag , uint32_t m_NUM)
IC2_SEG077 = IC_SEG_ON; IC2_SEG077 = IC_SEG_ON;
Num = m_NUM / 10000u; Num = m_NUM / 10000u;
if(m_NUM > 10000) if (m_NUM > 10000)
{ {
m8 = SEG_DISPLAY_NUMBER0[Num]; m8 = SEG_DISPLAY_NUMBER0[Num];
} }
...@@ -2073,7 +2100,7 @@ _Fun_Res SEG_SET_Clock_ALL(uint8_t m_Flag , uint32_t m_NUM) ...@@ -2073,7 +2100,7 @@ _Fun_Res SEG_SET_Clock_ALL(uint8_t m_Flag , uint32_t m_NUM)
} }
/*千位*/ /*千位*/
Num = (m_NUM / 1000u) % 10u; Num = (m_NUM / 1000u) % 10u;
if(m_NUM > 1000) if (m_NUM > 1000)
{ {
m8 = SEG_DISPLAY_NUMBER0[Num]; m8 = SEG_DISPLAY_NUMBER0[Num];
} }
...@@ -2140,7 +2167,7 @@ _Fun_Res SEG_SET_Clock_ALL(uint8_t m_Flag , uint32_t m_NUM) ...@@ -2140,7 +2167,7 @@ _Fun_Res SEG_SET_Clock_ALL(uint8_t m_Flag , uint32_t m_NUM)
} }
/*百位*/ /*百位*/
Num = (m_NUM / 100u) % 10u; Num = (m_NUM / 100u) % 10u;
if(m_NUM > 100) if (m_NUM > 100)
{ {
m8 = SEG_DISPLAY_NUMBER0[Num]; m8 = SEG_DISPLAY_NUMBER0[Num];
} }
...@@ -2425,10 +2452,10 @@ void Checkself_SEG_Display(void) ...@@ -2425,10 +2452,10 @@ void Checkself_SEG_Display(void)
// Fuel = Checkself_SEG_step / 5u; // Fuel = Checkself_SEG_step / 5u;
// SEG_SET_FuelDial(1, Fuel); // SEG_SET_FuelDial(1, Fuel);
SEG_SET_EleDial_AllSOC(1,soc_all); SEG_SET_EleDial_AllSOC(1, soc_all);
SEG_SET_EleDial_2SOC(1,(Checkself_SEG_step / 3) + 1); SEG_SET_EleDial_2SOC(1, (Checkself_SEG_step / 3) + 1);
SEG_SET_EleDial_1SOC(1,(Checkself_SEG_step / 3) + 1); SEG_SET_EleDial_1SOC(1, (Checkself_SEG_step / 3) + 1);
SEG_SET_Clock_ALL(1,allhour); SEG_SET_Clock_ALL(1, allhour);
hour = (Checkself_SEG_step / 3) * 11; hour = (Checkself_SEG_step / 3) * 11;
min = (Checkself_SEG_step / 3) * 11; min = (Checkself_SEG_step / 3) * 11;
SEG_SET_Clock(hour, min, 1, 1, 1); SEG_SET_Clock(hour, min, 1, 1, 1);
...@@ -2447,7 +2474,7 @@ void Checkself_SEG_Display(void) ...@@ -2447,7 +2474,7 @@ void Checkself_SEG_Display(void)
LED_Driver_Channel_Set(LampChannel_0, LampCh0_14_Cutterhead_Switch_W, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_14_Cutterhead_Switch_W, LED_ON);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_Cutterhead_Gear_W, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_Cutterhead_Gear_W, LED_ON);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_17_External_Discharge_W, LED_ON); // LED_Driver_Channel_Set(LampChannel_0, LampCh0_17_External_Discharge_W, LED_ON);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_21_LED_Open_W, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_21_LED_Open_W, LED_ON);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_31_Working_Hours_One_W, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_31_Working_Hours_One_W, LED_ON);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_32_Charging_Connection_R, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_32_Charging_Connection_R, LED_ON);
...@@ -2459,7 +2486,7 @@ void Checkself_SEG_Display(void) ...@@ -2459,7 +2486,7 @@ void Checkself_SEG_Display(void)
SEG_SET_LED_STS(SEG_LED_Key_Access, 1); SEG_SET_LED_STS(SEG_LED_Key_Access, 1);
SEG_SET_LED_STS(SEG_LED_Ready, 1); SEG_SET_LED_STS(SEG_LED_Ready, 1);
SEG_SET_LED_STS(SEG_LED_Cutter_Head_switch, 1); SEG_SET_LED_STS(SEG_LED_Cutter_Head_switch, 1);
SEG_SET_LED_STS(SEG_LED_External_Discharge, 1); // SEG_SET_LED_STS(SEG_LED_External_Discharge, 1);
SEG_SET_LED_STS(SEG_LED_Distance_Light, 1); SEG_SET_LED_STS(SEG_LED_Distance_Light, 1);
SEG_SET_LED_STS(SEG_LED_HHT_Charger, 1); SEG_SET_LED_STS(SEG_LED_HHT_Charger, 1);
...@@ -2481,8 +2508,8 @@ void Checkself_SEG_Display(void) ...@@ -2481,8 +2508,8 @@ void Checkself_SEG_Display(void)
if (Checkself_SEG_step == 0) if (Checkself_SEG_step == 0)
{ {
Checkself_SEG_step = 0; Checkself_SEG_step = 0;
SEG_SET_EleDial_2SOC(1,0); SEG_SET_EleDial_2SOC(1, 0);
SEG_SET_EleDial_1SOC(1,0); SEG_SET_EleDial_1SOC(1, 0);
} }
else else
{ {
......
...@@ -112,7 +112,7 @@ void SEG_Scan_SET_EspeedDial(void); ...@@ -112,7 +112,7 @@ void SEG_Scan_SET_EspeedDial(void);
extern void Checkself_Init (void); extern void Checkself_Init (void);
extern void Checkself_SEG_Display(void); extern void Checkself_SEG_Display(void);
extern uint8_t SOC_charge_seg_Flag;
......
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