Commit 6c62274e authored by 耨义强's avatar 耨义强

feat(增加胎压断码):

parent 1c034419
...@@ -202,13 +202,9 @@ void Gauge_Service(void) ...@@ -202,13 +202,9 @@ void Gauge_Service(void)
// Gauge_Power_2_SOC_Display(); // Gauge_Power_2_SOC_Display();
Checkself_Init(); Checkself_Init();
Gauge_Clock_Display(); Gauge_Clock_Display();
SEG_SET_Clock(22, 22, 1, 1, 1);
SEG_SET_Fault_Code(0, 2222);
// SEG_SET_EleDial_1SOC(1, 10, 22);
// SEG_SET_FuelDial(0, 8);
Gauge_EleDial_AllSOC_Display(); Gauge_EleDial_AllSOC_Display();
SEG_SET_GEAR(1, 1); SEG_SET_Cutterhead(2, 1);
SEG_SET_Cutterhead(1, 2); SEG_SET_GEAR(1,0);
SEG_SET_Frame(1); SEG_SET_Frame(1);
interact_PWM_Low_Duty = 0; interact_PWM_Low_Duty = 0;
} }
......
...@@ -139,6 +139,7 @@ _Fun_Res SEG_SET_Cutterhead(uint16_t LED_NUM, uint8_t m_Flag) ...@@ -139,6 +139,7 @@ _Fun_Res SEG_SET_Cutterhead(uint16_t LED_NUM, uint8_t m_Flag)
IC1_SEG074 = IC_SEG_ON; IC1_SEG074 = IC_SEG_ON;
IC1_SEG079 = IC_SEG_ON; IC1_SEG079 = IC_SEG_ON;
IC1_SEG117 = IC_SEG_ON; IC1_SEG117 = IC_SEG_ON;
IC1_SEG116 = IC_SEG_ON;
IC1_SEG083 = IC_SEG_ON; IC1_SEG083 = IC_SEG_ON;
if (LED_NUM == 1) if (LED_NUM == 1)
{ {
...@@ -722,6 +723,340 @@ _Fun_Res SEG_SET_EleDial_AllSOC(uint8_t m_Flag,uint16_t m_NUM) ...@@ -722,6 +723,340 @@ _Fun_Res SEG_SET_EleDial_AllSOC(uint8_t m_Flag,uint16_t m_NUM)
return m_Res; return m_Res;
} }
/**@brief 左胎压显示函数
* @param[in] m_Flag 段与数字是否显示 -1 显示 -0 不显示
* @param[in] m_NUM 车速表盘段数0<=m_SEG<=10
* @return 函数执行结果
* - EX_OK 上报成功
* - EX_ERR 上报失败
*/
_Fun_Res SEG_SET_Left_Tirepressure(uint8_t m_Flag,uint16_t m_NUM)
{
_Fun_Res m_Res;
uint8_t Num;
uint8_t m8;
if (m_Flag == 1u)
{
IC2_SEG123 = IC_SEG_ON;
IC2_SEG109 = IC_SEG_ON;
IC2_SEG107 = IC_SEG_ON;
Num = (m_NUM / 10u) % 10u;
if(m_NUM > 10)
{
m8 = SEG_DISPLAY_NUMBER0[Num];
}
else
{
m8 = SEG_UNDISPLAY_NUMBER0[Num];
}
if (Bit_Is_Set(m8, 0))
{
IC2_SEG119 = IC_SEG_ON;
}
else
{
IC2_SEG119 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
{
IC2_SEG118 = IC_SEG_ON;
}
else
{
IC2_SEG118 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC2_SEG116 = IC_SEG_ON;
}
else
{
IC2_SEG116 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC2_SEG106 = IC_SEG_ON;
}
else
{
IC2_SEG106 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC2_SEG121 = IC_SEG_ON;
}
else
{
IC2_SEG121 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC2_SEG122 = IC_SEG_ON;
}
else
{
IC2_SEG122 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC2_SEG117 = IC_SEG_ON;
}
else
{
IC2_SEG117 = IC_SEG_OFF;
}
/*个位*/
Num = m_NUM % 10u;
m8 = SEG_DISPLAY_NUMBER0[Num];
if (Bit_Is_Set(m8, 0))
{
IC2_SEG113 = IC_SEG_ON;
}
else
{
IC2_SEG113 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
{
IC2_SEG112 = IC_SEG_ON;
}
else
{
IC2_SEG112 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC2_SEG110 = IC_SEG_ON;
}
else
{
IC2_SEG110 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC2_SEG108 = IC_SEG_ON;
}
else
{
IC2_SEG108 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC2_SEG114 = IC_SEG_ON;
}
else
{
IC2_SEG114 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC2_SEG115 = IC_SEG_ON;
}
else
{
IC2_SEG115 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC2_SEG111 = IC_SEG_ON;
}
else
{
IC2_SEG111 = IC_SEG_OFF;
}
}
else
{
IC2_SEG113 = IC_SEG_OFF;
IC2_SEG112 = IC_SEG_OFF;
IC2_SEG110 = IC_SEG_OFF;
IC2_SEG108 = IC_SEG_OFF;
IC2_SEG115 = IC_SEG_OFF;
IC2_SEG114 = IC_SEG_OFF;
IC2_SEG111 = IC_SEG_OFF;
IC2_SEG118 = IC_SEG_OFF;
IC2_SEG116 = IC_SEG_OFF;
IC2_SEG106 = IC_SEG_OFF;
IC2_SEG122 = IC_SEG_OFF;
IC2_SEG121 = IC_SEG_OFF;
IC2_SEG117 = IC_SEG_OFF;
IC2_SEG123 = IC_SEG_OFF;
IC2_SEG107 = IC_SEG_OFF;
IC2_SEG109 = IC_SEG_OFF;
}
return m_Res;
}
/**@brief 右胎压显示函数
* @param[in] m_Flag 段与数字是否显示 -1 显示 -0 不显示
* @param[in] m_NUM 车速表盘段数0<=m_SEG<=10
* @return 函数执行结果
* - EX_OK 上报成功
* - EX_ERR 上报失败
*/
_Fun_Res SEG_SET_Right_Tirepressure(uint8_t m_Flag,uint16_t m_NUM)
{
_Fun_Res m_Res;
uint8_t Num;
uint8_t m8;
if (m_Flag == 1u)
{
IC2_SEG120 = IC_SEG_ON;
IC2_SEG131 = IC_SEG_ON;
IC2_SEG139 = IC_SEG_ON;
Num = (m_NUM / 10u) % 10u;
if(m_NUM > 10)
{
m8 = SEG_DISPLAY_NUMBER0[Num];
}
else
{
m8 = SEG_UNDISPLAY_NUMBER0[Num];
}
if (Bit_Is_Set(m8, 0))
{
IC2_SEG124 = IC_SEG_ON;
}
else
{
IC2_SEG124 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
{
IC2_SEG130 = IC_SEG_ON;
}
else
{
IC2_SEG130 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC2_SEG128 = IC_SEG_ON;
}
else
{
IC2_SEG128 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC2_SEG127 = IC_SEG_ON;
}
else
{
IC2_SEG127 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC2_SEG125 = IC_SEG_ON;
}
else
{
IC2_SEG125 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC2_SEG126 = IC_SEG_ON;
}
else
{
IC2_SEG126 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC2_SEG129 = IC_SEG_ON;
}
else
{
IC2_SEG129 = IC_SEG_OFF;
}
/*个位*/
Num = m_NUM % 10u;
m8 = SEG_DISPLAY_NUMBER0[Num];
if (Bit_Is_Set(m8, 0))
{
IC2_SEG132 = IC_SEG_ON;
}
else
{
IC2_SEG132 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
{
IC2_SEG138 = IC_SEG_ON;
}
else
{
IC2_SEG138 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC2_SEG136 = IC_SEG_ON;
}
else
{
IC2_SEG136 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC2_SEG135 = IC_SEG_ON;
}
else
{
IC2_SEG135 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC2_SEG133 = IC_SEG_ON;
}
else
{
IC2_SEG133 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC2_SEG134 = IC_SEG_ON;
}
else
{
IC2_SEG134 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC2_SEG137 = IC_SEG_ON;
}
else
{
IC2_SEG137 = IC_SEG_OFF;
}
}
else
{
IC1_SEG124 = IC_SEG_OFF;
IC1_SEG130 = IC_SEG_OFF;
IC1_SEG128 = IC_SEG_OFF;
IC1_SEG127 = IC_SEG_OFF;
IC1_SEG126 = IC_SEG_OFF;
IC1_SEG129 = IC_SEG_OFF;
IC1_SEG125 = IC_SEG_OFF;
IC1_SEG132 = IC_SEG_OFF;
IC1_SEG138 = IC_SEG_OFF;
IC1_SEG136 = IC_SEG_OFF;
IC1_SEG135 = IC_SEG_OFF;
IC1_SEG134 = IC_SEG_OFF;
IC1_SEG133 = IC_SEG_OFF;
IC1_SEG137 = IC_SEG_OFF;
IC1_SEG139 = IC_SEG_OFF;
IC1_SEG131 = IC_SEG_OFF;
IC1_SEG120 = IC_SEG_OFF;
}
return m_Res;
}
/**@brief 故障码显示 /**@brief 故障码显示
* @param[in] m_Flag 车速是否显示 -1 显示 -0 不显示 * @param[in] m_Flag 车速是否显示 -1 显示 -0 不显示
* @param[in] m_NUM 车速数据 0<=m_NUM<=299 * @param[in] m_NUM 车速数据 0<=m_NUM<=299
...@@ -2422,6 +2757,7 @@ void Checkself_Init(void) ...@@ -2422,6 +2757,7 @@ void Checkself_Init(void)
Checkself_SEG_step_count = 0; Checkself_SEG_step_count = 0;
} }
uint8_t soc_all = 0; uint8_t soc_all = 0;
void Checkself_SEG_Display(void) void Checkself_SEG_Display(void)
{ {
// uint16_t Fuel = 0; // uint16_t Fuel = 0;
...@@ -2435,12 +2771,15 @@ void Checkself_SEG_Display(void) ...@@ -2435,12 +2771,15 @@ void Checkself_SEG_Display(void)
// 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_Left_Tirepressure(1,soc_all);
SEG_SET_Right_Tirepressure(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);
SEG_SET_Fault_Code(1,hour*100+hour);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_00_Grass_Full_R, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_00_Grass_Full_R, LED_ON);
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_01_Power_Battery_Failure_R, LED_ON); // LED_Driver_Channel_Set(LampChannel_0, LampCh0_01_Power_Battery_Failure_R, LED_ON);
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_02_System_Indicator_R, LED_ON); // LED_Driver_Channel_Set(LampChannel_0, LampCh0_02_System_Indicator_R, LED_ON);
...@@ -2460,17 +2799,27 @@ void Checkself_SEG_Display(void) ...@@ -2460,17 +2799,27 @@ void Checkself_SEG_Display(void)
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);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_07_Lead_Acid_Battery_Failure_R, LED_ON);
SEG_SET_LED_STS(SEG_LED_Recharge, 1); SEG_SET_LED_STS(SEG_LED_Recharge, 1);
// SEG_SET_LED_STS(SEG_LED_System_Light, 1); SEG_SET_LED_STS(SEG_LED_Engine_Failure, 1);
SEG_SET_LED_STS(SEG_LED_Battery_Failure, 1);
SEG_SET_LED_STS(SEG_LED_Oil_press_Warning, 1);
SEG_SET_LED_STS(SEG_LED_System_Light, 1);
SEG_SET_LED_STS(SEG_LED_Power_Battery_Failure, 1);
SEG_SET_LED_STS(SEG_LED_Chloramine, 1); SEG_SET_LED_STS(SEG_LED_Chloramine, 1);
SEG_SET_LED_STS(SEG_LED_Cutter_Overload, 1); SEG_SET_LED_STS(SEG_LED_Cutter_Overload, 1);
SEG_SET_LED_STS(SEG_LED_Seat_Detection, 1); SEG_SET_LED_STS(SEG_LED_Seat_Detection, 1);
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_engine_Burn, 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_bluetooth, 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_Cruise_Control, 1);
SEG_SET_LED_STS(SEG_LED_HHT_Charger, 1); SEG_SET_LED_STS(SEG_LED_HHT_Charger, 1);
SEG_SET_LED_STS(SEG_LED_Fuel_Oil, 1);
if (Checkself_SEG_step_count < 60) if (Checkself_SEG_step_count < 60)
{ {
......
...@@ -55,6 +55,12 @@ _Fun_Res SEG_SET_EleDial_2SOC(uint8_t m_Flag,uint8_t m_SEG); ...@@ -55,6 +55,12 @@ _Fun_Res SEG_SET_EleDial_2SOC(uint8_t m_Flag,uint8_t m_SEG);
/**@brief 电量表盘AllSOC显示函数*/ /**@brief 电量表盘AllSOC显示函数*/
_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);
/**@brief 左胎压显示函数*/
_Fun_Res SEG_SET_Left_Tirepressure(uint8_t m_Flag,uint16_t m_NUM);
/**@brief 右胎压显示函数*/
_Fun_Res SEG_SET_Right_Tirepressure(uint8_t m_Flag,uint16_t m_NUM);
// /**@brief 燃油表盘显示函数*/ // /**@brief 燃油表盘显示函数*/
// _Fun_Res SEG_SET_FuelDial(uint8_t m_Flag,uint8_t m_SEG); // _Fun_Res SEG_SET_FuelDial(uint8_t m_Flag,uint8_t m_SEG);
......
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