Commit bb5bff99 authored by 高士达's avatar 高士达

Merge branch 'Bai_Zhengyuan' into 'dev'

段码补充

See merge request !25
parents 7c8fb4d6 21d1647c
...@@ -59,7 +59,7 @@ void Gauge_Cutterhead_Gear_Display(void) ...@@ -59,7 +59,7 @@ void Gauge_Cutterhead_Gear_Display(void)
{ {
uint8_t CutterheadValue = Get_Gear_Cutterhead_Value(); uint8_t CutterheadValue = Get_Gear_Cutterhead_Value();
uint8_t CutterheadValid = Get_Gear_Cutterhead_Valid(); uint8_t CutterheadValid = Get_Gear_Cutterhead_Valid();
#if (PART_NUMBER == RMR42E_60)
if (CutterheadValid == 2U) if (CutterheadValid == 2U)
{ {
if (FLASH_SYNC_1Hz) if (FLASH_SYNC_1Hz)
...@@ -75,6 +75,9 @@ void Gauge_Cutterhead_Gear_Display(void) ...@@ -75,6 +75,9 @@ void Gauge_Cutterhead_Gear_Display(void)
{ {
SEG_SET_Cutterhead(CutterheadValid, CutterheadValue, 0); SEG_SET_Cutterhead(CutterheadValid, CutterheadValue, 0);
} }
#else
SEG_SET_Cutterhead(CutterheadValid, CutterheadValue, 0);
#endif
} }
void Gauge_Gears_Display(void) void Gauge_Gears_Display(void)
...@@ -135,6 +138,20 @@ void Gauge_Frame_Display(void) ...@@ -135,6 +138,20 @@ void Gauge_Frame_Display(void)
} }
} }
void Gauge_flue_Display(void)
{
uint8_t u8fuelValid = Get_FuelStatus_Valid();
uint8_t u8fuelValue = Get_FuelSeg_Display();
SEG_SET_FuelDial(u8fuelValid, u8fuelValue);
}
void Gauge_faultcode_Display(void)
{
uint8_t u8faucodeValid = Get_FaultCode_Valid();
uint16_t u16faucodelValue = Get_FaultCode_Value();
SEG_SET_Fault_Code(u8faucodeValid, u16faucodelValue, 0);
}
void Clear_Bu98(void) void Clear_Bu98(void)
{ {
uint8_t i = 0; uint8_t i = 0;
...@@ -224,6 +241,12 @@ void Gauge_CAN_setup_Service(void) ...@@ -224,6 +241,12 @@ void Gauge_CAN_setup_Service(void)
Gauge_Clock_Display(); Gauge_Clock_Display();
Gauge_Clock_All_Display(); Gauge_Clock_All_Display();
Gauge_EleDial_AllSOC_Display(); Gauge_EleDial_AllSOC_Display();
if (PART_NUMBER == G54_A01)
{
Gauge_flue_Display();
Gauge_faultcode_Display();
}
// SEG_SET_GEAR(1, 1); // SEG_SET_GEAR(1, 1);
// SEG_SET_Cutterhead(1, 2); // SEG_SET_Cutterhead(1, 2);
Gauge_Frame_Display(); Gauge_Frame_Display();
......
...@@ -51,6 +51,8 @@ void Gauge_EleDial_AllSOC_Display(void); ...@@ -51,6 +51,8 @@ void Gauge_EleDial_AllSOC_Display(void);
void Gauge_Cutterhead_Gear_Display(void); void Gauge_Cutterhead_Gear_Display(void);
void Gauge_Gears_Display(void); void Gauge_Gears_Display(void);
void Gauge_Service(void); void Gauge_Service(void);
void Gauge_flue_Display(void);
void Gauge_faultcode_Display(void);
void Gauge_CAN_setup_Service(void); void Gauge_CAN_setup_Service(void);
void Checkself_LED_Display(void); void Checkself_LED_Display(void);
......
...@@ -7,8 +7,8 @@ ...@@ -7,8 +7,8 @@
#define Bit_Is_Set(p, b) ((p) & (1u << (b))) #define Bit_Is_Set(p, b) ((p) & (1u << (b)))
#define Bit_Is_Clr(p, b) (!((p) & (1u << (b)))) #define Bit_Is_Clr(p, b) (!((p) & (1u << (b))))
/*数字显示数组*/ /*0, 1 2 3 4 5 6 7 8 9 */ /*数字显示数组*/ /*0, 1 2 3 4 5 6 7 8 9 A b C d E F*/
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, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71};
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; uint8_t SOC_charge_seg_Flag = 0;
uint8_t checkself_seg_Flag = 0; uint8_t checkself_seg_Flag = 0;
...@@ -211,6 +211,7 @@ _Fun_Res SEG_SET_Cutterhead(uint8_t m_Flag, uint8_t LED_NUM, uint8_t checkself) ...@@ -211,6 +211,7 @@ _Fun_Res SEG_SET_Cutterhead(uint8_t m_Flag, uint8_t LED_NUM, uint8_t checkself)
} }
else else
{ {
#if (PART_NUMBER == RMR42E_60)
IC1_SEG118 = IC_SEG_ON; IC1_SEG118 = IC_SEG_ON;
IC1_SEG073 = IC_SEG_ON; IC1_SEG073 = IC_SEG_ON;
IC1_SEG074 = IC_SEG_ON; IC1_SEG074 = IC_SEG_ON;
...@@ -261,6 +262,61 @@ _Fun_Res SEG_SET_Cutterhead(uint8_t m_Flag, uint8_t LED_NUM, uint8_t checkself) ...@@ -261,6 +262,61 @@ _Fun_Res SEG_SET_Cutterhead(uint8_t m_Flag, uint8_t LED_NUM, uint8_t checkself)
IC1_SEG076 = IC_SEG_OFF; IC1_SEG076 = IC_SEG_OFF;
IC1_SEG077 = IC_SEG_OFF; IC1_SEG077 = IC_SEG_OFF;
} }
#else
IC1_SEG118 = IC_SEG_ON;
IC1_SEG073 = IC_SEG_ON;
IC1_SEG074 = IC_SEG_ON;
IC1_SEG079 = IC_SEG_ON;
IC1_SEG083 = IC_SEG_ON;
IC1_SEG116 = IC_SEG_ON;
if (LED_NUM == Gear_H)
{
IC1_SEG076 = IC_SEG_ON;
IC1_SEG077 = IC_SEG_ON;
IC1_SEG078 = IC_SEG_ON;
IC1_SEG081 = IC_SEG_ON;
IC1_SEG082 = IC_SEG_ON;
IC1_SEG117 = IC_SEG_ON;
IC1_SEG075 = IC_SEG_OFF;
IC1_SEG080 = IC_SEG_OFF;
}
else if (LED_NUM == Gear_L)
{
IC1_SEG076 = IC_SEG_ON;
IC1_SEG078 = IC_SEG_ON;
IC1_SEG080 = IC_SEG_ON;
IC1_SEG117 = IC_SEG_ON;
IC1_SEG077 = IC_SEG_OFF;
IC1_SEG081 = IC_SEG_OFF;
IC1_SEG082 = IC_SEG_OFF;
IC1_SEG075 = IC_SEG_OFF;
}
else if (LED_NUM == 0)
{
IC1_SEG117 = IC_SEG_ON;
IC1_SEG076 = IC_SEG_OFF;
IC1_SEG078 = IC_SEG_OFF;
IC1_SEG080 = IC_SEG_OFF;
IC1_SEG077 = IC_SEG_OFF;
IC1_SEG081 = IC_SEG_OFF;
IC1_SEG082 = IC_SEG_OFF;
IC1_SEG075 = IC_SEG_OFF;
}
else
{
IC1_SEG117 = IC_SEG_OFF;
IC1_SEG075 = IC_SEG_OFF;
IC1_SEG082 = IC_SEG_OFF;
IC1_SEG081 = IC_SEG_OFF;
IC1_SEG080 = IC_SEG_OFF;
IC1_SEG078 = IC_SEG_OFF;
IC1_SEG076 = IC_SEG_OFF;
IC1_SEG077 = IC_SEG_OFF;
}
#endif
} }
} }
else else
...@@ -441,6 +497,38 @@ _Fun_Res SEG_SET_GEAR(uint8_t m_Gear_Flag, uint8_t m_Gear, uint8_t checkself) ...@@ -441,6 +497,38 @@ _Fun_Res SEG_SET_GEAR(uint8_t m_Gear_Flag, uint8_t m_Gear, uint8_t checkself)
IC2_SEG102 = IC_SEG_ON; IC2_SEG102 = IC_SEG_ON;
IC2_SEG143 = IC_SEG_ON; IC2_SEG143 = IC_SEG_ON;
} }
else if (m_Gear == Gear_H)
{
IC2_SEG100 = IC_SEG_ON;
IC2_SEG097 = IC_SEG_ON;
IC2_SEG101 = IC_SEG_ON;
IC2_SEG146 = IC_SEG_ON;
IC2_SEG099 = IC_SEG_ON;
IC2_SEG147 = IC_SEG_ON;
IC2_SEG144 = IC_SEG_ON;
IC2_SEG148 = IC_SEG_OFF;
IC2_SEG096 = IC_SEG_OFF;
IC2_SEG142 = IC_SEG_OFF;
IC2_SEG143 = IC_SEG_OFF;
IC2_SEG102 = IC_SEG_OFF;
}
else if (m_Gear == Gear_L)
{
IC2_SEG100 = IC_SEG_ON;
IC2_SEG097 = IC_SEG_ON;
IC2_SEG102 = IC_SEG_ON;
IC2_SEG143 = IC_SEG_ON;
IC2_SEG148 = IC_SEG_OFF;
IC2_SEG147 = IC_SEG_OFF;
IC2_SEG146 = IC_SEG_OFF;
IC2_SEG099 = IC_SEG_OFF;
IC2_SEG101 = IC_SEG_OFF;
IC2_SEG096 = IC_SEG_OFF;
IC2_SEG142 = IC_SEG_OFF;
IC2_SEG144 = IC_SEG_OFF;
}
else if (m_Gear == Gear_OFF) else if (m_Gear == Gear_OFF)
{ {
IC2_SEG101 = IC_SEG_OFF; IC2_SEG101 = IC_SEG_OFF;
...@@ -457,6 +545,10 @@ _Fun_Res SEG_SET_GEAR(uint8_t m_Gear_Flag, uint8_t m_Gear, uint8_t checkself) ...@@ -457,6 +545,10 @@ _Fun_Res SEG_SET_GEAR(uint8_t m_Gear_Flag, uint8_t m_Gear, uint8_t checkself)
IC2_SEG096 = IC_SEG_OFF; IC2_SEG096 = IC_SEG_OFF;
IC2_SEG142 = IC_SEG_OFF; IC2_SEG142 = IC_SEG_OFF;
} }
else
{
;
}
} }
Res = EX_OK; Res = EX_OK;
} }
...@@ -487,72 +579,74 @@ _Fun_Res SEG_SET_GEAR(uint8_t m_Gear_Flag, uint8_t m_Gear, uint8_t checkself) ...@@ -487,72 +579,74 @@ _Fun_Res SEG_SET_GEAR(uint8_t m_Gear_Flag, uint8_t m_Gear, uint8_t checkself)
} }
return Res; return Res;
} }
// /**@brief 燃油表盘显示函数 /**@brief 燃油表盘显示函数
// * @param[in] m_Flag 段与数字是否显示 -1 显示 -0 不显示 * @param[in] m_Flag 段与数字是否显示 -1 显示 -0 不显示
// * @param[in] m_SEG 燃油表盘段数0<=m_SEG<=5 * @param[in] m_SEG 燃油表盘段数0<=m_SEG<=5
// * @return 函数执行结果 * @return 函数执行结果
// * - EX_OK 上报成功 * - EX_OK 上报成功
// * - EX_ERR 上报失败 * - EX_ERR 上报失败
// */ */
// _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)
// { {
// _Fun_Res m_Res; _Fun_Res m_Res;
// // uint8_t Num; // uint8_t Num;
// uint8_t m8; uint8_t m8;
// if (m_Flag == 1u) if (m_Flag == 1u)
// { {
// IC1_SEG052 = IC_SEG_GREY; IC1_SEG052 = IC_SEG_GREY;
// IC1_SEG051 = IC_SEG_GREY; IC1_SEG051 = IC_SEG_GREY;
// IC1_SEG050 = IC_SEG_GREY; IC1_SEG050 = IC_SEG_GREY;
// IC1_SEG049 = IC_SEG_GREY; IC1_SEG049 = IC_SEG_GREY;
// IC1_SEG048 = IC_SEG_GREY; IC1_SEG048 = IC_SEG_GREY;
// IC1_SEG047 = IC_SEG_GREY; IC1_SEG047 = IC_SEG_GREY;
// IC1_SEG046 = IC_SEG_GREY; IC1_SEG046 = IC_SEG_GREY;
// IC1_SEG045 = IC_SEG_GREY; IC1_SEG045 = IC_SEG_GREY;
// IC1_SEG053 = IC_SEG_ON; IC1_SEG053 = IC_SEG_ON;
// IC1_SEG105 = IC_SEG_ON; IC1_SEG105 = IC_SEG_ON;
// IC1_SEG044 = IC_SEG_ON; IC1_SEG044 = IC_SEG_ON;
// switch (m_SEG) switch (m_SEG)
// { {
// case 8u: case 8u:
// IC1_SEG045 = IC_SEG_ON; IC1_SEG045 = IC_SEG_ON;
// case 7u: case 7u:
// IC1_SEG046 = IC_SEG_ON; IC1_SEG046 = IC_SEG_ON;
// case 6u: case 6u:
// IC1_SEG047 = IC_SEG_ON; IC1_SEG047 = IC_SEG_ON;
// case 5u: case 5u:
// IC1_SEG048 = IC_SEG_ON; IC1_SEG048 = IC_SEG_ON;
// case 4u: case 4u:
// IC1_SEG049 = IC_SEG_ON; IC1_SEG049 = IC_SEG_ON;
// case 3u: case 3u:
// IC1_SEG050 = IC_SEG_ON; IC1_SEG050 = IC_SEG_ON;
// case 2u: case 2u:
// IC1_SEG051 = IC_SEG_ON; IC1_SEG051 = IC_SEG_ON;
// case 1u: case 1u:
// IC1_SEG052 = IC_SEG_ON; IC1_SEG052 = IC_SEG_ON;
// case 0u: case 0u:
// break; break;
// default: default:
// break; break;
// } }
// } }
else
// else {
// { IC1_SEG052 = IC_SEG_OFF;
// IC2_SEG052 = IC_SEG_OFF; IC1_SEG051 = IC_SEG_OFF;
// IC2_SEG051 = IC_SEG_OFF; IC1_SEG050 = IC_SEG_OFF;
// IC2_SEG050 = IC_SEG_OFF; IC1_SEG049 = IC_SEG_OFF;
// IC2_SEG049 = IC_SEG_OFF; IC1_SEG048 = IC_SEG_OFF;
// IC2_SEG048 = IC_SEG_OFF; IC1_SEG047 = IC_SEG_OFF;
// IC2_SEG047 = IC_SEG_OFF; IC1_SEG046 = IC_SEG_OFF;
// IC2_SEG046 = IC_SEG_OFF; IC1_SEG045 = IC_SEG_OFF;
// IC2_SEG045 = IC_SEG_OFF; IC1_SEG053 = IC_SEG_OFF;
// } IC1_SEG105 = IC_SEG_OFF;
// m_Res = EX_OK; IC1_SEG044 = IC_SEG_OFF;
}
m_Res = EX_OK;
// return m_Res; return m_Res;
// } }
/**@brief 电量表盘1SOC显示函数 /**@brief 电量表盘1SOC显示函数
* @param[in] m_Flag 段与数字是否显示 -1 显示 -0 不显示 * @param[in] m_Flag 段与数字是否显示 -1 显示 -0 不显示
...@@ -920,18 +1014,21 @@ _Fun_Res SEG_SET_EleDial_AllSOC(uint8_t m_Flag, uint16_t m_NUM) ...@@ -920,18 +1014,21 @@ _Fun_Res SEG_SET_EleDial_AllSOC(uint8_t m_Flag, uint16_t m_NUM)
return m_Res; 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
* @param[in] checkself 是否自检 0<=m_NUM<=299
* @return 函数执行结果 * @return 函数执行结果
* - EX_OK 上报成功 * - EX_OK 上报成功
* - EX_ERR 上报失败 * - EX_ERR 上报失败
*/ */
_Fun_Res SEG_SET_Fault_Code(uint8_t m_Flag, uint16_t m_NUM) _Fun_Res SEG_SET_Fault_Code(uint8_t m_Flag, uint16_t m_NUM, uint8_t checkself)
{ {
_Fun_Res m_Res; _Fun_Res m_Res;
uint16_t Num;
uint8_t m8; uint8_t m8;
if ((m_Flag > 3u) || (m_NUM > 9999u)) uint8_t high, mid, low;
uint16_t Num;
if ((m_Flag > 3u) || (m_NUM > 0xFFFFu))
{ {
m_Res = EX_ERR; m_Res = EX_ERR;
} }
...@@ -939,278 +1036,333 @@ _Fun_Res SEG_SET_Fault_Code(uint8_t m_Flag, uint16_t m_NUM) ...@@ -939,278 +1036,333 @@ _Fun_Res SEG_SET_Fault_Code(uint8_t m_Flag, uint16_t m_NUM)
{ {
if (m_Flag == 1u) if (m_Flag == 1u)
{ {
IC1_SEG087 = IC_SEG_ON; if (checkself == 1)
IC1_SEG094 = IC_SEG_ON; {
IC1_SEG093 = IC_SEG_ON; IC1_SEG087 = IC_SEG_ON;
IC1_SEG091 = IC_SEG_ON; /*千位*/
IC1_SEG090 = IC_SEG_ON; Num = (m_NUM / 1000u) % 10u;
IC1_SEG089 = IC_SEG_ON; m8 = SEG_DISPLAY_NUMBER0[Num];
IC1_SEG088 = IC_SEG_ON;
IC1_SEG092 = IC_SEG_ON;
IC1_SEG101 = IC_SEG_ON;
IC1_SEG100 = IC_SEG_ON;
IC1_SEG098 = IC_SEG_ON;
IC1_SEG097 = IC_SEG_ON;
IC1_SEG096 = IC_SEG_ON;
IC1_SEG095 = IC_SEG_ON;
IC1_SEG099 = IC_SEG_ON;
IC1_SEG108 = IC_SEG_ON;
IC1_SEG107 = IC_SEG_ON;
IC1_SEG105 = IC_SEG_ON;
IC1_SEG104 = IC_SEG_ON;
IC1_SEG103 = IC_SEG_ON;
IC1_SEG102 = IC_SEG_ON;
IC1_SEG106 = IC_SEG_ON;
IC1_SEG115 = IC_SEG_ON;
IC1_SEG114 = IC_SEG_ON;
IC1_SEG113 = IC_SEG_ON;
IC1_SEG112 = IC_SEG_ON;
IC1_SEG111 = IC_SEG_ON;
IC1_SEG109 = IC_SEG_ON;
IC1_SEG110 = IC_SEG_ON;
/*千位*/ if (Bit_Is_Set(m8, 0))
Num = (m_NUM / 1000u) % 10u; {
m8 = SEG_DISPLAY_NUMBER0[Num]; IC1_SEG094 = IC_SEG_ON;
}
else
{
IC1_SEG094 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
{
IC1_SEG093 = IC_SEG_ON;
}
else
{
IC1_SEG093 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC1_SEG091 = IC_SEG_ON;
}
else
{
IC1_SEG091 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC1_SEG090 = IC_SEG_ON;
}
else
{
IC1_SEG090 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC1_SEG088 = IC_SEG_ON;
}
else
{
IC1_SEG088 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC1_SEG089 = IC_SEG_ON;
}
else
{
IC1_SEG089 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC1_SEG092 = IC_SEG_ON;
}
else
{
IC1_SEG092 = IC_SEG_OFF;
}
/*百位*/
Num = (m_NUM / 100u) % 10u;
m8 = SEG_DISPLAY_NUMBER0[Num];
if (Bit_Is_Set(m8, 0)) if (Bit_Is_Set(m8, 0))
{ {
IC1_SEG094 = IC_SEG_ON; IC1_SEG101 = IC_SEG_ON;
}
else
{
IC1_SEG101 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
{
IC1_SEG100 = IC_SEG_ON;
}
else
{
IC1_SEG100 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC1_SEG098 = IC_SEG_ON;
}
else
{
IC1_SEG098 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC1_SEG097 = IC_SEG_ON;
}
else
{
IC1_SEG097 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC1_SEG095 = IC_SEG_ON;
}
else
{
IC1_SEG095 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC1_SEG096 = IC_SEG_ON;
}
else
{
IC1_SEG096 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC1_SEG099 = IC_SEG_ON;
}
else
{
IC1_SEG099 = IC_SEG_OFF;
}
/*十位*/
Num = (m_NUM / 10u) % 10u;
m8 = SEG_DISPLAY_NUMBER0[Num];
if (Bit_Is_Set(m8, 0))
{
IC1_SEG108 = IC_SEG_ON;
}
else
{
IC1_SEG108 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
{
IC1_SEG107 = IC_SEG_ON;
}
else
{
IC1_SEG107 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC1_SEG105 = IC_SEG_ON;
}
else
{
IC1_SEG105 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC1_SEG104 = IC_SEG_ON;
}
else
{
IC1_SEG104 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC1_SEG102 = IC_SEG_ON;
}
else
{
IC1_SEG102 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC1_SEG103 = IC_SEG_ON;
}
else
{
IC1_SEG103 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC1_SEG106 = IC_SEG_ON;
}
else
{
IC1_SEG106 = IC_SEG_OFF;
}
/*个位*/
Num = m_NUM % 10u;
m8 = SEG_DISPLAY_NUMBER0[Num];
if (Bit_Is_Set(m8, 0))
{
IC1_SEG115 = IC_SEG_ON;
}
else
{
IC1_SEG115 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
{
IC1_SEG114 = IC_SEG_ON;
}
else
{
IC1_SEG114 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC1_SEG113 = IC_SEG_ON;
}
else
{
IC1_SEG113 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC1_SEG112 = IC_SEG_ON;
}
else
{
IC1_SEG112 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC1_SEG109 = IC_SEG_ON;
}
else
{
IC1_SEG109 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC1_SEG111 = IC_SEG_ON;
}
else
{
IC1_SEG111 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC1_SEG110 = IC_SEG_ON;
}
else
{
IC1_SEG110 = IC_SEG_OFF;
}
} }
else else
{ {
IC1_SEG094 = IC_SEG_OFF; if (FLASH_SYNC_1Hz)
} {
if (Bit_Is_Set(m8, 1)) IC1_SEG087 = IC_SEG_ON;
{ }
else
{
IC1_SEG087 = IC_SEG_GREY;
}
IC1_SEG094 = IC_SEG_ON;
IC1_SEG093 = IC_SEG_ON; IC1_SEG093 = IC_SEG_ON;
}
else
{
IC1_SEG093 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC1_SEG091 = IC_SEG_ON; IC1_SEG091 = IC_SEG_ON;
}
else
{
IC1_SEG091 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC1_SEG090 = IC_SEG_ON; IC1_SEG090 = IC_SEG_ON;
}
else
{
IC1_SEG090 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC1_SEG088 = IC_SEG_ON;
}
else
{
IC1_SEG088 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC1_SEG089 = IC_SEG_ON; IC1_SEG089 = IC_SEG_ON;
} IC1_SEG088 = IC_SEG_ON;
else
{
IC1_SEG089 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC1_SEG092 = IC_SEG_ON; IC1_SEG092 = IC_SEG_ON;
}
else
{
IC1_SEG092 = IC_SEG_OFF;
}
/*百位*/
Num = (m_NUM / 100u) % 10u;
m8 = SEG_DISPLAY_NUMBER0[Num];
if (Bit_Is_Set(m8, 0))
{
IC1_SEG101 = IC_SEG_ON; IC1_SEG101 = IC_SEG_ON;
}
else
{
IC1_SEG101 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
{
IC1_SEG100 = IC_SEG_ON; IC1_SEG100 = IC_SEG_ON;
}
else
{
IC1_SEG100 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC1_SEG098 = IC_SEG_ON; IC1_SEG098 = IC_SEG_ON;
}
else
{
IC1_SEG098 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC1_SEG097 = IC_SEG_ON; IC1_SEG097 = IC_SEG_ON;
}
else
{
IC1_SEG097 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC1_SEG095 = IC_SEG_ON;
}
else
{
IC1_SEG095 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC1_SEG096 = IC_SEG_ON; IC1_SEG096 = IC_SEG_ON;
} IC1_SEG095 = IC_SEG_ON;
else
{
IC1_SEG096 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC1_SEG099 = IC_SEG_ON; IC1_SEG099 = IC_SEG_ON;
}
else
{
IC1_SEG099 = IC_SEG_OFF;
}
/*十位*/
Num = (m_NUM / 10u) % 10u;
m8 = SEG_DISPLAY_NUMBER0[Num];
if (Bit_Is_Set(m8, 0))
{
IC1_SEG108 = IC_SEG_ON; IC1_SEG108 = IC_SEG_ON;
}
else
{
IC1_SEG108 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
{
IC1_SEG107 = IC_SEG_ON; IC1_SEG107 = IC_SEG_ON;
}
else
{
IC1_SEG107 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC1_SEG105 = IC_SEG_ON; IC1_SEG105 = IC_SEG_ON;
}
else
{
IC1_SEG105 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC1_SEG104 = IC_SEG_ON; IC1_SEG104 = IC_SEG_ON;
}
else
{
IC1_SEG104 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC1_SEG102 = IC_SEG_ON;
}
else
{
IC1_SEG102 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC1_SEG103 = IC_SEG_ON; IC1_SEG103 = IC_SEG_ON;
} IC1_SEG102 = IC_SEG_ON;
else
{
IC1_SEG103 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC1_SEG106 = IC_SEG_ON; IC1_SEG106 = IC_SEG_ON;
}
else
{
IC1_SEG106 = IC_SEG_OFF;
}
/*个位*/
Num = m_NUM % 10u;
m8 = SEG_DISPLAY_NUMBER0[Num];
if (Bit_Is_Set(m8, 0))
{
IC1_SEG115 = IC_SEG_ON; IC1_SEG115 = IC_SEG_ON;
}
else
{
IC1_SEG115 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
{
IC1_SEG114 = IC_SEG_ON; IC1_SEG114 = IC_SEG_ON;
}
else
{
IC1_SEG114 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC1_SEG113 = IC_SEG_ON; IC1_SEG113 = IC_SEG_ON;
}
else
{
IC1_SEG113 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC1_SEG112 = IC_SEG_ON; IC1_SEG112 = IC_SEG_ON;
}
else
{
IC1_SEG112 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC1_SEG109 = IC_SEG_ON;
}
else
{
IC1_SEG109 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC1_SEG111 = IC_SEG_ON; IC1_SEG111 = IC_SEG_ON;
} IC1_SEG109 = IC_SEG_ON;
else
{
IC1_SEG111 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC1_SEG110 = IC_SEG_ON; IC1_SEG110 = IC_SEG_ON;
}
else high = (m_NUM >> 12) & 0x0F; // 高
{ mid = (m_NUM >> 8) & 0x0F; // 次高
IC1_SEG110 = IC_SEG_OFF; low = (m_NUM >> 4) & 0x0F; // 次低
uint8_t lowest = m_NUM & 0x0F; // 低
m8 = SEG_DISPLAY_NUMBER0[high];
IC1_SEG094 = Bit_Is_Set(m8, 0) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG093 = Bit_Is_Set(m8, 1) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG091 = Bit_Is_Set(m8, 2) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG090 = Bit_Is_Set(m8, 3) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG089 = Bit_Is_Set(m8, 4) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG088 = Bit_Is_Set(m8, 5) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG092 = Bit_Is_Set(m8, 6) ? IC_SEG_ON : IC_SEG_OFF;
m8 = SEG_DISPLAY_NUMBER0[mid];
IC1_SEG101 = Bit_Is_Set(m8, 0) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG100 = Bit_Is_Set(m8, 1) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG098 = Bit_Is_Set(m8, 2) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG097 = Bit_Is_Set(m8, 3) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG096 = Bit_Is_Set(m8, 4) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG095 = Bit_Is_Set(m8, 5) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG099 = Bit_Is_Set(m8, 6) ? IC_SEG_ON : IC_SEG_OFF;
m8 = SEG_DISPLAY_NUMBER0[low];
IC1_SEG108 = Bit_Is_Set(m8, 0) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG107 = Bit_Is_Set(m8, 1) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG105 = Bit_Is_Set(m8, 2) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG104 = Bit_Is_Set(m8, 3) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG103 = Bit_Is_Set(m8, 4) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG102 = Bit_Is_Set(m8, 5) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG106 = Bit_Is_Set(m8, 6) ? IC_SEG_ON : IC_SEG_OFF;
// 显示低位
m8 = SEG_DISPLAY_NUMBER0[lowest];
IC1_SEG115 = Bit_Is_Set(m8, 0) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG114 = Bit_Is_Set(m8, 1) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG113 = Bit_Is_Set(m8, 2) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG112 = Bit_Is_Set(m8, 3) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG111 = Bit_Is_Set(m8, 4) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG109 = Bit_Is_Set(m8, 5) ? IC_SEG_ON : IC_SEG_OFF;
IC1_SEG110 = Bit_Is_Set(m8, 6) ? IC_SEG_ON : IC_SEG_OFF;
} }
} }
else else
{ {
IC1_SEG074 = IC_SEG_OFF; IC1_SEG074 = IC_SEG_OFF;
IC1_SEG114 = IC_SEG_OFF; IC1_SEG114 = IC_SEG_OFF;
IC1_SEG115 = IC_SEG_OFF; IC1_SEG115 = IC_SEG_OFF;
...@@ -1221,7 +1373,6 @@ _Fun_Res SEG_SET_Fault_Code(uint8_t m_Flag, uint16_t m_NUM) ...@@ -1221,7 +1373,6 @@ _Fun_Res SEG_SET_Fault_Code(uint8_t m_Flag, uint16_t m_NUM)
IC1_SEG083 = IC_SEG_OFF; IC1_SEG083 = IC_SEG_OFF;
IC1_SEG084 = IC_SEG_OFF; IC1_SEG084 = IC_SEG_OFF;
IC1_SEG085 = IC_SEG_OFF; IC1_SEG085 = IC_SEG_OFF;
// IC1_SEG086 = IC_SEG_OFF;
IC1_SEG087 = IC_SEG_OFF; IC1_SEG087 = IC_SEG_OFF;
IC1_SEG088 = IC_SEG_OFF; IC1_SEG088 = IC_SEG_OFF;
IC1_SEG089 = IC_SEG_OFF; IC1_SEG089 = IC_SEG_OFF;
...@@ -1245,6 +1396,9 @@ _Fun_Res SEG_SET_Fault_Code(uint8_t m_Flag, uint16_t m_NUM) ...@@ -1245,6 +1396,9 @@ _Fun_Res SEG_SET_Fault_Code(uint8_t m_Flag, uint16_t m_NUM)
IC1_SEG108 = IC_SEG_OFF; IC1_SEG108 = IC_SEG_OFF;
IC1_SEG109 = IC_SEG_OFF; IC1_SEG109 = IC_SEG_OFF;
IC1_SEG110 = IC_SEG_OFF; IC1_SEG110 = IC_SEG_OFF;
IC1_SEG111 = IC_SEG_OFF;
IC1_SEG112 = IC_SEG_OFF;
IC1_SEG113 = IC_SEG_OFF;
} }
m_Res = EX_OK; m_Res = EX_OK;
...@@ -2181,8 +2335,8 @@ _Fun_Res SEG_SET_Clock(uint8_t m_hour, uint8_t m_minute, uint8_t m_icon, uint8_t ...@@ -2181,8 +2335,8 @@ _Fun_Res SEG_SET_Clock(uint8_t m_hour, uint8_t m_minute, uint8_t m_icon, uint8_t
} }
/**@brief 累计时间显示函数 /**@brief 累计时间显示函数
* @param[in] m_hour 小时
* @param[in] m_Flag 是否显示 -1 显示 -0 不显示 * @param[in] m_Flag 是否显示 -1 显示 -0 不显示
* @param[in] m_NUM 显示时间
* @return 函数执行结果 * @return 函数执行结果
* - EX_OK 上报成功 * - EX_OK 上报成功
* - EX_ERR 上报失败 * - EX_ERR 上报失败
...@@ -2583,8 +2737,14 @@ void Check_SEG_Display(void) ...@@ -2583,8 +2737,14 @@ void Check_SEG_Display(void)
Checkself_num = 9; Checkself_num = 9;
} }
uint32_t allhour = Checkself_num * 11111; uint32_t allhour = Checkself_num * 11111;
// Fuel = Checkself_SEG_step / 5u; if (PART_NUMBER == G54_A01)
// SEG_SET_FuelDial(1, Fuel); {
uint8_t Fuel = 0;
uint32_t fau_code = Checkself_num * 1111;
Fuel = Checkself_SEG_step / 5u;
SEG_SET_FuelDial(1, Fuel);
SEG_SET_Fault_Code(1, fau_code, 1);
}
uint32_t EleDial_2SOC = ((check_SEG_step * 10) / 48); uint32_t EleDial_2SOC = ((check_SEG_step * 10) / 48);
SEG_SET_EleDial_2SOC(1, EleDial_2SOC); SEG_SET_EleDial_2SOC(1, EleDial_2SOC);
...@@ -2663,8 +2823,14 @@ void Checkself_SEG_Display(void) ...@@ -2663,8 +2823,14 @@ void Checkself_SEG_Display(void)
Checkself_num = 9; Checkself_num = 9;
} }
uint32_t allhour = Checkself_num * 11111; uint32_t allhour = Checkself_num * 11111;
// Fuel = Checkself_SEG_step / 5u; if (PART_NUMBER == G54_A01)
// SEG_SET_FuelDial(1, Fuel); {
uint8_t Fuel = 0;
uint32_t fau_code = Checkself_num * 1111;
Fuel = Checkself_SEG_step / 5u;
SEG_SET_FuelDial(1, Fuel);
SEG_SET_Fault_Code(1, fau_code, 1);
}
uint32_t EleDial_2SOC = ((Checkself_SEG_step * 10) / 48); uint32_t EleDial_2SOC = ((Checkself_SEG_step * 10) / 48);
SEG_SET_EleDial_2SOC(1, EleDial_2SOC); SEG_SET_EleDial_2SOC(1, EleDial_2SOC);
......
...@@ -63,8 +63,8 @@ _Fun_Res SEG_SET_EleDial_2SOC(uint8_t m_Flag,uint8_t m_SEG); ...@@ -63,8 +63,8 @@ _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 燃油表盘显示函数*/ /**@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);
/**@brief 转速表盘显示函数*/ /**@brief 转速表盘显示函数*/
//_Fun_Res SEG_SET_EspeedDial(uint8_t m_Flag, uint8_t m_SEG, uint16_t m_NUM); //_Fun_Res SEG_SET_EspeedDial(uint8_t m_Flag, uint8_t m_SEG, uint16_t m_NUM);
...@@ -83,7 +83,7 @@ _Fun_Res SEG_SET_L8_NUM(uint8_t m_Flag , uint8_t m_NUM); ...@@ -83,7 +83,7 @@ _Fun_Res SEG_SET_L8_NUM(uint8_t m_Flag , uint8_t m_NUM);
/**@brief 故障码显示函数*/ /**@brief 故障码显示函数*/
_Fun_Res SEG_SET_Fault_Code(uint8_t m_Flag, uint16_t m_NUM); _Fun_Res SEG_SET_Fault_Code(uint8_t m_Flag, uint16_t m_NUM, uint8_t checkself);
/**@brief 单次时间显示函数*/ /**@brief 单次时间显示函数*/
_Fun_Res SEG_SET_Clock(uint8_t m_hour, uint8_t m_minute, uint8_t m_icon, uint8_t m_Flag1, uint8_t m_Flag2 ); _Fun_Res SEG_SET_Clock(uint8_t m_hour, uint8_t m_minute, uint8_t m_icon, uint8_t m_Flag1, uint8_t m_Flag2 );
......
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