Commit a16bed4d authored by 李冠华's avatar 李冠华

🐞 fix:修改触发充电信号同时自检或触发清大计功能时,电量条显示异常的问题

parent ee674840
...@@ -234,7 +234,7 @@ void Gauge_Service(void) ...@@ -234,7 +234,7 @@ void Gauge_Service(void)
{ {
if ((Get_CAN_Power_State() != PKEY_ON) && (Get_CAN_Power_State() != KEY_OFF) && (Get_CAN_Power_State() != POWER_CHECK_NULL)) if ((Get_CAN_Power_State() != PKEY_ON) && (Get_CAN_Power_State() != KEY_OFF) && (Get_CAN_Power_State() != POWER_CHECK_NULL))
{ {
if (g_u8TYWClearEepromFlag >= 1) if ((g_u8TYWClearEepromFlag >= 1) && (Common_GetIgnOnTime() > 1500))
{ {
TYW_RESET_TIME(); TYW_RESET_TIME();
Check_SEG_Display(); Check_SEG_Display();
......
...@@ -748,113 +748,158 @@ _Fun_Res SEG_SET_EleDial_1SOC(uint8_t m_Flag, uint8_t m_SEG) ...@@ -748,113 +748,158 @@ _Fun_Res SEG_SET_EleDial_1SOC(uint8_t m_Flag, uint8_t m_SEG)
if (Get_SOC_Charging_State() == 1U) if (Get_SOC_Charging_State() == 1U)
{ {
switch (m_SEG) if (((Get_CAN_Power_State() == KEY_ACC) && (Common_GetIgnOnTime() > 1500) && (g_u8TYWClearEepromFlag == 0U)) ||
(Get_CAN_Power_State() == PKEY_ON))
{
switch (m_SEG)
{
case 10u:
if (FLASH_SYNC_1Hz)
{
IC1_SEG136 = IC_SEG_ON;
}
else
{
IC1_SEG136 = IC_SEG_GREY;
}
break;
case 9u:
if (FLASH_SYNC_1Hz)
{
IC1_SEG137 = IC_SEG_ON;
}
else
{
IC1_SEG137 = IC_SEG_GREY;
}
break;
case 8u:
if (FLASH_SYNC_1Hz)
{
IC1_SEG138 = IC_SEG_ON;
}
else
{
IC1_SEG138 = IC_SEG_GREY;
}
break;
case 7u:
if (FLASH_SYNC_1Hz)
{
IC1_SEG143 = IC_SEG_ON;
}
else
{
IC1_SEG143 = IC_SEG_GREY;
}
break;
case 6u:
if (FLASH_SYNC_1Hz)
{
IC1_SEG144 = IC_SEG_ON;
}
else
{
IC1_SEG144 = IC_SEG_GREY;
}
break;
case 5u:
if (FLASH_SYNC_1Hz)
{
IC1_SEG145 = IC_SEG_ON;
}
else
{
IC1_SEG145 = IC_SEG_GREY;
}
break;
case 4u:
if (FLASH_SYNC_1Hz)
{
IC1_SEG146 = IC_SEG_ON;
}
else
{
IC1_SEG146 = IC_SEG_GREY;
}
break;
case 3u:
if (FLASH_SYNC_1Hz)
{
IC1_SEG147 = IC_SEG_ON;
}
else
{
IC1_SEG147 = IC_SEG_GREY;
}
break;
case 2u:
if (FLASH_SYNC_1Hz)
{
IC1_SEG148 = IC_SEG_ON;
}
else
{
IC1_SEG148 = IC_SEG_GREY;
}
break;
case 1u:
if (FLASH_SYNC_1Hz)
{
IC1_SEG135 = IC_SEG_ON;
}
else
{
IC1_SEG135 = IC_SEG_GREY;
}
break;
case 0u:
break;
default:
break;
}
}
else
{ {
case 10u: switch (m_SEG)
if (FLASH_SYNC_1Hz) {
{ case 10u:
IC1_SEG136 = IC_SEG_ON; IC1_SEG136 = IC_SEG_ON;
} break;
else case 9u:
{
IC1_SEG136 = IC_SEG_GREY;
}
break;
case 9u:
if (FLASH_SYNC_1Hz)
{
IC1_SEG137 = IC_SEG_ON; IC1_SEG137 = IC_SEG_ON;
} break;
else case 8u:
{
IC1_SEG137 = IC_SEG_GREY;
}
break;
case 8u:
if (FLASH_SYNC_1Hz)
{
IC1_SEG138 = IC_SEG_ON; IC1_SEG138 = IC_SEG_ON;
} break;
else case 7u:
{
IC1_SEG138 = IC_SEG_GREY;
}
break;
case 7u:
if (FLASH_SYNC_1Hz)
{
IC1_SEG143 = IC_SEG_ON; IC1_SEG143 = IC_SEG_ON;
} break;
else case 6u:
{
IC1_SEG143 = IC_SEG_GREY;
}
break;
case 6u:
if (FLASH_SYNC_1Hz)
{
IC1_SEG144 = IC_SEG_ON; IC1_SEG144 = IC_SEG_ON;
} break;
else case 5u:
{
IC1_SEG144 = IC_SEG_GREY;
}
break;
case 5u:
if (FLASH_SYNC_1Hz)
{
IC1_SEG145 = IC_SEG_ON; IC1_SEG145 = IC_SEG_ON;
} break;
else case 4u:
{
IC1_SEG145 = IC_SEG_GREY;
}
break;
case 4u:
if (FLASH_SYNC_1Hz)
{
IC1_SEG146 = IC_SEG_ON; IC1_SEG146 = IC_SEG_ON;
} break;
else case 3u:
{
IC1_SEG146 = IC_SEG_GREY;
}
break;
case 3u:
if (FLASH_SYNC_1Hz)
{
IC1_SEG147 = IC_SEG_ON; IC1_SEG147 = IC_SEG_ON;
} break;
else case 2u:
{
IC1_SEG147 = IC_SEG_GREY;
}
break;
case 2u:
if (FLASH_SYNC_1Hz)
{
IC1_SEG148 = IC_SEG_ON; IC1_SEG148 = IC_SEG_ON;
} break;
else case 1u:
{
IC1_SEG148 = IC_SEG_GREY;
}
break;
case 1u:
if (FLASH_SYNC_1Hz)
{
IC1_SEG135 = IC_SEG_ON; IC1_SEG135 = IC_SEG_ON;
} break;
else case 0u:
{ break;
IC1_SEG135 = IC_SEG_GREY; default:
} break;
break; }
case 0u:
break;
default:
break;
} }
} }
else else
{ {
...@@ -2922,7 +2967,7 @@ _Fun_Res SEG_SET_Clock_ALL(uint8_t m_Flag, uint32_t m_NUM) ...@@ -2922,7 +2967,7 @@ _Fun_Res SEG_SET_Clock_ALL(uint8_t m_Flag, uint32_t m_NUM)
} }
return m_Res; return m_Res;
} }
uint8_t check_SEG_step = 0; uint16_t check_SEG_step = 0;
/*仪表段码扫描函数*/ /*仪表段码扫描函数*/
...@@ -2931,7 +2976,7 @@ void Check_SEG_Display(void) ...@@ -2931,7 +2976,7 @@ void Check_SEG_Display(void)
uint16_t hour = 0; uint16_t hour = 0;
uint16_t min = 0; uint16_t min = 0;
uint8_t soc_all = 0; uint8_t soc_all = 0;
uint8_t Checkself_num = ((check_SEG_step * 10) / 48); uint8_t Checkself_num = (uint8_t)((check_SEG_step * 10) / 48);
if (Checkself_num >= 10) if (Checkself_num >= 10)
{ {
Checkself_num = 9; Checkself_num = 9;
...@@ -2950,7 +2995,7 @@ void Check_SEG_Display(void) ...@@ -2950,7 +2995,7 @@ void Check_SEG_Display(void)
SEG_SET_Fault_Code(1, fau_code, 1); SEG_SET_Fault_Code(1, fau_code, 1);
SEG_SET_Fault_Code_Spanner(1, 1, 0); SEG_SET_Fault_Code_Spanner(1, 1, 0);
} }
uint32_t EleDial_2SOC = ((check_SEG_step * 10) / 48); uint8_t EleDial_2SOC = (uint8_t)((check_SEG_step * 10) / 48);
SEG_SET_EleDial_2SOC(1, EleDial_2SOC); SEG_SET_EleDial_2SOC(1, EleDial_2SOC);
SEG_SET_EleDial_1SOC(1, EleDial_2SOC); SEG_SET_EleDial_1SOC(1, EleDial_2SOC);
...@@ -3043,7 +3088,7 @@ void Checkself_SEG_Display(void) ...@@ -3043,7 +3088,7 @@ void Checkself_SEG_Display(void)
SEG_SET_Fault_Code(1, fau_code, 1); SEG_SET_Fault_Code(1, fau_code, 1);
SEG_SET_Fault_Code_Spanner(1, 1, 0); SEG_SET_Fault_Code_Spanner(1, 1, 0);
} }
uint32_t EleDial_2SOC = ((Checkself_SEG_step * 10) / 48); uint8_t EleDial_2SOC = (uint8_t)((Checkself_SEG_step * 10) / 48);
SEG_SET_EleDial_2SOC(1, EleDial_2SOC); SEG_SET_EleDial_2SOC(1, EleDial_2SOC);
SEG_SET_EleDial_1SOC(1, EleDial_2SOC); SEG_SET_EleDial_1SOC(1, EleDial_2SOC);
......
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