Commit 59d4ed26 authored by 王金山's avatar 王金山

Merge branch 'feature/TYW-2025-00990-1-Add-the-HAS-indicator-light' into 'dev'

TYW-2025-00990变更项1、增加HAS指示灯

See merge request !21
parents e029b3d0 7e0b034a
...@@ -723,6 +723,7 @@ void Gauges_GAS2_LCD_Status(void) ...@@ -723,6 +723,7 @@ void Gauges_GAS2_LCD_Status(void)
} }
uint8_t Overspeed_RVM = 0; uint8_t Overspeed_RVM = 0;
uint8_t AutoHold_HillHold = 0;
void Telltale_LCD_Display(void) void Telltale_LCD_Display(void)
{ {
...@@ -935,12 +936,66 @@ void Telltale_LCD_Display(void) ...@@ -935,12 +936,66 @@ void Telltale_LCD_Display(void)
else else
TFT_LCD_Clear_Layer(LAYER_LED21); TFT_LCD_Clear_Layer(LAYER_LED21);
//Auto hold 指示灯绿色 20 //Auto hold 指示灯绿色 20 && HAS
if (((AutoHold == 6) || (AutoHold == 5)) && ((ESC_HillHolderMode == 0x2) || (ESC_HillHolderMode == 0x1)))
{
/* 同时报警 */
if (AutoHold_HillHold <= 40) //4s
{
AutoHold_HillHold ++;
}
else
{
AutoHold_HillHold = 0;
}
if (AutoHold_HillHold <= 20)
{
if (TelltaleLCDFlag.Sig.LCD22 == 1) if (TelltaleLCDFlag.Sig.LCD22 == 1)
TFT_LCD_Display_Sprite(LAYER_LED22, SN_zhishideng_23_png, 130, 305, 64); TFT_LCD_Display_Sprite(LAYER_LED22, SN_zhishideng_23_png, 130, 305, 64);
else else
TFT_LCD_Clear_Layer(LAYER_LED22); TFT_LCD_Clear_Layer(LAYER_LED22);
}
else
{
/* HAS指示灯 */
if (ESC_HillHolderMode == 0x2)
{
if (FlashSync2Hz)
TFT_LCD_Display_Sprite(LAYER_LED22, SN_zz_HSA_x132y304_png, 132, 304, 64);
else
TFT_LCD_Clear_Layer(LAYER_LED22);
}
else
TFT_LCD_Display_Sprite(LAYER_LED22, SN_zz_HSA_x132y304_png, 132, 304, 64);
}
}
else if ((AutoHold == 6) || (AutoHold == 5))
{
AutoHold_HillHold = 0;
if (TelltaleLCDFlag.Sig.LCD22 == 1)
TFT_LCD_Display_Sprite(LAYER_LED22, SN_zhishideng_23_png, 130, 305, 64);
else
TFT_LCD_Clear_Layer(LAYER_LED22);
}
else if ((ESC_HillHolderMode == 0x2) || (ESC_HillHolderMode == 0x1))
{
AutoHold_HillHold = 0;
/* HAS指示灯 */
if (ESC_HillHolderMode == 0x2)
{
if (FlashSync2Hz)
TFT_LCD_Display_Sprite(LAYER_LED22, SN_zz_HSA_x132y304_png, 132, 304, 64);
else
TFT_LCD_Clear_Layer(LAYER_LED22);
}
else
TFT_LCD_Display_Sprite(LAYER_LED22, SN_zz_HSA_x132y304_png, 132, 304, 64);
}
else
{
TFT_LCD_Clear_Layer(LAYER_LED22);
AutoHold_HillHold = 0;
}
// 制动液位低报警灯 9 // 制动液位低报警灯 9
if (TelltaleLCDFlag.Sig.LCD23 == 1) if (TelltaleLCDFlag.Sig.LCD23 == 1)
TFT_LCD_Display_Sprite(LAYER_LED23, SN_zhishideng_17_png, 625, 110, 64); TFT_LCD_Display_Sprite(LAYER_LED23, SN_zhishideng_17_png, 625, 110, 64);
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
Map Data Map Data
Filename : mapData.h Filename : mapData.h
Format Ver : 1.1.0.27 Format Ver : 1.1.0.27
Date : 2023/11/14 13:56:52 +08:00 Date : 2025/10/24 13:01:13 +08:00
*******************************/ *******************************/
#ifndef _MAPDATA_H_ #ifndef _MAPDATA_H_
...@@ -41,10 +41,10 @@ typedef struct ...@@ -41,10 +41,10 @@ typedef struct
} T_VC1H_PALETTEDATA; /*--------------------------*/ } T_VC1H_PALETTEDATA; /*--------------------------*/
#define ROMDATA_STARTADDR (0x00000000) #define ROMDATA_STARTADDR (0x00000000)
#define ROMDATA_ENDADDR (0x00B795DF) #define ROMDATA_ENDADDR (0x00B7BA97)
#define ROMDATA_CHECKSUM (0xAB6A) #define ROMDATA_CHECKSUM (0x26A2)
#define PATTERN_DATA_NUMBER (620) #define PATTERN_DATA_NUMBER (628)
enum SpriteName enum SpriteName
{ {
...@@ -667,7 +667,15 @@ enum SpriteName ...@@ -667,7 +667,15 @@ enum SpriteName
SN_zuoqiya13_png, /* zuoqiya13.png - S617 */ SN_zuoqiya13_png, /* zuoqiya13.png - S617 */
SN_zuoqiya14_png, /* zuoqiya14.png - S618 */ SN_zuoqiya14_png, /* zuoqiya14.png - S618 */
SN_zuoqiya15_png, /* zuoqiya15.png - S619 */ SN_zuoqiya15_png, /* zuoqiya15.png - S619 */
SN_zuoqiyashuzi_png /* zuoqiyashuzi.png - S620 */ SN_zuoqiyashuzi_png, /* zuoqiyashuzi.png - S620 */
SN_zz_ALARM_88_png, /* zz_ALARM_88.png - S621 */
SN_zz_CarPeopleR_x451y17_png, /* zz_CarPeopleR_x451y17.png - S622 */
SN_zz_CarPeopleY_x451y17_png, /* zz_CarPeopleY_x451y17.png - S623 */
SN_zz_HSA_x132y304_png, /* zz_HSA_x132y304.png - S624 */
SN_zz_Road_L_x132y266_png, /* zz_Road_L_x132y266.png - S625 */
SN_zz_Road_M_x132y266_png, /* zz_Road_M_x132y266.png - S626 */
SN_zz_Road_R_x132y266_png, /* zz_Road_R_x132y266.png - S627 */
SN_zz_zhishideng_10_png /* zz_zhishideng_10.png - S628 */
}; };
#pragma CONST_SEG __GPAGE_SEG MAPDATA_ROM #pragma CONST_SEG __GPAGE_SEG MAPDATA_ROM
static const T_VC1H_PATTERNDATA tVc1hPatternData[] = static const T_VC1H_PATTERNDATA tVc1hPatternData[] =
...@@ -1292,7 +1300,15 @@ static const T_VC1H_PATTERNDATA tVc1hPatternData[] = ...@@ -1292,7 +1300,15 @@ static const T_VC1H_PATTERNDATA tVc1hPatternData[] =
{{0xA0,0x00,0x00,0x00,0x2E,0x4F,0x10,0x96,0xD5,0xF6,0x40,0x40}, -1}, /* zuoqiya13.png - S617 */ {{0xA0,0x00,0x00,0x00,0x2E,0x4F,0x10,0x96,0xD5,0xF6,0x40,0x40}, -1}, /* zuoqiya13.png - S617 */
{{0xA0,0x00,0x00,0x00,0x2E,0x4F,0x10,0x96,0xDE,0x88,0x40,0x40}, -1}, /* zuoqiya14.png - S618 */ {{0xA0,0x00,0x00,0x00,0x2E,0x4F,0x10,0x96,0xDE,0x88,0x40,0x40}, -1}, /* zuoqiya14.png - S618 */
{{0xA0,0x00,0x00,0x00,0x2E,0x4F,0x00,0x96,0xE7,0x55,0x40,0x40}, -1}, /* zuoqiya15.png - S619 */ {{0xA0,0x00,0x00,0x00,0x2E,0x4F,0x00,0x96,0xE7,0x55,0x40,0x40}, -1}, /* zuoqiya15.png - S619 */
{{0xA0,0x00,0x00,0x00,0x24,0x46,0x30,0x96,0xF0,0x85,0x40,0x40}, -1} /* zuoqiyashuzi.png - S620 */ {{0xA0,0x00,0x00,0x00,0x24,0x46,0x30,0x96,0xF0,0x85,0x40,0x40}, -1}, /* zuoqiyashuzi.png - S620 */
{{0xA0,0x00,0x00,0x00,0x03,0x5D,0x10,0x96,0xF2,0xBC,0x40,0x40}, -1}, /* zz_ALARM_88.png - S621 */
{{0xA0,0x00,0x00,0x00,0x04,0x44,0x00,0x96,0xF4,0x23,0x40,0x40}, -1}, /* zz_CarPeopleR_x451y17.png - S622 */
{{0xA0,0x00,0x00,0x00,0x04,0x44,0x00,0x96,0xF4,0x79,0x40,0x40}, -1}, /* zz_CarPeopleY_x451y17.png - S623 */
{{0xA0,0x00,0x00,0x00,0x04,0x44,0x00,0x96,0xF4,0xCE,0x40,0x40}, -1}, /* zz_HSA_x132y304.png - S624 */
{{0xA0,0x00,0x00,0x00,0x04,0x44,0x10,0x96,0xF5,0x4F,0x40,0x40}, -1}, /* zz_Road_L_x132y266.png - S625 */
{{0xA0,0x00,0x00,0x00,0x04,0x44,0x10,0x96,0xF5,0xBD,0x40,0x40}, -1}, /* zz_Road_M_x132y266.png - S626 */
{{0xA0,0x00,0x00,0x00,0x04,0x44,0x00,0x96,0xF6,0x1B,0x40,0x40}, -1}, /* zz_Road_R_x132y266.png - S627 */
{{0xA0,0x00,0x00,0x00,0x45,0x45,0x00,0x16,0xF6,0x89,0x40,0x40}, -1} /* zz_zhishideng_10.png - S628 */
}; };
#pragma CONST_SEG DEFAULT #pragma CONST_SEG DEFAULT
......
...@@ -2300,6 +2300,39 @@ extern volatile uint8_t CANMsg18FFEB4EStatus; ...@@ -2300,6 +2300,39 @@ extern volatile uint8_t CANMsg18FFEB4EStatus;
static const uint8_t CANMsg18FFEB4EInit[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FFEB4EInit[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t CANMsg18FFEB4ETimeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FFEB4ETimeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t CANMsg18FFEB4EMask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FFEB4EMask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
/******************************************************************************
EBS5
ID:0x18FDC40B
******************************************************************************/
typedef union
{
uint8_t Msg[8];
struct
{
uint8_t b00_04 : 5; //
uint8_t b05_07 : 3; //ESC_HillHolderMode
uint8_t b08_15 : 8; //
uint8_t b16_23 : 8; //
uint8_t b24_31 : 8; //
uint8_t b32_39 : 8; //
uint8_t b40_47 : 8; //
uint8_t b48_55 : 8; //
uint8_t b56_63 : 8; //
} Sig;
} CANMsg18FDC40BUnion;
extern volatile CANMsg18FDC40BUnion CANMsg18FDC40B;
extern volatile uint8_t CANMsg18FDC40BStatus;
#define EBS5 0x18FDC40B
#define EBS5_STATUS CANMsg18FDC40BStatus
#define ESC_HillHolderMode CANMsg18FDC40B.Sig.b05_07
static const uint8_t CANMsg18FDC40BInit[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t CANMsg18FDC40BTimeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t CANMsg18FDC40BMask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
/***************************************************************************************************************************************************************************** /*****************************************************************************************************************************************************************************
报文属性预定义 报文属性预定义
*****************************************************************************************************************************************************************************/ *****************************************************************************************************************************************************************************/
...@@ -2421,9 +2454,10 @@ static const CANMsgAttrStruct CANMsgAttrTable[] = ...@@ -2421,9 +2454,10 @@ static const CANMsgAttrStruct CANMsgAttrTable[] =
{ EMS_35D, CANMsg18FFC800.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 1000, 0, &CANMsg18FFC800Status, CANMsg18FFC800Init, CANMsg18FFC800Timeout, CANMsg18FFC800Mask,}, { EMS_35D, CANMsg18FFC800.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 1000, 0, &CANMsg18FFC800Status, CANMsg18FFC800Init, CANMsg18FFC800Timeout, CANMsg18FFC800Mask,},
{ EMS_51C, CANMsg18FEC600.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 5000, 0, &CANMsg18FEC600Status, CANMsg18FEC600Init, CANMsg18FEC600Timeout, CANMsg18FEC600Mask,}, { EMS_51C, CANMsg18FEC600.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 5000, 0, &CANMsg18FEC600Status, CANMsg18FEC600Init, CANMsg18FEC600Timeout, CANMsg18FEC600Mask,},
{ LLM_EB4E, CANMsg18FFEB4E.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 5000, 0, &CANMsg18FFEB4EStatus, CANMsg18FFEB4EInit, CANMsg18FFEB4ETimeout, CANMsg18FFEB4EMask,}, { LLM_EB4E, CANMsg18FFEB4E.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 5000, 0, &CANMsg18FFEB4EStatus, CANMsg18FFEB4EInit, CANMsg18FFEB4ETimeout, CANMsg18FFEB4EMask,},
{ EBS5, CANMsg18FDC40B.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 1000, 0, &CANMsg18FDC40BStatus, CANMsg18FDC40BInit, CANMsg18FDC40BTimeout, CANMsg18FDC40BMask,},
/*==========================================================================================================================================================================*/ /*==========================================================================================================================================================================*/
}; };
#define CAN_TX_MSG_NUM 8 #define CAN_TX_MSG_NUM 8
#define CAN_RX_MSG_NUM 43 #define CAN_RX_MSG_NUM 44
#endif #endif
...@@ -232,3 +232,7 @@ volatile uint8_t CANMsg18FEC600Status; ...@@ -232,3 +232,7 @@ volatile uint8_t CANMsg18FEC600Status;
//LLM_EB4E //LLM_EB4E
volatile CANMsg18FFEB4EUnion CANMsg18FFEB4E; volatile CANMsg18FFEB4EUnion CANMsg18FFEB4E;
volatile uint8_t CANMsg18FFEB4EStatus; volatile uint8_t CANMsg18FFEB4EStatus;
//EBS5
volatile CANMsg18FDC40BUnion CANMsg18FDC40B;
volatile uint8_t CANMsg18FDC40BStatus;
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