Commit 4c7e71b8 authored by 李冠华's avatar 李冠华

Merge branch 'lgh_from_dev' into 'dev'

Lgh from dev

See merge request !27
parents 07819f7b 968d5462
......@@ -134,29 +134,49 @@ void BackLight_User_Init(void)
void BackLight_Process(void)
{
#if (PART_NUMBER == RMR42E_60)
if (openLED_flag)
#else
if ((Get_CAN_Power_State() > KEY_OFF) && (Get_AllSocValid() == 1U))
#endif
{
//电量
if ((Get_EleDial_AllSOC_lenth() == 2) || (checkself_seg_Flag == 1))
{
#if (PART_NUMBER == RMR42E_60)
RTE_GPIO_Set_Level(RTE_GPIO_PORT03_PIN00, RTE_GPIO_LEVEL_HIGH);//百位
#else
RTE_GPIO_Set_Level(RTE_GPIO_PORT02_PIN05, RTE_GPIO_LEVEL_HIGH);//百位
#endif
RTE_GPIO_Set_Level(RTE_GPIO_PORT02_PIN04, RTE_GPIO_LEVEL_HIGH);
}
else if(Get_EleDial_AllSOC_lenth() == 1)
{
RTE_GPIO_Set_Level(RTE_GPIO_PORT03_PIN00, RTE_GPIO_LEVEL_LOW);
#if (PART_NUMBER == RMR42E_60)
RTE_GPIO_Set_Level(RTE_GPIO_PORT03_PIN00, RTE_GPIO_LEVEL_LOW);//百位
#else
RTE_GPIO_Set_Level(RTE_GPIO_PORT02_PIN05, RTE_GPIO_LEVEL_LOW);//百位
#endif
RTE_GPIO_Set_Level(RTE_GPIO_PORT02_PIN04, RTE_GPIO_LEVEL_HIGH);
}
else
{
RTE_GPIO_Set_Level(RTE_GPIO_PORT03_PIN00, RTE_GPIO_LEVEL_LOW);
#if (PART_NUMBER == RMR42E_60)
RTE_GPIO_Set_Level(RTE_GPIO_PORT03_PIN00, RTE_GPIO_LEVEL_LOW);//百位
#else
RTE_GPIO_Set_Level(RTE_GPIO_PORT02_PIN05, RTE_GPIO_LEVEL_LOW);//百位
#endif
RTE_GPIO_Set_Level(RTE_GPIO_PORT02_PIN04, RTE_GPIO_LEVEL_LOW);
}
}
else
{
RTE_GPIO_Set_Level(RTE_GPIO_PORT03_PIN00, RTE_GPIO_LEVEL_LOW);
#if (PART_NUMBER == RMR42E_60)
RTE_GPIO_Set_Level(RTE_GPIO_PORT03_PIN00, RTE_GPIO_LEVEL_LOW);//百位
#else
RTE_GPIO_Set_Level(RTE_GPIO_PORT02_PIN05, RTE_GPIO_LEVEL_LOW);//百位
#endif
RTE_GPIO_Set_Level(RTE_GPIO_PORT02_PIN04, RTE_GPIO_LEVEL_LOW);
}
}
......
......@@ -78,26 +78,26 @@ void Buzzer_Service(void)
#else
if (Get_TelltalesLedSts(em_LED_Grass_Full_R) == 1U)
{
RTE_GPIO_Set_Level(RTE_GPIO_PORT04_PIN01, RTE_GPIO_LEVEL_HIGH);
RTE_GPIO_Set_Level(BUZZER_PWM_MCU_OUT, RTE_GPIO_LEVEL_HIGH);
BUZZER_ON = 1U;
}
else if (Get_TelltalesLedSts(em_LED_READY_G) == 1U)
{
if (BuzzerReadyCount < 20U)
{
RTE_GPIO_Set_Level(RTE_GPIO_PORT04_PIN01, RTE_GPIO_LEVEL_HIGH);
RTE_GPIO_Set_Level(BUZZER_PWM_MCU_OUT, RTE_GPIO_LEVEL_HIGH);
BUZZER_ON = 1U;
BuzzerReadyCount ++;
}
else
{
RTE_GPIO_Set_Level(RTE_GPIO_PORT04_PIN01, RTE_GPIO_LEVEL_LOW);
RTE_GPIO_Set_Level(BUZZER_PWM_MCU_OUT, RTE_GPIO_LEVEL_LOW);
BUZZER_ON = 0U;
}
}
else
{
RTE_GPIO_Set_Level(RTE_GPIO_PORT04_PIN01, RTE_GPIO_LEVEL_LOW);
RTE_GPIO_Set_Level(BUZZER_PWM_MCU_OUT, RTE_GPIO_LEVEL_LOW);
BUZZER_ON = 0U;
BuzzerReadyCount = 0U;
}
......
......@@ -56,6 +56,16 @@ void Can_Set_Buff_3A2(canlib_uint8_t CopyData[])
p3A2->Sig.ICU_GrassFullState = Get_TelltalesLedSts(em_LED_Grass_Full_R);
p3A2->Sig.Res0 = 0U;
p3A2->Sig.Res1 = 0U;
p3A2->Sig.Res2 = 0U;
p3A2->Sig.Res3 = 0U;
p3A2->Sig.Res4 = 0U;
p3A2->Sig.Res5 = 0U;
p3A2->Sig.Res6 = 0U;
p3A2->Sig.Res7 = 0U;
p3A2->Sig.Res8 = 0U;
p3A2->Sig.Res9 = 0U;
#endif
}
......
......@@ -136,12 +136,12 @@ void Common_Input_Para(void)
#else
if (Get_CAN_Power_State() == KEY_OFF)
{
PowerIgnOnTimeLine = 0ul;
if (PowerIgnOffTimeLine < 0x7ffffffful)
{
PowerIgnOffTimeLine += 2u;
}
}
PowerIgnOnTimeLine = 0ul;
Common_Set_IG_Sts(COMMON_POWER_OFF);
Common_Set_IG_Sts_Valid(COMMON_Valid);
#endif
......
......@@ -13,7 +13,10 @@ void Data_Fuel_KL30_Init(void)
void Data_Fuel_KL15_Init(void)
{
Fuel.FuelSeg = 0U;
Fuel.FuelSegDis = 0U;
Fuel.FuelStatusCount = 0U;
Fuel.FuelValid = 0U;
}
void Data_Fuel_Service(void)
......@@ -28,11 +31,6 @@ void Data_Fuel_Service(void)
Fuel.FuelSeg = 8U;
}
}
else
{
Fuel.FuelValid = 0U;
Fuel.FuelStatusCount = 0U;
}
}
......
......@@ -512,14 +512,11 @@ static void Data_Soc_All_Soc_Service(void)
{
Soc.AllSocValue = 100u;
}
Soc.AllSocValid = 1U;
}
if (VCUChgMode == 1U)
{
if (Get_CAN_Power_State() > KEY_OFF)
{
Soc.AllSocValid = 1U;
}
else
if (Get_CAN_Power_State() == KEY_OFF)
{
Soc.AllSocValue = 0U;
Soc.AllSocValid = 0U;
......@@ -532,10 +529,6 @@ static void Data_Soc_All_Soc_Service(void)
Soc.AllSocValue = 0U;
Soc.AllSocValid = 0U;
}
else
{
Soc.AllSocValid = 1U;
}
}
#endif
}
......
......@@ -16,7 +16,7 @@
#define RXD_ESP RTE_GPIO_PORT01_PIN01
#define TXD_ESP RTE_GPIO_PORT01_PIN02
//#define RXD_ESP RTE_GPIO_PORT01_PIN03
// #define SCL_IIC RTE_GPIO_PORT01_PIN04
#define BUZZER_PWM_MCU_OUT RTE_GPIO_PORT01_PIN04
#define TotalWork_hours1000_MCU_OUT RTE_GPIO_PORT01_PIN05
#define TotalWork_hours110_MCU_OUT RTE_GPIO_PORT01_PIN06
#define Interaction_indicator RTE_GPIO_PORT01_PIN07
......
......@@ -88,6 +88,15 @@ void Gauge_Gears_Display(void)
uint8_t GearValid = Get_Gear_Valid();
SEG_SET_GEAR(GearValid, GearValue, 0);
if (Get_CAN_Power_State() == KEY_ACC)
{
SEG_SET_GEAR_FRAME(1U);
}
else
{
SEG_SET_GEAR_FRAME(0U);
}
}
void Gauge_EleDial_AllSOC_Display(void)
......
......@@ -360,15 +360,6 @@ _Fun_Res SEG_SET_GEAR(uint8_t m_Gear_Flag, uint8_t m_Gear, uint8_t checkself)
_Fun_Res Res = EX_ERR;
if (m_Gear_Flag == 1u)
{
IC2_SEG094 = IC_SEG_ON;
IC2_SEG095 = IC_SEG_ON;
IC2_SEG149 = IC_SEG_ON;
IC2_SEG145 = IC_SEG_ON;
IC2_SEG141 = IC_SEG_ON;
IC2_SEG104 = IC_SEG_ON;
IC2_SEG103 = IC_SEG_ON;
IC2_SEG098 = IC_SEG_ON;
IC2_SEG150 = IC_SEG_ON;
if (checkself == 1)
{
m8 = SEG_DISPLAY_NUMBER0[m_Gear];
......@@ -554,14 +545,6 @@ _Fun_Res SEG_SET_GEAR(uint8_t m_Gear_Flag, uint8_t m_Gear, uint8_t checkself)
}
else
{
IC2_SEG094 = IC_SEG_OFF;
IC2_SEG095 = IC_SEG_OFF;
IC2_SEG149 = IC_SEG_OFF;
IC2_SEG145 = IC_SEG_OFF;
IC2_SEG141 = IC_SEG_OFF;
IC2_SEG104 = IC_SEG_OFF;
IC2_SEG103 = IC_SEG_OFF;
IC2_SEG098 = IC_SEG_OFF;
IC2_SEG097 = IC_SEG_OFF;
IC2_SEG148 = IC_SEG_OFF;
IC2_SEG147 = IC_SEG_OFF;
......@@ -574,11 +557,49 @@ _Fun_Res SEG_SET_GEAR(uint8_t m_Gear_Flag, uint8_t m_Gear, uint8_t checkself)
IC2_SEG099 = IC_SEG_OFF;
IC2_SEG146 = IC_SEG_OFF;
IC2_SEG142 = IC_SEG_OFF;
Res = EX_ERR;
}
return Res;
}
/**@brief 挡位边框显示函数
* @param[in] m_Gear_Flag 挡位边框是否显示 -1 显示 -0 不显示
* @return 函数执行结果
* - EX_OK 上报成功
* - EX_ERR 上报失败
*/
_Fun_Res SEG_SET_GEAR_FRAME(uint8_t m_Gear_Flag)
{
_Fun_Res Res = EX_ERR;
if (m_Gear_Flag == 1u)
{
IC2_SEG094 = IC_SEG_ON;
IC2_SEG095 = IC_SEG_ON;
IC2_SEG149 = IC_SEG_ON;
IC2_SEG145 = IC_SEG_ON;
IC2_SEG141 = IC_SEG_ON;
IC2_SEG104 = IC_SEG_ON;
IC2_SEG103 = IC_SEG_ON;
IC2_SEG098 = IC_SEG_ON;
IC2_SEG150 = IC_SEG_ON;
Res = EX_OK;
}
else
{
IC2_SEG094 = IC_SEG_OFF;
IC2_SEG095 = IC_SEG_OFF;
IC2_SEG098 = IC_SEG_OFF;
IC2_SEG103 = IC_SEG_OFF;
IC2_SEG104 = IC_SEG_OFF;
IC2_SEG141 = IC_SEG_OFF;
IC2_SEG145 = IC_SEG_OFF;
IC2_SEG149 = IC_SEG_OFF;
IC2_SEG150 = IC_SEG_OFF;
Res = EX_ERR;
}
return Res;
}
/**@brief 燃油表盘显示函数
* @param[in] m_Flag 段与数字是否显示 -1 显示 -0 不显示
* @param[in] m_SEG 燃油表盘段数0<=m_SEG<=5
......@@ -2757,6 +2778,7 @@ void Check_SEG_Display(void)
min = Checkself_num * 11;
SEG_SET_Clock(hour, min, 1, 1, 1);
SEG_SET_GEAR(1, Checkself_num, 1);
SEG_SET_GEAR_FRAME(1U);
SEG_SET_Cutterhead(1, Checkself_num, 1);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_00_Grass_Full_R, LED_ON);
......@@ -2842,6 +2864,7 @@ void Checkself_SEG_Display(void)
min = Checkself_num * 11;
SEG_SET_Clock(hour, min, 1, 1, 1);
SEG_SET_GEAR(1, Checkself_num, 1);
SEG_SET_GEAR_FRAME(1U);
SEG_SET_Cutterhead(1, Checkself_num, 1);
if (Checkself_SEG_step_count < 100)
{
......
......@@ -54,6 +54,9 @@ _Fun_Res SEG_SET_Frame(uint8_t m_Flag);
/**@brief 挡位显示函数*/
_Fun_Res SEG_SET_GEAR(uint8_t m_Gear_Flag,uint8_t m_Gear,uint8_t checkself);
/**@brief 挡位边框显示函数*/
_Fun_Res SEG_SET_GEAR_FRAME(uint8_t m_Gear_Flag);
/**@brief 电量表盘1SOC显示函数*/
_Fun_Res SEG_SET_EleDial_1SOC(uint8_t m_Flag,uint8_t m_SEG);
......
......@@ -127,6 +127,7 @@ static void Power_IG_ON_Init(void)
Fault_Code_KL15_Init();
Data_Time_KL15_Init();
Data_Soc_KL15_Init();
Data_Fuel_KL15_Init();
}
static void Power_Sleep_Init(void)
......@@ -236,7 +237,11 @@ static Power_Status_em Power_Stay_Protect(void)
BU98R10_Shutdown( );
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 0);
TimerM_PWM_set_duty(TIMERM_COUNTER0, TIMERM_CHD, 1000);
#if (PART_NUMBER == RMR42E_60)
RTE_GPIO_Set_Level(RTE_GPIO_PORT04_PIN01, RTE_GPIO_LEVEL_LOW); // OUT_EN_1
#else
RTE_GPIO_Set_Level(BUZZER_PWM_MCU_OUT, RTE_GPIO_LEVEL_LOW);
#endif
CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Disable);
}
u8PowerSts = EM_IGN_OFF_Init;
......@@ -248,7 +253,11 @@ static Power_Status_em Power_Stay_Protect(void)
BU98R10_Shutdown( );
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 0);
TimerM_PWM_set_duty(TIMERM_COUNTER0, TIMERM_CHD, 1000);
#if (PART_NUMBER == RMR42E_60)
RTE_GPIO_Set_Level(RTE_GPIO_PORT04_PIN01, RTE_GPIO_LEVEL_LOW); // OUT_EN_1
#else
RTE_GPIO_Set_Level(BUZZER_PWM_MCU_OUT, RTE_GPIO_LEVEL_LOW);
#endif
CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Disable);
for(LED = 0u; LED < LampCh0_MAX; LED++)
{
......
......@@ -96,7 +96,14 @@ void Sys_100ms_Tasks(void)
void Sys_Exact_50us_Tasks(void)
{
static uint32_t task_1ms = 0u;
#if (PART_NUMBER == G54_A01)
if(g_powerState == 2U)
{
Can_Write_Fun(&CAN_CH0_CanMsgTxOp, 50u);
}
#else
Can_Write_Fun(&CAN_CH0_CanMsgTxOp, 50u);
#endif
DoCAN_Timer_Update(50u);
GenDelay_Tick();
task_1ms++;
......
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