Commit f60f32b1 authored by 郑萍's avatar 郑萍

Merge branch 'zhengping' into 'dev'

Zhengping

See merge request !4
parents d92fa485 51208c5e
......@@ -473,6 +473,11 @@
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\Application\CAN_User\Can_App.h</FilePath>
</File>
<File>
<FileName>Can_RX_User.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\Source\Application\CAN_User\Can_RX_User.c</FilePath>
</File>
</Files>
</Group>
<Group>
......
......@@ -10,6 +10,7 @@
#include "CAN_APP\CAN_CH0_CAN_Communication_Matrix.h"
#include "Can_User/Can_User.h"
#include "Can_User/Can_App.h"
#include "Can_User/Can_RX_User.h"
......
......@@ -6,12 +6,12 @@
#define BACK_LIGHT_DAY 200
#define openLED_flag ((Get_CAN_Power_State() != PKEY_ON) && (Get_CAN_Power_State() != KEY_OFF) )
#define openLED_flag ((Get_CAN_Power_State() != PKEY_ON) && (Get_CAN_Power_State() != KEY_OFF) && (Get_CAN_Power_State() != POWER_CHECK_NULL))
uint8_t interact_PWM_Low_Duty = 0;
void BackLight_Process(void)
{
if (openLED_flag && Charge_OFF_Flag != 2)
if (openLED_flag)
{
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_DAY);
//电量
......@@ -71,7 +71,7 @@ void BackLight_Clock_All_Process(void)
void Interact_Light_Process(void)
{
if (openLED_flag && (Charge_OFF_Flag == 0))
if ((Get_CAN_Power_State() != KEY_OFF) && (Get_CAN_Power_State() != POWER_CHECK_NULL) && (Charge_OFF_Flag == 0))
{
TimerM_PWM_set_duty(TIMERM_COUNTER0, TIMERM_CHD, interact_PWM_Low_Duty * 10);
}
......
......@@ -36,6 +36,7 @@ typedef enum
CHRG_PLUGIN,
CHRGING,
CHRGEND,
POWER_CHECK_NULL,
} POWER_CHECK_STATE_t;
typedef enum
......@@ -106,39 +107,12 @@ extern uint8_t Get_CAN_CH0_ID_18200A21_Sig_SBMS_Soc(void);
extern uint8_t Get_CAN_CH0_ID_134_Sig_SMCU_ErrorGrage(void);
extern uint8_t Get_CAN_Num_BMCU_ErrorGrage(void);
extern uint8_t Get_CAN_Num_BMCU_BladeSpeedGear(void);
extern uint8_t Get_CAN_Num_BMCU_PTOSwicthState(void);
extern uint8_t Get_CAN_Num_BMCU_Moto2_Locked_RotorFault(void);
extern uint8_t Get_CAN_Num_BMCU_Moto1_Locked_RotorFault(void);
extern uint8_t Get_CAN_Num_MBMS_Soc(void);
extern uint8_t Get_CAN_Num_MBMS_TOTALWorkState(void);
extern uint8_t Get_CAN_Num_MBMS_TOTALSigOn(void);
extern uint8_t Get_CAN_Num_MBMS_TOTALSigAcc(void);
extern uint8_t Get_CAN_Num_MBMS_TOTALSigCharge(void);
extern uint8_t Get_CAN_Num_MBMS_StatSoc(void);
extern uint8_t Get_CAN_Num_MBMS_StatBattChargeState(void);
extern uint8_t Get_CAN_Num_MBMS_StatBattWorkState(void);
extern uint8_t Get_CAN_Num_MMCU_ErrorGrage(void);
extern uint8_t Get_CAN_Num_MMCU_ChgProtectState(void);
extern uint8_t Get_CAN_Num_MMCU_DCDCEnableState(void);
extern uint8_t Get_CAN_Num_MMCU_ParkingGearState(void);
extern uint8_t Get_CAN_Num_MMCU_SeatDetectState(void);
extern uint8_t Get_CAN_Num_MMCU_LockMotoState(void);
extern uint8_t Get_CAN_Num_MMCU_EBSState(void);
extern uint8_t Get_CAN_Num_MMCU_TravelSpeedGear(void);
extern uint8_t Get_CAN_Num_MMCU_PowerMode(void);
extern uint8_t Get_CAN_Num_MMCU_WorkState(void);
extern uint16_t Get_CAN_Num_MMCU_AccumulatedWorkHours(void);
extern uint8_t Get_CAN_Num_MMCU_SingleWorkingHours(void);
extern uint8_t Get_CAN_Num_SBMS_Soc(void);
extern uint8_t Get_CAN_Num_SMCU_ErrorGrage(void);
extern uint8_t Co_Can_ConvertSubID_CAN_CH0(uint32_t MsgID);
extern uint8_t System_Indicator_CANFlag;
extern void Set_CAN_ALL_Signal(void);
void System_Indicator_ON_callback(canlib_uint8_t CopyData []);
void System_Indicator_OFF_callback(canlib_uint8_t CopyData []);
extern uint8_t Get_CAN_Power_State(void);
#endif
......@@ -28,9 +28,9 @@ void Can_Set_Buff_3A2(canlib_uint8_t CopyData[])
p3A2->Sig.Res6 = 0x00;
p3A2->Sig.Res7 = 0x00;
// p3A2->Sig.ICU_MasterBMSCommunicatlost = 1;
// p3A2->Sig.ICU_SlaveBMSCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A21_Msg)) == CAN_ERR_OK);
// p3A2->Sig.ICU_MCUCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x157_Msg)) == CAN_ERR_OK);
// p3A2->Sig.ICU_VCUCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x125_Msg)) == CAN_ERR_OK);
// p3A2->Sig.ICU_SlaveBMSCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A21_Msg)) == CAN_SIG_NORMAL);
// p3A2->Sig.ICU_MCUCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x157_Msg)) == CAN_SIG_NORMAL);
// p3A2->Sig.ICU_VCUCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x125_Msg)) == CAN_SIG_NORMAL);
// p3A2->Sig.Res0 = 0x0;
// p3A2->Sig.Res1 = 0x00;
// p3A2->Sig.Res2 = 0x00;
......@@ -52,10 +52,10 @@ void Can_Set_Buff_3A7(canlib_uint8_t CopyData[])
p3A7 = (CANMsg3A7Union *)CopyData;
if (p3A7 != (void *)0)
{
p3A7->Sig.ICU_MasterBMSCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A20_Msg)) == CAN_ERR_OK);
p3A7->Sig.ICU_SlaveBMSCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A21_Msg)) == CAN_ERR_OK);
p3A7->Sig.ICU_MCUCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x157_Msg)) == CAN_ERR_OK);
p3A7->Sig.ICU_VCUCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x125_Msg)) == CAN_ERR_OK);
p3A7->Sig.ICU_MasterBMSCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A20_Msg)) == CAN_SIG_NORMAL);
p3A7->Sig.ICU_SlaveBMSCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A21_Msg)) == CAN_SIG_NORMAL);
p3A7->Sig.ICU_MCUCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x157_Msg)) == CAN_SIG_NORMAL);
p3A7->Sig.ICU_VCUCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x125_Msg)) == CAN_SIG_NORMAL);
p3A7->Sig.Res0 = 0x0;
p3A7->Sig.Res1 = 0x00;
p3A7->Sig.Res2 = 0x00;
......
#include "Can_RX_User.h"
#include "DoCAN_ISO15765.h"
#include "can.h"
#include "RTE.h"
static uint8_t BMCU_ErrorGrage = 0;
static uint8_t BMCU_BladeSpeedGear = 0;
static uint8_t BMCU_PTOSwicthState = 0;
static uint8_t BMCU_Moto2_Locked_RotorFault = 0;
static uint8_t BMCU_Moto1_Locked_RotorFault = 0;
static uint8_t MBMS_Soc = 0;
static uint8_t MBMS_TOTALWorkState = 0;
static uint8_t MBMS_TOTALSigOn = 0;
static uint8_t MBMS_TOTALSigAcc = 0;
static uint8_t MBMS_TOTALSigCharge = 0;
static uint8_t MBMS_StatSoc = 0;
static uint8_t MBMS_StatBattChargeState = 0;
static uint8_t MBMS_StatBattWorkState = 0;
static uint8_t MMCU_ErrorGrage = 0;
static uint8_t MMCU_ChgProtectState = 0;
static uint8_t MMCU_DCDCEnableState = 0;
static uint8_t MMCU_ParkingGearState = 0;
static uint8_t MMCU_SeatDetectState = 0;
static uint8_t MMCU_LockMotoState = 0;
static uint8_t MMCU_EBSState = 0;
static uint8_t MMCU_TravelSpeedGear = 0;
static uint8_t MMCU_PowerMode = 0;
static uint8_t MMCU_WorkState = 0;
static uint16_t MMCU_AccumulatedWorkHours = 0;
static uint8_t MMCU_SingleWorkingHours = 0;
static uint8_t SBMS_Soc = 0;
static uint8_t SMCU_ErrorGrage = 0;
void Set_CAN_ALL_Signal(void)
{
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x157_Msg)) == CAN_SIG_NORMAL)
{
BMCU_ErrorGrage = Get_CAN_CH0_ID_157_Sig_BMCU_ErrorGrage();
BMCU_BladeSpeedGear = Get_CAN_CH0_ID_157_Sig_BMCU_BladeSpeedGear();
BMCU_PTOSwicthState = Get_CAN_CH0_ID_157_Sig_BMCU_PTOSwicthState();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x38E_Msg)) == CAN_SIG_NORMAL)
{
BMCU_Moto1_Locked_RotorFault = Get_CAN_CH0_ID_38E_Sig_BMCU_Moto1_Locked_RotorFault();
BMCU_Moto2_Locked_RotorFault = Get_CAN_CH0_ID_38E_Sig_BMCU_Moto2_Locked_RotorFault();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A20_Msg)) == CAN_SIG_NORMAL)
{
MBMS_Soc = Get_CAN_CH0_ID_18200A20_Sig_MBMS_Soc();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18202922_Msg)) == CAN_SIG_NORMAL)
{
MBMS_TOTALWorkState = Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALWorkState();
MBMS_TOTALSigOn = Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALSigOn();
MBMS_TOTALSigAcc = Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALSigAcc();
MBMS_TOTALSigCharge = Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALSigCharge();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18203020_Msg)) == CAN_SIG_NORMAL)
{
MBMS_StatSoc = Get_CAN_CH0_ID_18203020_Sig_MBMS_StatSoc();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18203220_Msg)) == CAN_SIG_NORMAL)
{
MBMS_StatBattChargeState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattChargeState();
MBMS_StatBattWorkState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x125_Msg)) == CAN_SIG_NORMAL)
{
MMCU_ErrorGrage = Get_CAN_CH0_ID_125_Sig_MMCU_ErrorGrage();
MMCU_ChgProtectState = Get_CAN_CH0_ID_125_Sig_MMCU_ChgProtectState();
MMCU_DCDCEnableState = Get_CAN_CH0_ID_125_Sig_MMCU_DCDCEnableState();
MMCU_ParkingGearState = Get_CAN_CH0_ID_125_Sig_MMCU_ParkingGearState();
MMCU_SeatDetectState = Get_CAN_CH0_ID_125_Sig_MMCU_SeatDetectState(); // 掉线需要做处理
MMCU_LockMotoState = Get_CAN_CH0_ID_125_Sig_MMCU_LockMotoState();
MMCU_EBSState = Get_CAN_CH0_ID_125_Sig_MMCU_EBSState();
MMCU_TravelSpeedGear = Get_CAN_CH0_ID_125_Sig_MMCU_TravelSpeedGear();
MMCU_PowerMode = Get_CAN_CH0_ID_125_Sig_MMCU_PowerMode();
MMCU_WorkState = Get_CAN_CH0_ID_125_Sig_MMCU_WorkState();
}
else
{
MMCU_SeatDetectState = Get_CAN_CH0_ID_125_Sig_MMCU_SeatDetectState(); // 掉线需要做处理
MMCU_PowerMode = POWER_CHECK_NULL;
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x339_Msg)) == CAN_SIG_NORMAL)
{
MMCU_AccumulatedWorkHours = Get_CAN_CH0_ID_339_Sig_MMCU_AccumulatedWorkHours();
MMCU_SingleWorkingHours = Get_CAN_CH0_ID_339_Sig_MMCU_SingleWorkingHours();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A21_Msg)) == CAN_SIG_NORMAL)
{
SBMS_Soc = Get_CAN_CH0_ID_18200A21_Sig_SBMS_Soc();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A21_Msg)) == CAN_SIG_NORMAL)
{
SMCU_ErrorGrage = Get_CAN_CH0_ID_134_Sig_SMCU_ErrorGrage();
}
}
uint8_t Get_CAN_Num_BMCU_ErrorGrage(void)
{
return BMCU_ErrorGrage;
}
uint8_t Get_CAN_Num_BMCU_BladeSpeedGear(void)
{
return BMCU_BladeSpeedGear;
}
uint8_t Get_CAN_Num_BMCU_PTOSwicthState(void)
{
return BMCU_PTOSwicthState;
}
uint8_t Get_CAN_Num_BMCU_Moto2_Locked_RotorFault(void)
{
return BMCU_Moto2_Locked_RotorFault;
}
uint8_t Get_CAN_Num_BMCU_Moto1_Locked_RotorFault(void)
{
return BMCU_Moto1_Locked_RotorFault;
}
uint8_t Get_CAN_Num_MBMS_Soc(void)
{
return MBMS_Soc;
}
uint8_t Get_CAN_Num_MBMS_TOTALWorkState(void)
{
return MBMS_TOTALWorkState;
}
uint8_t Get_CAN_Num_MBMS_TOTALSigOn(void)
{
return MBMS_TOTALSigOn;
}
uint8_t Get_CAN_Num_MBMS_TOTALSigAcc(void)
{
return MBMS_TOTALSigAcc;
}
uint8_t Get_CAN_Num_MBMS_TOTALSigCharge(void)
{
return MBMS_TOTALSigCharge;
}
uint8_t Get_CAN_Num_MBMS_StatSoc(void)
{
return MBMS_StatSoc;
}
uint8_t Get_CAN_Num_MBMS_StatBattChargeState(void)
{
return MBMS_StatBattChargeState;
}
uint8_t Get_CAN_Num_MBMS_StatBattWorkState(void)
{
return MBMS_StatBattWorkState;
}
uint8_t Get_CAN_Num_MMCU_ErrorGrage(void)
{
return MMCU_ErrorGrage;
}
uint8_t Get_CAN_Num_MMCU_ChgProtectState(void)
{
return MMCU_ChgProtectState;
}
uint8_t Get_CAN_Num_MMCU_DCDCEnableState(void)
{
return MMCU_DCDCEnableState;
}
uint8_t Get_CAN_Num_MMCU_ParkingGearState(void)
{
return MMCU_ParkingGearState;
}
uint8_t Get_CAN_Num_MMCU_SeatDetectState(void)
{
return MMCU_SeatDetectState;
}
uint8_t Get_CAN_Num_MMCU_LockMotoState(void)
{
return MMCU_LockMotoState;
}
uint8_t Get_CAN_Num_MMCU_EBSState(void)
{
return MMCU_EBSState;
}
uint8_t Get_CAN_Num_MMCU_TravelSpeedGear(void)
{
return MMCU_TravelSpeedGear;
}
uint8_t Get_CAN_Num_MMCU_PowerMode(void)
{
return MMCU_PowerMode;
}
uint8_t Get_CAN_Num_MMCU_WorkState(void)
{
return MMCU_WorkState;
}
uint16_t Get_CAN_Num_MMCU_AccumulatedWorkHours(void)
{
return MMCU_AccumulatedWorkHours;
}
uint8_t Get_CAN_Num_MMCU_SingleWorkingHours(void)
{
return MMCU_SingleWorkingHours;
}
uint8_t Get_CAN_Num_SBMS_Soc(void)
{
return SBMS_Soc;
}
uint8_t Get_CAN_Num_SMCU_ErrorGrage(void)
{
return SMCU_ErrorGrage;
}
uint8_t Get_CAN_Power_State(void)
{
uint8_t state = 0;
uint8_t Power_State = Get_CAN_Num_MMCU_PowerMode();
switch (Power_State)
{
case 0x0:
state = KEY_OFF;
break;
case 0x1:
state = PKEY_ON;
break;
case 0x2:
state = KEY_ACC;
break;
case 0x3:
state = READY;
break;
case 0x4:
state = CHRG_PLUGIN;
break;
case 0x5:
state = CHRGING;
break;
case 0x6:
state = CHRGEND;
break;
case 0x7:
state = POWER_CHECK_NULL;
break;
default:
break;
}
return state;
}
#ifndef _CAN_RX_USER_H_
#define _CAN_RX_USER_H_
#include "RTE.h"
#include "Application.h"
#include "Components.h"
extern uint8_t Get_CAN_Num_BMCU_ErrorGrage(void);
extern uint8_t Get_CAN_Num_BMCU_BladeSpeedGear(void);
extern uint8_t Get_CAN_Num_BMCU_PTOSwicthState(void);
extern uint8_t Get_CAN_Num_BMCU_Moto2_Locked_RotorFault(void);
extern uint8_t Get_CAN_Num_BMCU_Moto1_Locked_RotorFault(void);
extern uint8_t Get_CAN_Num_MBMS_Soc(void);
extern uint8_t Get_CAN_Num_MBMS_TOTALWorkState(void);
extern uint8_t Get_CAN_Num_MBMS_TOTALSigOn(void);
extern uint8_t Get_CAN_Num_MBMS_TOTALSigAcc(void);
extern uint8_t Get_CAN_Num_MBMS_TOTALSigCharge(void);
extern uint8_t Get_CAN_Num_MBMS_StatSoc(void);
extern uint8_t Get_CAN_Num_MBMS_StatBattChargeState(void);
extern uint8_t Get_CAN_Num_MBMS_StatBattWorkState(void);
extern uint8_t Get_CAN_Num_MMCU_ErrorGrage(void);
extern uint8_t Get_CAN_Num_MMCU_ChgProtectState(void);
extern uint8_t Get_CAN_Num_MMCU_DCDCEnableState(void);
extern uint8_t Get_CAN_Num_MMCU_ParkingGearState(void);
extern uint8_t Get_CAN_Num_MMCU_SeatDetectState(void);
extern uint8_t Get_CAN_Num_MMCU_LockMotoState(void);
extern uint8_t Get_CAN_Num_MMCU_EBSState(void);
extern uint8_t Get_CAN_Num_MMCU_TravelSpeedGear(void);
extern uint8_t Get_CAN_Num_MMCU_PowerMode(void);
extern uint8_t Get_CAN_Num_MMCU_WorkState(void);
extern uint16_t Get_CAN_Num_MMCU_AccumulatedWorkHours(void);
extern uint8_t Get_CAN_Num_MMCU_SingleWorkingHours(void);
extern uint8_t Get_CAN_Num_SBMS_Soc(void);
extern uint8_t Get_CAN_Num_SMCU_ErrorGrage(void);
extern uint8_t Get_CAN_Power_State(void);
extern void Set_CAN_ALL_Signal(void);
#endif
......@@ -10,7 +10,7 @@ static uint32_t PowerSocTimeLine;
static COMMON_PowerStatus_t PowerSts; /*1 ON ; 0 OFF*/
static DataValid_t PowerSts_Valid;
uint8_t Power_Stay_Flag = 0;
// static uint16_t u16SelfCheckTime;
/*每次唤醒调用*/
void Common_DataInit(void)
......@@ -30,7 +30,6 @@ uint8_t Common_Get_IG_Sts(void)
return (uint8_t)PowerSts;
}
uint16_t Common_Get_TireSize(void)
{
return 1u;
......@@ -50,23 +49,29 @@ void Common_Set_IG_Sts_Valid(DataValid_t Val)
PowerSts_Valid = Val;
}
void Common_Input_Para(void)
{
if (SYS_OPR_STAT_IGN_ON)
{
if ((Get_CAN_Power_State() != KEY_OFF))
if ((Get_CAN_Power_State() != KEY_OFF) && (System_Indicator_CANFlag != 1))
{
Common_Set_IG_Sts(COMMON_POWER_ON);
Common_Set_IG_Sts_Valid(COMMON_Valid);
PowerIgnOffTimeLine = 0ul;
if (PowerIgnOnTimeLine < 0x7ffffffful)
if (PowerIgnOnTimeLine < 0x7ffffffful && (Get_CAN_Power_State() != PKEY_ON))
{
PowerIgnOnTimeLine += 2u;
}
}
else if (System_Indicator_CANFlag == 1)
{
Common_Set_IG_Sts(COMMON_POWER_ON);
Common_Set_IG_Sts_Valid(COMMON_Valid);
PowerIgnOffTimeLine = 0ul;
PowerIgnOnTimeLine = 0ul;
}
else
{
PowerIgnOnTimeLine = 0ul;
......@@ -77,9 +82,10 @@ void Common_Input_Para(void)
Common_Set_IG_Sts(COMMON_POWER_OFF);
Common_Set_IG_Sts_Valid(COMMON_Valid);
}
if ((Get_CAN_Power_State() == PKEY_ON))
if ((Get_CAN_Power_State() == PKEY_ON) || (Power_Stay_Flag == 1))
{
PowerIgnOnTimeLine = 0ul;
Power_Stay_Flag = 0;
}
}
else
......@@ -108,4 +114,3 @@ uint32_t Common_GetSocTime(void)
{
return PowerSocTimeLine;
}
......@@ -72,7 +72,7 @@ extern void Common_Set_Disp_V_Speed_Valid(DataValid_t Val);
// extern uint16_t Common_Get_DispSpeed(void);
extern uint32_t Common_GetIgnOnTime(void); /*ms*/
extern uint32_t Common_GetIgnOffTime(void); /*ms*/
extern uint8_t Power_Stay_Flag;
#endif
......@@ -84,74 +84,74 @@ void Gpio_Init(_GpioUser_Enum InitMode)
}
else
{
RTE_GPIO_Config(RTE_GPIO_PORT00_PIN00, GpioOut_Low);//
RTE_GPIO_Config(RTE_GPIO_PORT00_PIN01, RTE_GPIO_DIR_IN);
RTE_GPIO_Config(RTE_GPIO_PORT00_PIN02, GpioOut_Low);
RTE_GPIO_Config(RTE_GPIO_PORT00_PIN03, GpioOut_Low);
RTE_GPIO_Config(RTE_GPIO_PORT00_PIN04, GpioOut_Low);
RTE_GPIO_Config(RTE_GPIO_PORT00_PIN05, GpioOut_Low);//
RTE_GPIO_Config(RTE_GPIO_PORT00_PIN06, GpioOut_Low);//
RTE_GPIO_Config(RTE_GPIO_PORT01_PIN00, GpioOut_Low);
RTE_GPIO_Config(RTE_GPIO_PORT01_PIN01, RTE_GPIO_DIR_IN);
RTE_GPIO_Config(RTE_GPIO_PORT01_PIN02, GpioOut_Low);
RTE_GPIO_Config(RTE_GPIO_PORT01_PIN03, GpioOut_Low);
RTE_GPIO_Config(RTE_GPIO_PORT01_PIN04, GpioOut_Low);//
RTE_GPIO_Config(RTE_GPIO_PORT01_PIN05, GpioOut_Low);//
RTE_GPIO_Config(RTE_GPIO_PORT01_PIN06, GpioOut_Low);//
RTE_GPIO_Config(RTE_GPIO_PORT01_PIN07, GpioOut_Low);//
RTE_GPIO_Config(RTE_GPIO_PORT02_PIN00, GpioOut_High);
RTE_GPIO_Config(RTE_GPIO_PORT02_PIN01, GpioOut_Low);
RTE_GPIO_Config(RTE_GPIO_PORT02_PIN02, RTE_GPIO_DIR_IN);
RTE_GPIO_Config(RTE_GPIO_PORT02_PIN03, RTE_GPIO_DIR_IN);
RTE_GPIO_Config(RTE_GPIO_PORT02_PIN04, GpioOut_Low);//
RTE_GPIO_Config(RTE_GPIO_PORT02_PIN05, GpioOut_Low);//
RTE_GPIO_Config(RTE_GPIO_PORT02_PIN06, GpioOut_Low);//
RTE_GPIO_Config(RTE_GPIO_PORT02_PIN07, GpioOut_Low);//
RTE_GPIO_Config(RTE_GPIO_PORT03_PIN00, GpioOut_Low);//
RTE_GPIO_Config(RTE_GPIO_PORT03_PIN01, GpioOut_Low);
RTE_GPIO_Config(RTE_GPIO_PORT04_PIN00, GpioOut_Low);
RTE_GPIO_Config(RTE_GPIO_PORT04_PIN01, GpioOut_Low);//
RTE_GPIO_Config(RTE_GPIO_PORT04_PIN02, RTE_GPIO_DIR_IN);//
RTE_GPIO_Config(RTE_GPIO_PORT04_PIN03, GpioOut_Low);//
RTE_GPIO_Config(RTE_GPIO_PORT05_PIN00, RTE_GPIO_DIR_IN);//
RTE_GPIO_Config(RTE_GPIO_PORT05_PIN01, GpioOut_Low);//
RTE_GPIO_Config(RTE_GPIO_PORT05_PIN02, GpioOut_Low);//
RTE_GPIO_Config(RTE_GPIO_PORT05_PIN03, GpioOut_Low);///
RTE_GPIO_Config(RTE_GPIO_PORT05_PIN04, GpioOut_Low);//
RTE_GPIO_Config(RTE_GPIO_PORT05_PIN05, GpioOut_Low);//
RTE_GPIO_Config(RTE_GPIO_PORT06_PIN00, GpioOut_High);
RTE_GPIO_Config(RTE_GPIO_PORT06_PIN01, GpioOut_High);
RTE_GPIO_Config(RTE_GPIO_PORT06_PIN02, GpioOut_High);
RTE_GPIO_Config(RTE_GPIO_PORT06_PIN03, GpioOut_High);
RTE_GPIO_Config(RTE_GPIO_PORT07_PIN00, GpioOut_Low);
RTE_GPIO_Config(RTE_GPIO_PORT07_PIN01, GpioOut_Low);
RTE_GPIO_Config(RTE_GPIO_PORT07_PIN02, GpioOut_Low);
RTE_GPIO_Config(RTE_GPIO_PORT07_PIN03, RTE_GPIO_DIR_IN);//
RTE_GPIO_Config(RTE_GPIO_PORT07_PIN04, RTE_GPIO_DIR_IN);//
RTE_GPIO_Config(RTE_GPIO_PORT07_PIN05, RTE_GPIO_DIR_IN);//
RTE_GPIO_Config(RTE_GPIO_PORT07_PIN06, RTE_GPIO_DIR_IN);//
RTE_GPIO_Config(RTE_GPIO_PORT07_PIN07, RTE_GPIO_DIR_IN);//
RTE_GPIO_Config(RTE_GPIO_PORT12_PIN00, GpioOut_Low);
RTE_GPIO_Config(RTE_GPIO_PORT12_PIN01, GpioOut_Low);
RTE_GPIO_Config(RTE_GPIO_PORT12_PIN02, GpioOut_Low);
RTE_GPIO_Config(RTE_GPIO_PORT12_PIN03, GpioOut_Low);
RTE_GPIO_Config(RTE_GPIO_PORT12_PIN04, GpioOut_Low);
RTE_GPIO_Config(RTE_GPIO_PORT13_PIN00, GpioOut_Low);
RTE_GPIO_Config(RTE_GPIO_PORT13_PIN06, GpioOut_Low);//
RTE_GPIO_Config(RTE_GPIO_PORT13_PIN07, GpioOut_Low);
RTE_GPIO_Config(RTE_GPIO_PORT14_PIN00, GpioOut_Low);
RTE_GPIO_Config(RTE_GPIO_PORT14_PIN01, GpioOut_Low);//
RTE_GPIO_Config(RTE_GPIO_PORT14_PIN06, RTE_GPIO_DIR_IN);
RTE_GPIO_Config(RTE_GPIO_PORT14_PIN07, GpioOut_Low);
RTE_GPIO_Config(RTE_GPIO_PORT00_PIN00, GpioOut_Low); //空
RTE_GPIO_Config(RTE_GPIO_PORT00_PIN01, RTE_GPIO_DIR_IN); //KL15
RTE_GPIO_Config(RTE_GPIO_PORT00_PIN02, RTE_GPIO_DIR_IN); //段码SPI10-SD-1
RTE_GPIO_Config(RTE_GPIO_PORT00_PIN03, RTE_GPIO_DIR_IN); //段码SPI10-CSB-1
RTE_GPIO_Config(RTE_GPIO_PORT00_PIN04, RTE_GPIO_DIR_IN); //段码SPI10-SCL-1
RTE_GPIO_Config(RTE_GPIO_PORT00_PIN05, RTE_GPIO_DIR_IN); //按键E信号_N_IN_MCU
RTE_GPIO_Config(RTE_GPIO_PORT00_PIN06, RTE_GPIO_DIR_IN); //按键D信号_N_IN_MCU
RTE_GPIO_Config(RTE_GPIO_PORT01_PIN00, RTE_GPIO_DIR_IN); //表盘背光-PWM
RTE_GPIO_Config(RTE_GPIO_PORT01_PIN01, RTE_GPIO_DIR_IN); //RXD-ESP-IN-MCU
RTE_GPIO_Config(RTE_GPIO_PORT01_PIN02, GpioOut_Low); //TXD-ESP-IN-MCU
RTE_GPIO_Config(RTE_GPIO_PORT01_PIN03, GpioOut_Low); //空
RTE_GPIO_Config(RTE_GPIO_PORT01_PIN04, GpioOut_Low); //空
RTE_GPIO_Config(RTE_GPIO_PORT01_PIN05, GpioOut_Low); //总计工作时长统计千位_MCU_OUT
RTE_GPIO_Config(RTE_GPIO_PORT01_PIN06, GpioOut_Low); //总计工作时长统计百十位_MCU_OUT
RTE_GPIO_Config(RTE_GPIO_PORT01_PIN07, GpioOut_Low); //交互指示灯_PWM_MCU_OUT
RTE_GPIO_Config(RTE_GPIO_PORT02_PIN00, RTE_GPIO_DIR_IN); //AVDD
RTE_GPIO_Config(RTE_GPIO_PORT02_PIN01, RTE_GPIO_DIR_IN); //GND
RTE_GPIO_Config(RTE_GPIO_PORT02_PIN02, RTE_GPIO_DIR_IN); //KL30-AD
RTE_GPIO_Config(RTE_GPIO_PORT02_PIN03, RTE_GPIO_DIR_IN); //KL15-AD
RTE_GPIO_Config(RTE_GPIO_PORT02_PIN04, GpioOut_Low); //电量十位_MCU_OUT
RTE_GPIO_Config(RTE_GPIO_PORT02_PIN05, GpioOut_Low); //空
RTE_GPIO_Config(RTE_GPIO_PORT02_PIN06, GpioOut_Low); //空
RTE_GPIO_Config(RTE_GPIO_PORT02_PIN07, GpioOut_Low); //空
RTE_GPIO_Config(RTE_GPIO_PORT03_PIN00, GpioOut_Low); //电量百位_MCU_OUT
RTE_GPIO_Config(RTE_GPIO_PORT03_PIN01, GpioOut_Low); //SDB_LED_DRIVER
RTE_GPIO_Config(RTE_GPIO_PORT04_PIN00, GpioOut_Low); //SEDIO-编程
RTE_GPIO_Config(RTE_GPIO_PORT04_PIN01, GpioOut_Low); //OUT_EN_1
RTE_GPIO_Config(RTE_GPIO_PORT04_PIN02, RTE_GPIO_DIR_IN); //OUT_ST
RTE_GPIO_Config(RTE_GPIO_PORT04_PIN03, GpioOut_Low); //OUT_EN
RTE_GPIO_Config(RTE_GPIO_PORT05_PIN00, RTE_GPIO_DIR_IN); //CAN_MCU_RXD
RTE_GPIO_Config(RTE_GPIO_PORT05_PIN01, GpioOut_Low); //CAN_MCU_TXD
RTE_GPIO_Config(RTE_GPIO_PORT05_PIN02, GpioOut_High); //CAN_STB_MCU
RTE_GPIO_Config(RTE_GPIO_PORT05_PIN03, GpioOut_Low); //空
RTE_GPIO_Config(RTE_GPIO_PORT05_PIN04, GpioOut_Low); //空
RTE_GPIO_Config(RTE_GPIO_PORT05_PIN05, GpioOut_Low); //空
RTE_GPIO_Config(RTE_GPIO_PORT06_PIN00, GpioOut_High); //存储SCL
RTE_GPIO_Config(RTE_GPIO_PORT06_PIN01, GpioOut_High); //存储SDA
RTE_GPIO_Config(RTE_GPIO_PORT06_PIN02, GpioOut_High); //SCL_MCU
RTE_GPIO_Config(RTE_GPIO_PORT06_PIN03, GpioOut_High); //SDA_MCU
RTE_GPIO_Config(RTE_GPIO_PORT07_PIN00, RTE_GPIO_DIR_IN); //段码SPI20-SCL-2
RTE_GPIO_Config(RTE_GPIO_PORT07_PIN01, RTE_GPIO_DIR_IN); //段码SPI20-CSB-2
RTE_GPIO_Config(RTE_GPIO_PORT07_PIN02, RTE_GPIO_DIR_IN); //段码SPI20-SD-2
RTE_GPIO_Config(RTE_GPIO_PORT07_PIN03, RTE_GPIO_DIR_IN); //按键C信号-P-MCU-IN
RTE_GPIO_Config(RTE_GPIO_PORT07_PIN04, RTE_GPIO_DIR_IN); //按键B信号-P-MCU-IN
RTE_GPIO_Config(RTE_GPIO_PORT07_PIN05, RTE_GPIO_DIR_IN); //按键A信号-P-MCU-IN
RTE_GPIO_Config(RTE_GPIO_PORT07_PIN06, RTE_GPIO_DIR_IN); //草满指示信号-P-MCU-IN
RTE_GPIO_Config(RTE_GPIO_PORT07_PIN07, RTE_GPIO_DIR_IN); //大灯开启信号-P-MCU-IN
RTE_GPIO_Config(RTE_GPIO_PORT12_PIN00, GpioOut_Low); //L_BiasBitSW_POW---
RTE_GPIO_Config(RTE_GPIO_PORT12_PIN01, GpioOut_Low); //X1
RTE_GPIO_Config(RTE_GPIO_PORT12_PIN02, GpioOut_Low); //X2
RTE_GPIO_Config(RTE_GPIO_PORT12_PIN03, GpioOut_Low); //XT1
RTE_GPIO_Config(RTE_GPIO_PORT12_PIN04, GpioOut_Low); //XT2
RTE_GPIO_Config(RTE_GPIO_PORT13_PIN00, GpioOut_Low); //空
RTE_GPIO_Config(RTE_GPIO_PORT13_PIN06, GpioOut_Low); //空
RTE_GPIO_Config(RTE_GPIO_PORT13_PIN07, GpioOut_Low); //SWCLK-编程
RTE_GPIO_Config(RTE_GPIO_PORT14_PIN00, GpioOut_Low); //L_BD433Ctrl_OUT
RTE_GPIO_Config(RTE_GPIO_PORT14_PIN01, GpioOut_Low); //空
RTE_GPIO_Config(RTE_GPIO_PORT14_PIN06, RTE_GPIO_DIR_IN); //A_Version---
RTE_GPIO_Config(RTE_GPIO_PORT14_PIN07, GpioOut_Low); //空
}
}
......@@ -39,6 +39,7 @@ typedef struct
extern uint8_t BUZZER_ON;
extern uint8_t Charge_OFF_Flag;
extern uint8_t EEPROM_Cumulativee_clean;
extern uint16_t poweroff_time;
void Gauge_Power_SOC_pull_Display(void);
// void Gauge_Power_2_SOC_Display(void);
......
#include "SEG_DISPLAY\SEG_DISPLAY.h"
#include "GPIO_USER\GpioUser.h"
#include "CAN_APP\CAN_CH0_CAN_Communication_Matrix.h"
#define Clr_Bit(p, b) (p) &= (~(1u << (b)))
#define Set_Bit(p, b) (p) |= (1u << (b))
......@@ -250,7 +251,6 @@ _Fun_Res SEG_SET_Cutterhead(uint8_t m_Flag, uint8_t LED_NUM, uint8_t checkself)
}
else
{
IC1_SEG117 = IC_SEG_OFF;
IC1_SEG075 = IC_SEG_OFF;
IC1_SEG082 = IC_SEG_OFF;
IC1_SEG081 = IC_SEG_OFF;
......@@ -258,13 +258,6 @@ _Fun_Res SEG_SET_Cutterhead(uint8_t m_Flag, uint8_t LED_NUM, uint8_t checkself)
IC1_SEG078 = IC_SEG_OFF;
IC1_SEG076 = IC_SEG_OFF;
IC1_SEG077 = IC_SEG_OFF;
IC1_SEG118 = IC_SEG_OFF;
IC1_SEG073 = IC_SEG_OFF;
IC1_SEG074 = IC_SEG_OFF;
IC1_SEG079 = IC_SEG_OFF;
IC1_SEG083 = IC_SEG_OFF;
IC1_SEG116 = IC_SEG_OFF;
}
}
}
......@@ -321,16 +314,16 @@ _Fun_Res SEG_SET_GEAR(uint8_t m_Gear_Flag, uint8_t m_Gear, uint8_t checkself)
if (checkself == 1)
{
m8 = SEG_DISPLAY_NUMBER0[m_Gear];
if (m_Gear == 8)
{
IC2_SEG096 = IC_SEG_ON;
IC2_SEG142 = IC_SEG_ON;
}
else
{
IC2_SEG096 = IC_SEG_OFF;
IC2_SEG142 = IC_SEG_OFF;
}
// if (m_Gear == 8)
// {
// IC2_SEG096 = IC_SEG_ON;
// IC2_SEG142 = IC_SEG_ON;
// }
// else
// {
// IC2_SEG096 = IC_SEG_OFF;
// IC2_SEG142 = IC_SEG_OFF;
// }
if (Bit_Is_Set(m8, 0))
{
IC2_SEG148 = IC_SEG_ON;
......@@ -571,7 +564,7 @@ _Fun_Res SEG_SET_EleDial_1SOC(uint8_t m_Flag, uint8_t m_SEG)
_Fun_Res m_Res;
uint8_t Num;
uint8_t m8;
if (m_Flag == 1u)
if (((m_Flag == 1u) && (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A20_Msg)) == CAN_SIG_NORMAL)) || (checkself_seg_Flag == 1))
{
IC1_SEG136 = IC_SEG_GREY;
IC1_SEG137 = IC_SEG_GREY;
......@@ -663,7 +656,7 @@ _Fun_Res SEG_SET_EleDial_2SOC(uint8_t m_Flag, uint8_t m_SEG)
_Fun_Res m_Res;
uint8_t Num;
uint8_t m8;
if (m_Flag == 1u)
if (((m_Flag == 1u) && (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A21_Msg)) == CAN_SIG_NORMAL)) || (checkself_seg_Flag == 1))
{
IC1_SEG124 = IC_SEG_ON;
IC1_SEG123 = IC_SEG_ON;
......@@ -2613,31 +2606,36 @@ void Checkself_SEG_Display(void)
uint16_t Trip = 0;
uint16_t hour = 0;
uint16_t min = 0;
soc_all = (Checkself_SEG_step / 1) * 11 + 100;
uint32_t allhour = (Checkself_SEG_step / 1) * 11111;
uint8_t Checkself_num = ((Checkself_SEG_step*10) / 48);
if(Checkself_num >= 10)
{
Checkself_num = 9;
}
uint32_t allhour = Checkself_num * 11111;
// Fuel = Checkself_SEG_step / 5u;
// SEG_SET_FuelDial(1, Fuel);
uint32_t EleDial_2SOC = ((Checkself_SEG_step*10) / 48);
SEG_SET_EleDial_2SOC(1, EleDial_2SOC);
SEG_SET_EleDial_1SOC(1, EleDial_2SOC);
soc_all = Checkself_num * 11 + 100;
SEG_SET_EleDial_AllSOC(1, soc_all);
SEG_SET_EleDial_2SOC(1, (Checkself_SEG_step / 1) + 1);
SEG_SET_EleDial_1SOC(1, (Checkself_SEG_step / 1) + 1);
SEG_SET_Clock_ALL(1, allhour);
hour = (Checkself_SEG_step / 1) * 11;
min = (Checkself_SEG_step / 1) * 11;
hour = Checkself_num * 11;
min = Checkself_num * 11;
SEG_SET_Clock(hour, min, 1, 1, 1);
SEG_SET_GEAR(1, (Checkself_SEG_step / 1), 1);
SEG_SET_Cutterhead(1, (Checkself_SEG_step / 1), 1);
if (Checkself_SEG_step_count < 20)
SEG_SET_GEAR(1, Checkself_num, 1);
SEG_SET_Cutterhead(1, Checkself_num, 1);
if (Checkself_SEG_step_count < 100)
{
Checkself_SEG_step_count++;
}
else
{
Checkself_SEG_step_count = 20;
Checkself_SEG_step_count = 100;
}
if (Checkself_SEG_step_count < 10)
if (Checkself_SEG_step_count < 50)
{
Checkself_SEG_step++;
}
......
......@@ -16,7 +16,7 @@ typedef enum
LampCh0_00_Grass_Full_R = 0, //草满指示灯-R-AW21036-OUT
LampCh0_01_Power_Battery_Failure_R, //动力电池故障指示灯-R-AW21036-OUT
LampCh0_02_System_Indicator_R, //系统指示灯-R-AW21036-OUT
LampCh0_03_P_GEAR_G, //空挡指示灯-G-AW21036-OUT
LampCh0_03_N_GEAR_G, //空挡指示灯-G-AW21036-OUT
LampCh0_04_GEAR_W, //GEAR-W-AW21036-OUT
LampCh0_05_Gears_W, //挡位-WAW21036-OUT
LampCh0_06_Oil_Pressure_R, //机油压力指示灯-R-AW21036-OUT
......
......@@ -6,8 +6,8 @@
const Line_In_Attribute_st g_stLineInAttribute[LINE_IN_MAX] =
{
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 120U, 20U, Get_LINE_IN_GrassFull, },
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 120U, 20U, Get_LINE_IN_BigLED, },
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 470U, 20U, Get_LINE_IN_GrassFull, },
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 470U, 20U, Get_LINE_IN_BigLED, },
};
......
......@@ -69,7 +69,7 @@ static void Power_KL30_Init(void)
g_stRTCInformation.u8RTCMonth = 1;
g_stRTCInformation.u8RTCYear = 20;
RTE_RTC_Init(g_stRTCInformation);
RTE_DEEPSLEEP_GPIO_Interrupt_Enable(CAN_MCU_RXD,Trigger_Rising);
RTE_DEEPSLEEP_GPIO_Interrupt_Enable(KL15_AD_IN,Trigger_Rising);
}
extern uint32_t PowerIgnOffTimeLine;
......@@ -91,7 +91,7 @@ static void Power_Wakeup_Init(void)
TimerM_PWM_CH_Output_init(TIMERM_COUNTER0, TIMERM_CHD, ActiveLevel_High);
TimerM_PWM_CH_Output_init(TIMERM_COUNTER1, TIMERM_CHB, ActiveLevel_High);
Telltales_Init();
RTE_DEEPSLEEP_GPIO_Interrupt_Enable(CAN_MCU_RXD,Trigger_Rising);
RTE_DEEPSLEEP_GPIO_Interrupt_Enable(KL15_AD_IN,Trigger_Rising);
}
static void Power_LVP_Init(void)
......@@ -165,7 +165,7 @@ static Power_Status_em Power_Stay_OFF(void)
}
else
{
if ((Common_GetIgnOffTime() < 2500))
if ((Common_GetIgnOffTime() < 5000))
{
u8PowerSts = EM_IGN_OFF;
}
......@@ -199,6 +199,11 @@ static Power_Status_em Power_Stay_Protect(void)
{
RTE_WDT_Clear();
Gen_TimeDelay(2000u, 50u);
BU98R10_Shutdown( );
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 0);
TimerM_PWM_set_duty(TIMERM_COUNTER0, TIMERM_CHD, 1000);
RTE_GPIO_Set_Level(RTE_GPIO_PORT04_PIN01, RTE_GPIO_LEVEL_LOW); // OUT_EN_1
CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Disable);
for(LED = 0u; LED < LampCh0_MAX; LED++)
{
LED_Driver_Channel_Set(0u, LED, 0u);
......@@ -236,12 +241,9 @@ static Power_Status_em Power_Stay_Protect(void)
}
BU98R10_Init( );
CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Enable);
Power_Stay_Flag = 1;
return u8PowerSts;
}
if ( SYS_OPR_STAT_IGN_OFF )
{
break;
}
}
}
......@@ -252,7 +254,7 @@ static Power_Status_em Power_Stay_Sleep(void)
while (1)
{
RTE_WDT_Clear();
if (RTE_GPIO_Get_Level(CAN_MCU_RXD))/* KL15 */
if (RTE_GPIO_Get_Level(KL15_AD_IN))/* KL15 */
{
u8PowerSts = EM_IGN_Wakeup;
break;
......
......@@ -10,8 +10,8 @@
#define u16ENTER_LOW_Y_RANGE 9000U
#define u16EXIT_LOW_Y_RANGE 10000U
#define u16EXIT_HIGH_Y_RANGE 16000U
#define u16ENTER_HIGH_Y_RANGE 16500U
#define u16EXIT_HIGH_Y_RANGE 16500U
#define u16ENTER_HIGH_Y_RANGE 17000U
#define u16EXIT_HIGH_N_RANGE 17500U
#define u16ENTER_HIGH_N_RANGE 18000U
#define u16Top_Vol 0xffffu
......@@ -105,7 +105,7 @@ monitorlib_uint8_t Sys_Read_KL15_Valid(void)
monitorlib_uint8_t System_LINE_KL15(void)
{
static monitorlib_uint8_t u8KL15 = 0;
if (Get_CAN_CH0_ID_125_Sig_MMCU_PowerMode() != 0x0 )
if ((Get_CAN_Num_MMCU_PowerMode() != 0x0) || (System_Indicator_CANFlag == 1) )
{
u8KL15 = 1u;
}
......
......@@ -26,7 +26,6 @@ typedef enum
em_LED_Cruise_Control_W,
em_LED_Tire_pressure_F_W,
em_LED_Tire_pressure_R_W,
em_LED_Gears_W,
em_LED_Cutterhead_Gear_W,
em_LED_Working_Hours_One_W,
......
......@@ -9,7 +9,7 @@ typedef struct
uint32_t u32Task10msCnt;
uint32_t u32Task20msCnt;
uint32_t u32Task50msCnt;
uint32_t u32Task75msCnt;
uint32_t u32Task15msCnt;
uint32_t u32Task100msCnt;
} Sys_Scheduler_st_t;
......@@ -246,7 +246,7 @@ void Sys_Scheduler_Start(uint32_t u32SchCycle)
g_stSysScheduler.u32Task10msCnt = 1UL;
g_stSysScheduler.u32Task20msCnt = 3UL;
g_stSysScheduler.u32Task50msCnt = 5UL;
g_stSysScheduler.u32Task75msCnt = 6UL;
g_stSysScheduler.u32Task15msCnt = 2UL;
g_stSysScheduler.u32Task100msCnt = 7UL;
}
......@@ -303,11 +303,11 @@ void Sys_Scheduling_Service(void)
Sys_50ms_Tasks();
}
g_stSysScheduler.u32Task75msCnt += u32msDelta;
if (g_stSysScheduler.u32Task75msCnt >= 75UL)
g_stSysScheduler.u32Task15msCnt += u32msDelta;
if (g_stSysScheduler.u32Task15msCnt >= 15UL)
{
g_stSysScheduler.u32Task75msCnt %= 75UL;
Sys_75ms_Tasks();
g_stSysScheduler.u32Task15msCnt %= 15UL;
Sys_15ms_Tasks();
}
g_stSysScheduler.u32Task100msCnt += u32msDelta;
......
......@@ -41,5 +41,5 @@ extern void Sys_5ms_Tasks(void);
extern void Sys_10ms_Tasks(void);
extern void Sys_20ms_Tasks(void);
extern void Sys_50ms_Tasks(void);
extern void Sys_75ms_Tasks(void);
extern void Sys_15ms_Tasks(void);
extern void Sys_100ms_Tasks(void);
......@@ -48,37 +48,11 @@ void Sys_50ms_Tasks(void)
Gauge_Service();
}
void Sys_75ms_Tasks(void)
void Sys_15ms_Tasks(void)
{
if (checkself_seg_Flag == 1)
if ((Common_GetIgnOnTime() <= 1500) && (Common_GetIgnOnTime() > 0) && (checkself_seg_Flag == 1))
{
Checkself_SEG_Display();
// if (Checkself_SEG_step_count < 20)
// {
// Checkself_SEG_step_count++;
// }
// else
// {
// Checkself_SEG_step_count = 20;
// }
// if (Checkself_SEG_step_count < 10)
// {
// Checkself_SEG_step++;
// }
// else
// {
// if (Checkself_SEG_step == 0)
// {
// Checkself_SEG_step = 0;
// SEG_SET_EleDial_2SOC(1, 0);
// SEG_SET_EleDial_1SOC(1, 0);
// }
// else
// {
// Checkself_SEG_step--;
// }
// }
}
}
......
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