Commit 019cc1f3 authored by 姜凯文's avatar 姜凯文 🤒

Merge branch 'dev' into 'master'

变更

See merge request !2
parents 39f07503 d5eb318f
......@@ -82,7 +82,7 @@ void ReversingImage_Main(void)
return;
}
unsigned char GearSignal = Gear_Get_Value();//Get_ID_18F101D0_Sig_VCU_GearSts();
unsigned char GearSignal = Gear_Get_Value(); //Get_ID_18F101D0_Sig_VCU_GearSts();
COMMON_PowerStatus_t PwrSts = Common_Get_IG_Sts();
......
......@@ -4,13 +4,13 @@
#include "TYW_stdint.h"
#include "Services_Mileage.h"
#define ONLY_CLEAR_ODO_MIL 0x01u /*�����ݾ�����Ϣ����ODO���*/
//#define ONLY_CLEAR_ODO_NUM 0x01u /*�����ݴ�����Ϣ����ODO���*/
//#define CLEAR_ODO_NUM_MIL 0x01u /*�Ծ�����Ϣ�Լ�������Ϣ����ODO���*/
#define ONLY_CLEAR_ODO_MIL 0x01u /*仅根据距离信息进行ODO清除*/
//#define ONLY_CLEAR_ODO_NUM 0x01u /*仅根据次数信息进行ODO清除*/
//#define CLEAR_ODO_NUM_MIL 0x01u /*以距离信息以及次数信息进行ODO清除*/
#define ODO_CLEAR_NUM 5u /*�����������ֵ */
#define ODO_CLEAR_MIL 50000u /*�����������ֵ ��λ0.1KM*/
#define ODO_CLEAR_NUM 5u /*清除次数上限值 */
#define ODO_CLEAR_MIL 50000u /*清除距离上限值 单位0.1KM*/
void Data_User_Mileage_KL30Init(void);
......
#ifndef __FLASHCHECKSUM_H_
#define __FLASHCHECKSUM_H_
#define REAL_FLASHCHECKSUM 0x237C2560ul
#define REAL_FLASHCHECKSUM 0xFC767058ul
#define SPI_START_ADDR 0x10000000ul
#define SPI_ADDR_RANGE 0x00C0F030ul
#define SPI_ADDR_RANGE 0x00C4F1E0ul
unsigned char CheckSpiFlashCRC(void);
......
......@@ -118,6 +118,7 @@ typedef enum
Vhcl_Info_ISL,
Vhcl_Info_SCU,
Vhcl_Info_ABS,
Vhcl_Info_SW,
Vhcl_Info_RET,
Vhcl_Info_Max,
......
......@@ -105,12 +105,13 @@ static const uint8_t Vhcl_Info_Page[] =
{
/*Vhcl_Info_IC*/ 2u,
/*Vhcl_Info_BMS*/ 37u,
/*Vhcl_Info_VCU*/ 5u,
/*Vhcl_Info_VCU*/ 6u,
/*Vhcl_Info_MCU*/ 3u,
/*Vhcl_Info_CHG*/ 1u,
/*Vhcl_Info_ISL*/ 2u,
/*Vhcl_Info_SCU*/ 2u,
/*Vhcl_Info_ABS*/ 1u,
/*Vhcl_Info_ABS*/ 50u,
/*Vhcl_Info_SW*/ 2u,
/*Vhcl_Info_RET*/ 0u,
};
......@@ -423,7 +424,7 @@ void Key_Turn_Service(void)
}
else
{
Vehicle_Info_Type = 8u;
Vehicle_Info_Type = 9u;
}
}
else
......@@ -519,7 +520,7 @@ void Key_Turn_Service(void)
VdoFmtTyp = 2u;
}
Common_Set_VdoFmtTyp(VdoFmtTyp);
Common_Set_VdoFmtTyp(VdoFmtTyp);
break;
//限速值
......
......@@ -48,6 +48,13 @@
static uint8_t PowerGetNMStatus(void);
extern uint8_t VCU_VER_NUM[5u];
extern uint8_t MCU_VER_NUM[3u];
extern uint8_t ACM_VER_NUM[3u];
extern uint8_t PDU_VER_NUM[3u];
extern uint8_t DCDC_VER_NUM[3u];
extern uint8_t EHPS_VER_NUM[3u];
Power_Status_t Power_KL30_Init(void)
{
Power_Status_t u8PowerSts;
......@@ -110,7 +117,14 @@ Power_Status_t Power_KL30_Init(void)
BL_Open_Flag_Set(1);
u8PowerSts = m_IGN_ON_Init;
}
VCU_VER_NUM[0u] = 0xFFu;
MCU_VER_NUM[0u] = 0xFFu;
ACM_VER_NUM[0u] = 0xFFu;
PDU_VER_NUM[0u] = 0xFFu;
DCDC_VER_NUM[0u] = 0xFFu;
EHPS_VER_NUM[0u] = 0xFFu;
return u8PowerSts;
}
......@@ -232,6 +246,7 @@ void Power_IG_ON_Init(void)
BL_Open_Flag_Set(1);
BL_TFT_Start();
BL_LCD_Start();
if (Gear_Get_Value() != 1)
{
I2S_MAX98357_InternalFlash_CH0_Player(Sound_Warning, 27600U, 1U);
......
#include "Telltales.h"
#include "Common_Interface.h"
#include "Line_In.h"
#include "Telltales_user.h"
#include "Sound_Scheduler.h"
#include "CAN_Communication_Matrix.h"
#include "System_Monitor.h"
LED_Operation_st LED_Operation;
......@@ -44,11 +49,24 @@ void Telltales_SetPara(ExternalPara_st *Para)
LED_Operation.IG_OFF_Timer = Para->IG_OFF_Timer;
}
uint8_t TimeOutOffSts;
void Telltales_Management(void)
{
uint8_t u8Condition = Line_In_Get_Status(LINE_IN_ChargeWake);
LED_Operation.IG_Status = Common_Get_IG_Sts();
LED_Operation.IG_ON_Timer = Common_GetIgnOnTime();
LED_Operation.IG_OFF_Timer = Common_GetIgnOffTime();
if ((u8Condition || (Get_ID_18F141F3_Sig_BMS_ChgWrCntSts() == 0x55u)) && (System_FUN_KL15_Status_Get() == 0u))
{
TimeOutOffSts = 1u;
}
else
{
TimeOutOffSts = 0u;
}
if (LED_Operation.IG_Status == LED_PWR_ON) /* IG ON */
{
......@@ -88,7 +106,7 @@ void Telltales_IG_ON_Work(void)
if ((LED_Attribute[i].WorkSts == LED_IGN_ON) || (LED_Attribute[i].WorkSts == LED_IGN_ON_OFF))
{
if ((LED_Operation.IG_ON_Timer < LED_Attribute[i].CheckEnd) && \
(LED_Operation.IG_ON_Timer > Telltales_SelfCheckOffset + LED_Attribute[i].CheckStart))
(LED_Operation.IG_ON_Timer >= Telltales_SelfCheckOffset + LED_Attribute[i].CheckStart))
{
if (LED_Attribute[i].isSelfCheck == SelfCheck)
{
......@@ -114,40 +132,39 @@ void Telltales_IG_ON_Work(void)
LED_Operation.u8LED_Status[i] = LED_OFF;
}
LED_Operation.LED_Execution_Cbk = LED_Attribute[i].LED_Execution_Cbk;
if (LED_Operation.LED_Execution_Cbk != NULL)
{
LED_Operation.LED_Execution_Cbk(LED_Operation.u8LED_Status[i]);
}
LED_Operation.LED_Execution_Cbk = LED_Attribute[i].LED_Execution_Cbk;
if (LED_Operation.LED_Execution_Cbk != NULL)
{
LED_Operation.LED_Execution_Cbk(LED_Operation.u8LED_Status[i]);
}
}
}
else
{
if (LED_Attribute[i].isExCheck == NoExterNalCheck)
{
LED_Operation.u8LED_Status[i] = LED_OFF;
LED_Operation.LED_Execution_Cbk = LED_Attribute[i].LED_Execution_Cbk;
if (LED_Operation.LED_Execution_Cbk != NULL)
{
LED_Operation.LED_Execution_Cbk(LED_Operation.u8LED_Status[i]);
}
}
else
else /*According to the external Signal*/
{
if (LED_Attribute[i].isExCheck == NoExterNalCheck)
LED_Operation.LED_Judgment_Cbk = LED_Attribute[i].LED_Judgment_Cbk;
if (LED_Operation.LED_Judgment_Cbk != NULL)
{
LED_Operation.u8LED_Status[i] = LED_OFF;
LED_Operation.LED_Execution_Cbk = LED_Attribute[i].LED_Execution_Cbk;
if (LED_Operation.LED_Execution_Cbk != NULL)
{
LED_Operation.LED_Execution_Cbk(LED_Operation.u8LED_Status[i]);
}
LED_Operation.u8LED_Status[i] = LED_Operation.LED_Judgment_Cbk();
}
else /*According to the external Signal*/
else
{
LED_Operation.LED_Judgment_Cbk = LED_Attribute[i].LED_Judgment_Cbk;
if (LED_Operation.LED_Judgment_Cbk != NULL)
{
LED_Operation.u8LED_Status[i] = LED_Operation.LED_Judgment_Cbk();
}
else
{
/*can not reach*/
LED_Operation.u8LED_Status[i] = LED_OFF;
}
/*can not reach*/
LED_Operation.u8LED_Status[i] = LED_OFF;
}
LED_Operation.LED_Execution_Cbk = LED_Attribute[i].LED_Execution_Cbk;
if (LED_Operation.LED_Execution_Cbk != NULL)
......@@ -240,7 +257,7 @@ uint8_t Telltales_Get_LedStatus(LED_Idx_t u8Index)
}
else
{
u8LedStatus = 0u;
u8LedStatus =0u;
}
return u8LedStatus;
......
......@@ -415,11 +415,14 @@ uint8_t LED_BrkPad_Judgement(void)
return ledSts;
}
//ABS
extern uint8_t TimeOutOffSts;
uint8_t LED_ABS_Judgement(void)
{
uint8_t ledSts = 0u;
if (Line_In_Get_Status(LINE_IN_ABS) || (Get_ID_18F0010B_Sig_ABS_YellowAlarmSts() == 0x01u) || (CAN_MSG_Status(ID_ABS_EBC1_Msg_Count) != CAN_SIG_RECEIVE))
if (Line_In_Get_Status(LINE_IN_ABS) || (Get_ID_18F0010B_Sig_ABS_YellowAlarmSts() == 0x01u) ||\
((CAN_MSG_Status(ID_ABS_EBC1_Msg_Count) == CAN_SIG_LOST) && (TimeOutOffSts == 0u)))
{
ledSts = 1u;
}
......@@ -547,7 +550,17 @@ uint8_t LED_PTO2_Judgement(void)
//巡航
uint8_t LED_Cruise_Judgement(void)
{
return (uint8_t)Get_ID_18F101D0_Sig_VCU_CrsConSts();
uint8_t ledSts = 0u;
if (Get_ID_18F101D0_Sig_VCU_CrsConSts() == 0x1u)
{
ledSts = 2u; //绿灯
}
else if (Get_ID_18F104D0_Sig_VCU_AccSwitch() == 0x1u)
{
ledSts = 1u; //白灯
}
return ledSts;
}
//真空泵故障,新规范中去掉
uint8_t LED_VcmPmp_Judgement(void)
......
......@@ -53,6 +53,13 @@ enum PopupName
POPUP_COM_ParkingOff , /*27 请拉手刹*/
POPUP_COM_LeaveSeat , /*28 离座报警*/
POPUP_COM_LvlLow , /*29 水位低报警*/
POPUP_COM_NoJurisdictionVhl , /*30 无权限车辆*/
POPUP_ACCM_CmprErrCode0 , /*31 过流*/
POPUP_ACCM_CmprErrCode1 , /*32 运行过压*/
POPUP_ACCM_CmprErrCode2 , /*33 运行欠压*/
POPUP_ACCM_CmprErrCode3 , /*34 过流降频*/
POPUP_ACCM_CmprErrCode4 , /*35 过温故障*/
POPUP_MAX
};
......@@ -139,10 +146,16 @@ static const PopupAttributeStruct PopupAttributeTable[] =
{/*23 POPUP_COM_OvrSpd */ POPUP_TYPE_WARNING, 0u, 0u, POPUP_IGN_ON, POPUP_COM_OvrSpd, NULL, 1u, POPUP_MSG_COM_OvrSpd, POPUP_MODE_MULTI, SND_OvrSpd, POPUP_MODE_SINGLE,},
{/*24 POPUP_COM_Door */ POPUP_TYPE_WARNING, 0u, 0u, POPUP_IGN_ON, POPUP_COM_Door, NULL, 1u, POPUP_MSG_COM_Door, POPUP_MODE_MULTI, SND_Door, POPUP_MODE_MULTI,},
{/*25 POPUP_COM_Seatbelt */ POPUP_TYPE_WARNING, 0u, 0u, POPUP_IGN_ON, POPUP_COM_Seatbelt, NULL, 1u, POPUP_MSG_COM_Seatbelt, POPUP_MODE_MULTI, SND_Seatbelt, POPUP_MODE_MULTI,},
{/*26 POPUP_COM_ParkingOn */ POPUP_TYPE_WARNING, 0u, 0u, POPUP_IGN_ON, POPUP_COM_ParkingOn, NULL, 1u, POPUP_MSG_COM_ParkingOn, POPUP_MODE_MULTI, SND_ParkingOn, POPUP_MODE_MULTI,},
{/*26 POPUP_COM_ParkingOn */ POPUP_TYPE_WARNING, 0u, 0u, POPUP_IGN_ON, POPUP_COM_ParkingOn, NULL, 1u, POPUP_MSG_COM_ParkingOn, POPUP_MODE_MULTI, SND_ParkingOn, POPUP_MODE_SINGLE,},
{/*27 POPUP_COM_ParkingOff */ POPUP_TYPE_WARNING, 0u, 0u, POPUP_IGN_ON_OFF, POPUP_COM_ParkingOff, NULL, 1u, POPUP_MSG_COM_ParkingOff, POPUP_MODE_MULTI, SND_ParkingOff, POPUP_MODE_MULTI,},
{/*28 POPUP_COM_LeaveSeat */ POPUP_TYPE_WARNING, 0u, 0u, POPUP_IGN_ON, POPUP_COM_LeaveSeat, NULL, 1u, POPUP_MSG_COM_LeaveSeat, POPUP_MODE_MULTI, SND_LeaveSeat, POPUP_MODE_MULTI,},
{/*29 POPUP_COM_LvlLow */ POPUP_TYPE_WARNING, 0u, 0u, POPUP_IGN_ON, POPUP_COM_LvlLow, NULL, 1u, POPUP_MSG_COM_LvlLow, POPUP_MODE_MULTI, SND_NONE, POPUP_MODE_SINGLE,},
{/*30 POPUP_COM_NoJurisdictionVhl*/ POPUP_TYPE_WARNING, 0u, 0u, POPUP_IGN_ON, POPUP_COM_NoJurisdictionVhl, NULL, 1u, POPUP_MSG_COM_NoJurisdictionVhl, POPUP_MODE_MULTI, SND_NONE, POPUP_MODE_SINGLE,},
{/*31 POPUP_ACCM_CmprErrCode0 */ POPUP_TYPE_WARNING, 0u, 0u, POPUP_IGN_ON, POPUP_ACCM_CmprErrCode0, NULL, 1u, POPUP_MSG_ACCM_CmprErrCode0, POPUP_MODE_MULTI, SND_NONE, POPUP_MODE_SINGLE,},
{/*32 POPUP_ACCM_CmprErrCode1 */ POPUP_TYPE_WARNING, 0u, 0u, POPUP_IGN_ON, POPUP_ACCM_CmprErrCode1, NULL, 1u, POPUP_MSG_ACCM_CmprErrCode1, POPUP_MODE_MULTI, SND_NONE, POPUP_MODE_SINGLE,},
{/*33 POPUP_ACCM_CmprErrCode2 */ POPUP_TYPE_WARNING, 0u, 0u, POPUP_IGN_ON, POPUP_ACCM_CmprErrCode2, NULL, 1u, POPUP_MSG_ACCM_CmprErrCode2, POPUP_MODE_MULTI, SND_NONE, POPUP_MODE_SINGLE,},
{/*34 POPUP_ACCM_CmprErrCode3 */ POPUP_TYPE_WARNING, 0u, 0u, POPUP_IGN_ON, POPUP_ACCM_CmprErrCode3, NULL, 1u, POPUP_MSG_ACCM_CmprErrCode3, POPUP_MODE_MULTI, SND_NONE, POPUP_MODE_SINGLE,},
{/*35 POPUP_ACCM_CmprErrCode4 */ POPUP_TYPE_WARNING, 0u, 0u, POPUP_IGN_ON, POPUP_ACCM_CmprErrCode4, NULL, 1u, POPUP_MSG_ACCM_CmprErrCode4, POPUP_MODE_MULTI, SND_NONE, POPUP_MODE_SINGLE,},
/*========================================================================================================================================================================================================*/
};
......@@ -152,7 +165,7 @@ static const PopupAttributeStruct PopupAttributeTable[] =
#define POPUP_NUMBER_TOTAL (sizeof(PopupAttributeTable) / sizeof(PopupAttributeStruct))
#define POPUP_NUMBER_FATAL 0
#define POPUP_NUMBER_HINT 0
#define POPUP_NUMBER_WARNING 30
#define POPUP_NUMBER_WARNING 36
#define POPUP_PRIORITY_NUMBER_FATAL 1
#define POPUP_PRIORITY_NUMBER_HINT 1
......
......@@ -46,6 +46,12 @@ enum PopupMessageName
POPUP_MSG_COM_ParkingOff , /*27 请拉手刹*/
POPUP_MSG_COM_LeaveSeat , /*28 你已离座,请注意安全*/
POPUP_MSG_COM_LvlLow , /*29 水位低报警*/
POPUP_MSG_COM_NoJurisdictionVhl , /*30 无权限车辆*/
POPUP_MSG_ACCM_CmprErrCode0 , /*31 过流*/
POPUP_MSG_ACCM_CmprErrCode1 , /*32 运行过压*/
POPUP_MSG_ACCM_CmprErrCode2 , /*33 运行欠压*/
POPUP_MSG_ACCM_CmprErrCode3 , /*34 过流降频*/
POPUP_MSG_ACCM_CmprErrCode4 , /*35 过温故障*/
};
/******************************************************************************
消息类型定义
......@@ -58,6 +64,7 @@ enum PopupMessageName
#define POPUP_TYPE_PDU 0x05u /*高压消息*/
#define POPUP_TYPE_MCU 0x06u /*电机消息*/
#define POPUP_TYPE_BMS 0x07u /*电池消息*/
#define POPUP_TYPE_ACCM 0x08u /*压缩机消息*/
/******************************************************************************
伪文字消息列表
******************************************************************************/
......@@ -112,6 +119,12 @@ static const PopupMsgAttributeStruct PopupMsgAttributeTable[] =
{ /* POPUP_MSG_COM_ParkingOff */ POPUP_TYPE_GENERAL,}, /*27 请拉手刹*/
{ /* POPUP_MSG_COM_LeaveSeat */ POPUP_TYPE_GENERAL,}, /*28 你已离座,请注意安全*/
{ /* POPUP_MSG_COM_LvlLow */ POPUP_TYPE_GENERAL,}, /*29 水位低报警*/
{ /* POPUP_MSG_COM_NoJurisdictionVhl */ POPUP_TYPE_GENERAL,}, /*30 无权限车辆*/
{ /* POPUP_MSG_ACCM_CmprErrCode0 */ POPUP_TYPE_ACCM, }, /*31 过流*/
{ /* POPUP_MSG_ACCM_CmprErrCode1 */ POPUP_TYPE_ACCM, }, /*32 运行过压*/
{ /* POPUP_MSG_ACCM_CmprErrCode2 */ POPUP_TYPE_ACCM, }, /*33 运行欠压*/
{ /* POPUP_MSG_ACCM_CmprErrCode3 */ POPUP_TYPE_ACCM, }, /*34 过流降频*/
{ /* POPUP_MSG_ACCM_CmprErrCode4 */ POPUP_TYPE_ACCM, }, /*35 过温故障*/
/*===========================================================*/
};
......
......@@ -24,6 +24,7 @@
#include "Popup_Scheduler.h"
#include "rh850_macros.h"
#include "Common_Interface.h"
#include "Sound_Player.h"
/**********************************************************************************************************
* Constants and defines
*/
......@@ -521,7 +522,7 @@ uint8_t Popup_Get_Current_Sound_Req_Code ( void )
p1 = Popup_Select ( s_PopupScheduling.CurPopupID );
if ( p1 != POPUPLIB_NULL )
{
if ( p1->Status == POPUP_STATUS_FIRST )
if (( p1->Status == POPUP_STATUS_FIRST ) || SoundPlayCtrl.Cycle) //20231013加后面条件,解决非持续和单次报警声音播不到次数就停问题
{
retReqCode = s_PopupScheduling.SndReqCode;
}
......
......@@ -245,7 +245,10 @@ void Popups_Polling(void)
}
}
}
//OvrECUSpd
/* 20231009 按20230928变更单去掉 */
#if 0
//OvrECUSpd
if ((speed > 70ul) && (SOC_Get_CurVal() < 300) && SOC_Get_Valid())
{
Popup_Request(POPUP_COM_OvrECUSpd);
......@@ -270,6 +273,7 @@ void Popups_Polling(void)
OvrECUSpd_Times = 0u;
}
#endif
//Door
code = LED_Get_Status(em_LED_Door);
......@@ -299,19 +303,19 @@ void Popups_Polling(void)
//Parking
code = LED_Get_Status(em_LED_Parking);
if (code)
/* 20231009 按20230928变更增加ready、非N挡条件;车速条件改为非0;修改声音报警 */
if (code && ((Gear_Get_Value() != 0u) && (Gear_Get_Value() < 10u)) && speed && (Get_ID_18F101D0_Sig_VCU_VhclSts() == 0x1u))
{
if (speed > 5ul)
//if (speed > 5ul)
{
Popup_Request(POPUP_COM_ParkingOn);
}
else
//else
{
if (speed < 3ul)
//if (speed < 3ul)
{
Popup_Delete(POPUP_COM_ParkingOn);
Sound_Delete(SND_ParkingOn);
//Popup_Delete(POPUP_COM_ParkingOn);
//Sound_Delete(SND_ParkingOn);
}
}
}
......@@ -367,6 +371,74 @@ void Popups_Polling(void)
{
Popup_Delete(POPUP_COM_LvlLow);
}
//无权限车辆
if (Get_ID_18F103D0_Sig_VCU_NAthrtyVhl() == 1u)
{
Popup_Request(POPUP_COM_NoJurisdictionVhl);
}
else
{
Popup_Delete(POPUP_COM_NoJurisdictionVhl);
}
if (Charged_State_Get() == 0u)
{
code = Get_ID_18FF10B1_Sig_ACCM_CmprErrCode();
//压缩机故障码
//过流
if (code == 0x1u)
{
Popup_Request(POPUP_ACCM_CmprErrCode0);
}
else
{
Popup_Delete(POPUP_ACCM_CmprErrCode0);
}
//运行过压
if (code == 0x2u)
{
Popup_Request(POPUP_ACCM_CmprErrCode1);
}
else
{
Popup_Delete(POPUP_ACCM_CmprErrCode1);
}
//运行欠压
if (code == 0x4u)
{
Popup_Request(POPUP_ACCM_CmprErrCode2);
}
else
{
Popup_Delete(POPUP_ACCM_CmprErrCode2);
}
//过流降频
if (code == 0x40u)
{
Popup_Request(POPUP_ACCM_CmprErrCode3);
}
else
{
Popup_Delete(POPUP_ACCM_CmprErrCode3);
}
//过温故障
if (code == 0x80u)
{
Popup_Request(POPUP_ACCM_CmprErrCode4);
}
else
{
Popup_Delete(POPUP_ACCM_CmprErrCode4);
}
}
else
{
Popup_Delete(POPUP_ACCM_CmprErrCode0);
Popup_Delete(POPUP_ACCM_CmprErrCode1);
Popup_Delete(POPUP_ACCM_CmprErrCode2);
Popup_Delete(POPUP_ACCM_CmprErrCode3);
Popup_Delete(POPUP_ACCM_CmprErrCode4);
}
}
void Maintenance_Alarm_Flag_Set(uint8_t val)
......
......@@ -59,5 +59,6 @@ void Can_Set_Buff_0CFE6CEE(uint8_t CopyData []);
uint8_t getBUS_OFF_Status(void);
uint8_t getBUS_OFF_FLAG(void);
void Can_BusOffRecover(void);
void ABS_Error_Code_Process(void);
#endif
......@@ -101,6 +101,22 @@ typedef enum
ID_VCU_SV_Msg_Count,
ID_ACCM_Err_Msg_Count,
ID_TP_CM_BAM_Msg_Count,
ID_TP_DT_Msg_Count,
ID_MCU_VER_Msg_Count,
ID_PDU_VER_Msg_Count,
ID_DCDC_VER_Msg_Count,
ID_EHPS_VER_Msg_Count,
ID_ACM_VER_Msg_Count,
ID_TP_CM_BAM0_Msg_Count,
ID_TP_DT0_Msg_Count,
ID_DM1_1_Msg_Count,
ID_TOTAL_MAX,
} CAN_MSG_ID_t;
......@@ -213,6 +229,20 @@ extern const st_CAN_SendAttribute st_CANSendAttr[ID_SEND_TOTAL];
#define ID_EPB_Sts_Msg 0x18FF6060ul
#define ID_VCU_SV_Msg 0x18F10BD0ul
#define ID_ACCM_Err_Msg 0x18FF10B1ul
#define ID_TP_CM_BAM_Msg 0x1CECFF0Bul
#define ID_TP_DT_Msg 0x1CEBFF0Bul
#define ID_MCU_VER_Msg 0x18FF2F82ul
#define ID_PDU_VER_Msg 0x18FF2FF3ul
#define ID_DCDC_VER_Msg 0x18FF2F85ul
#define ID_EHPS_VER_Msg 0x18FF2F95ul
#define ID_ACM_VER_Msg 0x18FF2F9Bul
#define ID_TP_CM_BAM0_Msg 0x18ECFF0Bul
#define ID_TP_DT0_Msg 0x18EBFF0Bul
#define ID_DM1_1_Msg 0x1CFECA0Bul
/*****************************************************************************/
//VCU_VCUSts1
extern uint8_t Get_ID_18F101D0_Sig_VCU_VhclSts(void);
......@@ -248,6 +278,8 @@ extern uint8_t Get_ID_18F104D0_Sig_VCU_LFBrkWrAlrm(void);
extern uint8_t Get_ID_18F104D0_Sig_VCU_RFBrkWrAlrm(void);
extern uint8_t Get_ID_18F104D0_Sig_VCU_LBBrkWrAlrm(void);
extern uint8_t Get_ID_18F104D0_Sig_VCU_RBBrkWrAlrm(void);
extern uint16_t Get_ID_18F104D0_Sig_VCU_ACCSpd(void);
extern uint8_t Get_ID_18F104D0_Sig_VCU_AccSwitch(void);
//VCU_MutiOneSts
extern uint8_t Get_ID_18F105D0_Sig_VCU_DCDCSts(void);
extern uint8_t Get_ID_18F105D0_Sig_VCU_ACMSts(void);
......@@ -466,6 +498,43 @@ extern uint8_t Get_ID_18F0010B_Sig_ABS_YellowAlarmSts(void);
extern uint8_t Get_ID_18FF6060_Sig_EPB_ParkLampState(void);
//VCU_SV
extern uint8_t Get_ID_18F10BD0_Sig_VCU_DrivMode(void);
extern uint8_t Get_ID_18F10BD0_Sig_VCU_MajorVers(void);
extern uint8_t Get_ID_18F10BD0_Sig_VCU_MinorVers(void);
extern uint8_t Get_ID_18F10BD0_Sig_VCU_WrittenYear(void);
extern uint8_t Get_ID_18F10BD0_Sig_VCU_WrittenMonth(void);
extern uint8_t Get_ID_18F10BD0_Sig_VCU_WrittenDay(void);
//ACCM_ERR
extern uint8_t Get_ID_18FF10B1_Sig_ACCM_CmprErrCode(void);
extern uint64_t Get_ID_1CECFF0B_Sig_ABS_DTC(void);
extern uint64_t Get_ID_1CEBFF0B_Sig_ABS_DTC(void);
//MCU_VER
extern uint8_t Get_ID_18FF2F82_Sig_MCU_SW2L(void);
extern uint8_t Get_ID_18FF2F82_Sig_MCU_SW2H(void);
extern uint8_t Get_ID_18FF2F82_Sig_MCU_SW1(void);
//PDU_VER
extern uint8_t Get_ID_18FF2FF3_Sig_PDU_SW2L(void);
extern uint8_t Get_ID_18FF2FF3_Sig_PDU_SW2H(void);
extern uint8_t Get_ID_18FF2FF3_Sig_PDU_SW1(void);
//DCDC_VER
extern uint8_t Get_ID_18FF2F85_Sig_DCDC_SW2L(void);
extern uint8_t Get_ID_18FF2F85_Sig_DCDC_SW2H(void);
extern uint8_t Get_ID_18FF2F85_Sig_DCDC_SW1(void);
//EHPS_VER
extern uint8_t Get_ID_18FF2F95_Sig_DCAC_SW2L(void);
extern uint8_t Get_ID_18FF2F95_Sig_DCAC_SW2H(void);
extern uint8_t Get_ID_18FF2F95_Sig_DCAC_SW1(void);
//ACM_VER
extern uint8_t Get_ID_18FF2F9B_Sig_DCAC_B_SW2L(void);
extern uint8_t Get_ID_18FF2F9B_Sig_DCAC_B_SW2H(void);
extern uint8_t Get_ID_18FF2F9B_Sig_DCAC_B_SW1(void);
extern uint64_t Get_ID_18ECFF0B_Sig_ABS_DTC(void);
extern uint64_t Get_ID_18EBFF0B_Sig_ABS_DTC(void);
extern uint32_t Get_ID_1CFECA0B_Sig_SPN(void);
extern uint8_t Get_ID_1CFECA0B_Sig_FMI(void);
/*---------------------------------------------------------------------------*/
extern uint8_t Co_Can_ConvertSubID(uint32_t MsgID);
#endif
This diff is collapsed.
......@@ -255,9 +255,9 @@ void GUI_Left(void);
void GUI_Middle(void);
void GUI_Right(void);
void GUI_Top1(void);
//void GUI_Top2(void);
void GUI_Top2(void);
//void GUI_AirP1(void);
void GUI_Clock(void);
//void GUI_Clock(void);
void GUI_Top4(void);
void GUI_Top5(void);
//void GUI_AirP2(void);
......
This diff is collapsed.
......@@ -207,8 +207,16 @@ enum SpriteName
Alarm_126_Word0,
Alarm_127_Word0,
Alarm_128_Word0,
Alarm_129_Word0,
Alarm_12_Word0,
Alarm_12_Word1,
Alarm_130_Word0,
Alarm_131_Word0,
Alarm_132_Word0,
Alarm_133_Word0,
Alarm_134_Word0,
Alarm_135_Word0,
Alarm_136_Word0,
Alarm_13_Word0,
Alarm_13_Word1,
Alarm_14_Word0,
......@@ -440,10 +448,23 @@ enum SpriteName
Lamp_049,
Lamp_05,
Lamp_050,
Lamp_051,
Lamp_06,
Lamp_07,
Lamp_08,
Lamp_09,
Lamp_kmh,
Number_14_white_0,
Number_14_white_1,
Number_14_white_2,
Number_14_white_3,
Number_14_white_4,
Number_14_white_5,
Number_14_white_6,
Number_14_white_7,
Number_14_white_8,
Number_14_white_9,
Number_14_white_line,
Number_18_grey_0,
Number_18_grey_1,
Number_18_grey_2,
......@@ -455,6 +476,7 @@ enum SpriteName
Number_18_grey_8,
Number_18_grey_9,
Number_18_grey_Unit_km,
kpa,
Number_18_white_0,
Number_18_white_1,
Number_18_white_2,
......@@ -466,6 +488,7 @@ enum SpriteName
Number_18_white_8,
Number_18_white_9,
Number_18_white_Line,
Number_18_white_line1,
Number_18_white_Line3,
Number_18_white_point,
Number_18_white_point2,
......@@ -562,7 +585,14 @@ enum SpriteName
Set_Menu3_Word0_106,
Set_Menu3_Word0_107,
Set_Menu3_Word0_108,
Set_Menu3_Word0_109,
Set_Menu3_Word0_11,
Set_Menu3_Word0_110,
Set_Menu3_Word0_111,
Set_Menu3_Word0_112,
Set_Menu3_Word0_113,
Set_Menu3_Word0_114,
Set_Menu3_Word0_115,
Set_Menu3_Word0_12,
Set_Menu3_Word0_13,
Set_Menu3_Word0_14,
......@@ -686,6 +716,9 @@ enum SpriteName
Set_Menu2_25_Word1,
Set_Menu2_26_Word1,
Set_Menu2_27_Word1,
Set_Menu2_28_Word0,
Set_Menu2_30_Word0,
Set_Menu2_32_Word0,
Set_Menu2_CSBJ_Title_Word0,
Set_Menu2_HFMRSZ_Title_Word0,
Set_Menu2_RJLD_Title_Word0,
......
......@@ -197,7 +197,6 @@ typedef struct
uint8_t ESC_ASR_Sta; /*05 行车信息/辅助驾驶 ESC/ASR 0-关闭 1-开启*/
uint8_t ADAS_Sta; /*06 行车信息/辅助驾驶 智能ADAS -关闭 1-开启*/
uint8_t ADAS_Sensitivity_Value; /*07 辅助驾驶/ADAS灵敏度 0-3-->(1-3 默认2)*/
uint8_t Tpms_Monitor_Sta; /*08 胎压检测状态 0-关闭 1-开启*/
uint8_t Battery_Type_Value; /*09 辅助驾驶/蓄电池类型 0-7 0-135AH 1-165AH免维护 180AH免维护...*/
uint8_t TMaintain_Tips_Sta ; /*10 保养提示状态 0-关闭 1-开启*/
......@@ -206,7 +205,6 @@ typedef struct
uint8_t Backlight_Set_Value; /*13 个人设置/背光调节 0-2 (1-3档)*/
uint8_t Follow_Me_Home_Time_Value; /*14 个人设置/伴我回家设置*/
uint8_t Instantaneous_Oil_Sta; /*15 个人设置/主界面设置 瞬时油耗 0-关闭 1-开启*/
uint8_t Battery_Level_Sta; /*16 个人设置/主界面设置 电池电量 0-关闭 1-开启*/
uint8_t Adblue_Level_Sta; /*17 个人设置/主界面设置 尿素液位 0-关闭 1-开启*/
uint8_t Cumulative_Oil_Sta; /*18 个人设置/主界面设置 累计油耗 0-关闭 1-开启*/
......@@ -215,10 +213,10 @@ typedef struct
uint8_t Set_Engine_Type_Value; /*21 调表模式/参数 发动机类型*/
uint8_t Set_EngineG5G6_Type_Value; /*22 调表模式/参数 0-国六 0-非国六*/
uint8_t Set_Gear_Type_Value; /*23 调表模式/参数 变速箱类型*/
uint8_t Set_Car_Model_Type; /*24 调表模式/参数 车型 */
uint8_t Set_Car_APU_Type; /*25 调表模式/参数 0-非集成 1-集成式*/
uint8_t Set_Tpms_Size_Sta; /*26 调表模式/参数 驱动方式 0-8x4第一选项 1-8x4第二选项 ...*/
uint8_t TMaintain_Set_Value1; /*27 提示设置/保养设置 单位km*/
uint8_t TMaintain_Set_Value2; /*27 提示设置/保养设置 单位km*/
uint8_t TMaintain_Set_Value3; /*27 提示设置/保养设置 单位km*/
......@@ -230,10 +228,10 @@ typedef struct
uint8_t TMaintain_Tips_Value3; /*28 提示设置/提示里程 单位km*/
uint8_t TMaintain_Tips_Value4; /*28 提示设置/提示里程 单位km*/
uint8_t TMaintain_Tips_Value5; /*28 提示设置/提示里程 单位km*/
uint8_t K_Value_Num_Value1; /*29 调表模式/参数 K值*/
uint8_t K_Value_Num_Value2; /*29 调表模式/参数 K值*/
uint8_t K_Value_Num_Value3; /*29 调表模式/参数 K值*/
uint8_t K_Value_Num_Value4; /*29 调表模式/参数 K值*/
uint8_t K_Value_Num_Value5; /*29 调表模式/参数 K值*/
uint8_t Set_VdoFmtTyp; /* 倒车影像开关 */
......@@ -245,7 +243,6 @@ typedef struct
uint32_t K_Value_Num_Value; /*29 调表模式/参数 K值*/
} _Menu_Configure_Value; /*开了30个U32*/
extern _Menu_Configure_Value Menu_Con_EEP_Value;
extern void Common_Set_VdoFmtTyp(uint8_t NUM_Status);
extern void Common_Set_LitSpdTyp(uint8_t NUM_Status);
......
......@@ -22,6 +22,8 @@ typedef struct
uint8_t VolInit;
} SoundPlayCtrlStruct;
extern SoundPlayCtrlStruct SoundPlayCtrl;
void Sound_Player_Init ( void );
uint8_t Sound_Play ( uint8_t SoundID );
......
......@@ -128,7 +128,7 @@ static const SndAttributeStruct SndAttributeTable[SND_SRC_INDEX_MAX] =
{/*23 SND_SRC_OvrSpd 音效1*/ PCM_Track_Index_Warrning, 4, 2, SND_MODE_SINGLE, 1000U,},
{/*24 SND_SRC_Door 音效1*/ PCM_Track_Index_Warrning, 4, 1, SND_MODE_SINGLE, 1000U,},
{/*25 SND_SRC_Seatbelt 音效1*/ PCM_Track_Index_Warrning, 4, 1, SND_MODE_SINGLE, 1000U,},
{/*26 SND_SRC_ParkingOn 音效1*/ PCM_Track_Index_Warrning, 4, 1, SND_MODE_SINGLE, 1000U,},
{/*26 SND_SRC_ParkingOn 音效1*/ PCM_Track_Index_Warrning, 4, 30, SND_MODE_SINGLE, 1000U,}, //20231013按20230928变更由播放1次改为30次
{/*27 SND_SRC_ParkingOff 音效1*/ PCM_Track_Index_Warrning, 4, 1, SND_MODE_SINGLE, 1000U,},
{/*28 SND_SRC_TICK 音效7*/ PCM_Track_Index_TICK, 5, 1, SND_MODE_SINGLE, 50,},
......
......@@ -55,16 +55,19 @@ const canfd_filter_type RX_RULE_TABLE_LIST[RX_RULE_SIZE] = {
{0x8CFF7A02ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x90FE6F2Aul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x90FF94DDul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x90FFDDF2ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x90FFF4F2ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x98CCAAEBul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x9CFECA0Bul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x98EBFF0Bul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x98ECFF0Bul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x98F00000ul, 0xDFF00000UL, 0x00000000ul, 0x00000200ul},
{0x9CFE8100ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x9CFEAF00ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x9CFFEAF2ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x9CFFFEF2ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x9CF00000ul, 0xDFF00000UL, 0x00000000ul, 0x00000200ul},
//{0x9CFE8100ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
//{0x9CFEAF00ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
//{0x9CFFEAF2ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
//{0x9CFFFEF2ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x98DA17FAul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x98DBFFFAul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x9CECFF0Bul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x9CEBFF0Bul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
#if 0
......
......@@ -7,7 +7,7 @@
typedef struct {
uint32_t data[4];
}canfd_filter_type;
#define RX_RULE_SIZE 24U
#define RX_RULE_SIZE 23U
extern const canfd_filter_type RX_RULE_TABLE_LIST[RX_RULE_SIZE] ;
......
......@@ -11,7 +11,7 @@
#include "rh850_macros.h"
uint32_t TestBackupRam_Flag;
uint32_t TestBackupRam_Flag;
#define CLOCK_PROTECTED_WRITE(preg, pstatus, reg, value) \
......
......@@ -43,9 +43,9 @@ typedef enum
Middle_Sprite,
Right_Sprite,
Top1_Sprite,
//Top2_Sprite,
Top2_Sprite,
//AirP1_Sprite,
Clock_Sprite,
//Clock_Sprite,
Top4_Sprite,
Top5_Sprite,
//AirP2_Sprite,
......
......@@ -40,7 +40,7 @@ LogicLayerAttr_t Top1LogicLayerAttr[MAX_Top1_SUP_LAYER];
uint8_t Top1Index = 0;
MultiBufferSprite_t Top1SpriteBuf;
#define MAX_Top2_SUP_LAYER 2
#define MAX_Top2_SUP_LAYER 4
uint8_t Top2Update = 0;
uint8_t Top2En = 0;
LogicLayerAttr_t Top2LogicLayerAttr[MAX_Top2_SUP_LAYER];
......@@ -215,9 +215,9 @@ static const SpritesHandler_t SpriteHandler[Max_Sprite] =
{Middle_Sprite, {306/*390*/, 88, 636/*478*/, 392/*304*/, 1}, TARGET_SDRAM, &MiddleSpriteBuf, &MiddleIndex, MiddleLogicLayerAttr, MAX_Middle_SUP_LAYER, &MiddleUpdate, &MiddleEn, /*NULL*/GUI_Middle },
{Right_Sprite, {886, 82, 300, 290, 3}, TARGET_VRAM, &RightSpriteBuf, &RightIndex, RightLogicLayerAttr, MAX_Right_SUP_LAYER, &RightUpdate, &RightEn, GUI_Right },
{Top1_Sprite, {12, 25, 90, 78, 2}, TARGET_VRAM, &Top1SpriteBuf, &Top1Index, Top1LogicLayerAttr, MAX_Top1_SUP_LAYER, &Top1Update, &Top1En, /*NULL*/GUI_Top1 },
//{Top2_Sprite, {336, 20, 58, 20, 1}, TARGET_VRAM, &Top2SpriteBuf, &Top2Index, Top2LogicLayerAttr, MAX_Top2_SUP_LAYER, &Top2Update, &Top2En, /*NULL*/GUI_Top2 },
{Top2_Sprite, {616, 55, 92, 14, 1}, TARGET_VRAM, &Top2SpriteBuf, &Top2Index, Top2LogicLayerAttr, MAX_Top2_SUP_LAYER, &Top2Update, &Top2En, /*NULL*/GUI_Top2 },
//{AirP1_Sprite, {330, 43, 164, 30, 1}, TARGET_VRAM, &AirP1SpriteBuf, &AirP1Index, AirP1LogicLayerAttr, MAX_AirP1_SUP_LAYER, &AirP1Update, &AirP1En, /*NULL*/GUI_AirP1 },
{Clock_Sprite, {400, 21, 90, 20, 1}, TARGET_VRAM, &ClockSpriteBuf, &ClockIndex, ClockLogicLayerAttr, MAX_Clock_SUP_LAYER, &ClockUpdate, &ClockEn, NULL/*GUI_Clock*/ },
//{Clock_Sprite, {400, 21, 90, 20, 1}, TARGET_VRAM, &ClockSpriteBuf, &ClockIndex, ClockLogicLayerAttr, MAX_Clock_SUP_LAYER, &ClockUpdate, &ClockEn, NULL/*GUI_Clock*/ },
{Top4_Sprite, {500, 15, 266, 30, 1}, TARGET_VRAM, &Top4SpriteBuf, &Top4Index, Top4LogicLayerAttr, MAX_Top4_SUP_LAYER, &Top4Update, &Top4En, /*NULL*/GUI_Top4 },
{Top5_Sprite, {770, 19, 200, 30, 1}, TARGET_VRAM, &Top5SpriteBuf, &Top5Index, Top5LogicLayerAttr, MAX_Top5_SUP_LAYER, &Top5Update, &Top5En, /*NULL*/GUI_Top5 },
//{AirP2_Sprite, {764, 43, 164, 30, 1}, TARGET_VRAM, &AirP2SpriteBuf, &AirP2Index, AirP2LogicLayerAttr, MAX_AirP2_SUP_LAYER, &AirP2Update, &AirP2En, /*NULL*/GUI_AirP2 },
......
......@@ -103,7 +103,6 @@ extern uint32_t TestBackupRam_Flag;
#pragma ghs section bss = ".NonInitArea"
uint32_t u32TimeR;
#pragma ghs section bss = default
void Sys_Startup_Pre_Init(void)
{
//R_DEV_WRITE_REG(32, LOC_XCRAMCFG0, 0x100100U);
......@@ -132,6 +131,8 @@ void Sys_Startup_Pre_Init(void)
* \attention
* \retval None
******************************************************************************/
void Sys_Startup_Init(void)
{
uint32_t itmp = 0u;
......@@ -243,7 +244,7 @@ void Sys_Startup_Init(void)
Rtc_Restore_Time();
}
}
TestBackupRam = 0x11223344UL;
APP_Startup_Init(u8ResetFlag);
......@@ -254,6 +255,8 @@ void Sys_Startup_Init(void)
COM_CAN_Init();
Gfx_Sys_Start();
//Data_User_EEPROM_Read(EEPROM_BLOCK_UE_INFO, &Menu_Con_EEP_Value, (sizeof(Menu_Con_EEP_Value) / 4u));
Bottom_Display_Service0();
TimerB_PWM_Init();
......@@ -268,6 +271,6 @@ void Sys_Startup_Init(void)
******************************************************************************/
void Sys_Sleep_Init(void)
{
Sys_Tick_Timer_Stop();
Sys_Tick_Timer_Stop();
}
......@@ -94,6 +94,12 @@
//20230918 主观评审不合格项修改:弹出报警高度位置有差异;去掉时钟显示
//20230919 增加存储器初始化判断,未初始化超速报警和倒车影像配置成默认值;解决禅道28845和28844问题(当没有倒车影像配置时,倒车时报警得不到处理)
//20230920 增加在设置菜单界面挂倒挡设置倒车影像有时进入倒车影像条件:需退出菜单配置;在倒车影像界面不能进入菜单设置
//V1.3.0
//20231013 TYW-2023-0600变更
//20231016 修改禅道问题:版本号信号掉线,显示上个值;调亮度10->0时先暗后亮;巡航灯自检改为白色;巡航车速字体与其它字体不同;增加ABS多包故障码18F开头的报文;
// ABS掉线增加硬线充电线连接条件
//20231020 白色巡航灯信号位7改为位6,修改禅道提出来的几个显示问题
//20231021 修改菜单10秒自动退出,IGNOFF退出,IGNOFF不能操作
#include "r_typedefs.h"
#include "sys_scheduler.h"
......
......@@ -101,6 +101,7 @@ void Sys_Run_Mode_2ms_Tasks(void)
void Sys_Run_Mode_5ms_Tasks(void)
{
COM_RX_Process();
loc_Display_Service();
}
/*==============================================================================
......@@ -165,7 +166,6 @@ void Sys_Run_Mode_100ms_Tasks(void)
BtyPckVtg_Processing_Service();
BtyPckCrt_Processing_Service();
DrvMCUTpt_Processing_Service();
//Data_Service_Gear_Processing();
BtyMinCllTpt_Processing_Service();
BtyMinCllVtg_Processing_Service();
BtyMaxCllTpt_Processing_Service();
......@@ -181,6 +181,8 @@ void Sys_Run_Mode_100ms_Tasks(void)
}
TYW_Data_ODO_Clear();
ABS_Error_Code_Process();
}
/*============================================================================*/
......
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