Commit d28e1146 authored by hu's avatar hu

增加报警显示

parent ac0758a6
#ifndef _FUELCONFIG_H
#define _FUELCONFIG_H
typedef unsigned short INT16U;
typedef unsigned char INT8U;
typedef unsigned int INT32U;
#include "TYW_stdint.h"
//typedef unsigned short INT16U;
//typedef unsigned char INT8_t;
//typedef unsigned int INT32_t;
#define DISPLAY_BOUNDARY_ES 1500
#define DISPLAY_BOUNDARY_1 1500
......@@ -43,28 +45,28 @@ typedef unsigned int INT32U;
// Fuel Config
typedef struct _FuelStruct
{
INT16U FuelShortCircuitR;
INT16U FuelOpenCircuitR;
INT16U DisplayZoneBoundary[22];
INT16U FuelCapacityBoundary[22];
uint16_t FuelShortCircuitR;
uint16_t FuelOpenCircuitR;
uint16_t DisplayZoneBoundary[22];
uint16_t FuelCapacityBoundary[22];
} FuelStruct;
extern void InitFuelParamter(FuelStruct *para);
extern INT8U *GetFuelLibVersion(void);
extern uint8_t *GetFuelLibVersion(void);
extern void FuelFSM(INT16U FuelResistance); // unit:ohm,accuracy:0.1
extern void FuelFSM(uint16_t FuelResistance); // unit:ohm,accuracy:0.1
extern void SetMaxFuelBlockNum(INT8U n); // call after InitFuelParamter(),default 12,max 20
extern void SetMaxFuelBlockNum(uint8_t n); // call after InitFuelParamter(),default 12,max 20
extern void SetFuelSensorRecoverGroupCnt(INT16U n); // 1:500ms,2:1000ms,3:1500ms.......,range:5s(10)-30min(3600)
extern void SetFuelSensorOpenCircuitGroupCnt(INT16U n); // 1:500ms,2:1000ms,3:1500ms.......,range:5s(10)-30min(3600)
extern void SetFuelSensorShortCircuitGroupCnt(INT16U n); // 1:500ms,2:1000ms,3:1500ms.......,range:5s(10)-30min(3600)
extern void SetFuelSensorRecoverGroupCnt(uint16_t n); // 1:500ms,2:1000ms,3:1500ms.......,range:5s(10)-30min(3600)
extern void SetFuelSensorOpenCircuitGroupCnt(uint16_t n); // 1:500ms,2:1000ms,3:1500ms.......,range:5s(10)-30min(3600)
extern void SetFuelSensorShortCircuitGroupCnt(uint16_t n); // 1:500ms,2:1000ms,3:1500ms.......,range:5s(10)-30min(3600)
extern void SetPowerSt(INT8U n);
extern INT8U GetFuelSeg(void); // Segment, range:0~8
extern INT8U GetFuelStep(void); // Pointer or Mono TFT stepless,range:0,10~((MaxFuelBlockNum + 1) * 10) 0,10:E, ((MaxFuelBlockNum + 1) * 10):F
extern void SetPowerSt(uint8_t n);
extern uint8_t GetFuelSeg(void); // Segment, range:0~8
extern uint8_t GetFuelStep(void); // Pointer or Mono TFT stepless,range:0,10~((MaxFuelBlockNum + 1) * 10) 0,10:E, ((MaxFuelBlockNum + 1) * 10):F
extern INT16U GetFuelCapacityVal(void); // unit:L,accuracy:0.1
extern uint16_t GetFuelCapacityVal(void); // unit:L,accuracy:0.1
enum
{
......@@ -73,7 +75,7 @@ enum
FuelSensorOpenCircuit,
FuelSensorPreFault,
};
extern INT8U GetFuelSensorState(void);
extern uint8_t GetFuelSensorState(void);
enum
{
......@@ -83,57 +85,57 @@ enum
FUEL_ST_IGN_OFF_PROCESS, // 4
FUEL_ST_IGN_OFF, // 5
};
extern INT8U GetFuelFSM_St(void);
extern INT16U GetFuelResistance(void); // unit:ohm,accuracy:0.1
extern uint8_t GetFuelFSM_St(void);
extern uint16_t GetFuelResistance(void); // unit:ohm,accuracy:0.1
extern void SetPowerDnStep(INT8U step); // call every ign on (after InitFuelParamter())
extern INT8U GetPowerDnStep(void); // every 10km or ign off or refuel(FUEL_ST_POWER_ON_ADD_FUEL->FUEL_ST_VEHICLE_RUN) record
extern void SetPowerDnStep(uint8_t step); // call every ign on (after InitFuelParamter())
extern uint8_t GetPowerDnStep(void); // every 10km or ign off or refuel(FUEL_ST_POWER_ON_ADD_FUEL->FUEL_ST_VEHICLE_RUN) record
// AFC & DrivingRange
typedef struct _AFC_INIT
{
INT8U CalcAFCMaxNum; // max 100km,default 50
INT16U AFCMin; // unit:L,accuracy:0.1
INT16U AFCMax; // unit:L,accuracy:0.1
INT16U AFCPreinstall; // unit:L,accuracy:0.1
INT32U CurODO; // unit:m,accuracy:1
INT32U MaxDRMileage; // unit:km,accuracy:0.01
uint8_t CalcAFCMaxNum; // max 100km,default 50
uint16_t AFCMin; // unit:L,accuracy:0.1
uint16_t AFCMax; // unit:L,accuracy:0.1
uint16_t AFCPreinstall; // unit:L,accuracy:0.1
uint32_t CurODO; // unit:m,accuracy:1
uint32_t MaxDRMileage; // unit:km,accuracy:0.01
} AFC_INIT;
extern void InitAFC(AFC_INIT *data);
extern void ResetAFC(AFC_INIT *data);
typedef struct _AFC_PARA
{
INT32U CurODO; // unit:m,accuracy:1
INT16U FuleConsume; // unit:ul,accuracy:1
INT16U RPM; // unit:RPM,accuracy:1
INT8U Speed; // unit:km/h,accuracy:1
uint32_t CurODO; // unit:m,accuracy:1
uint16_t FuleConsume; // unit:ul,accuracy:1
uint16_t RPM; // unit:RPM,accuracy:1
uint8_t Speed; // unit:km/h,accuracy:1
} AFC_PARA;
extern void SetAFCPara(AFC_PARA *data);
typedef struct _DAFC_PARA
{
INT32U DAFC_FuelConsumeSum; // unit:ul (ul:m->ml:km->L:1000km)
INT32U DAFC_ODO; // unit:m
uint32_t DAFC_FuelConsumeSum; // unit:ul (ul:m->ml:km->L:1000km)
uint32_t DAFC_ODO; // unit:m
} DAFC_PARA;
extern void DAFC_GetPowerDownPara(DAFC_PARA *data); // call every 10km or ign off or reset afc
extern void DAFC_SetPowerDownPara(DAFC_PARA *data); // call every KL30 OFF -> KL30 ON (after InitAFC())
typedef struct _DR_PARA
{
INT32U DR_FuelConsumeSum; // unit:ul (ul:m->ml:km->L:1000km)
INT32U DR_Mileage; // unit:km,accuracy:0.01
uint32_t DR_FuelConsumeSum; // unit:ul (ul:m->ml:km->L:1000km)
uint32_t DR_Mileage; // unit:km,accuracy:0.01
} DR_PARA;
extern void DR_GetPowerDownPara(DR_PARA *data); // call every 10km or ign off
extern void DR_SetPowerDownPara(DR_PARA *data); // call every KL30 OFF -> KL30 ON (after InitAFC())
extern void AFCTimerCall(void); // must per 10ms interrupt
extern INT16U GetDRMileage(void); // unit:km,accuracy:1
extern INT16U GetCurAFC(void); // unit:L,accuracy:0.1
extern uint16_t GetDRMileage(void); // unit:km,accuracy:1
extern uint16_t GetCurAFC(void); // unit:L,accuracy:0.1
// display afc
extern void DAFC_Reset(AFC_INIT *data);
extern INT16U DAFC_GetAFC(void); // unit:L,accuracy:0.1
extern uint16_t DAFC_GetAFC(void); // unit:L,accuracy:0.1
// display afc end
extern void SetIgnOffRefuelThreshold(uint8_t data);
......
......@@ -56,7 +56,7 @@ void Data_TPMS_KL15_ON_Init(void)
}
/******************************************************************************
Function:Data_TPMS_Value_Processing
Description:数据处理总接口
Description:数据处理总接口 100ms任务
Input:
Output:
******************************************************************************/
......@@ -168,7 +168,8 @@ void Get_Data_TPMS_Value(TPMSNUM_t TPMSTyreID)
******************************************************************************/
void Get_Data_TPMS_Status(TPMSNUM_t TPMSTyreID)
{
if (TPMS_Out[TPMSTyreID].TPMSTyreID == Get_ID_18011733_Sig_Tire_Index())
if ((TPMS_Out[TPMSTyreID].TPMSTyreID == Get_ID_18011733_Sig_Tire_Index()) &&
(TPMS_Out[TPMSTyreID].TPMSDataInvalidTime <= 600u))
{
/*低气压报警 */
TPMS_Out[TPMSTyreID].TPMSLowpressure = Get_ID_18011733_Sig_Low_Presure_Alarm();
......@@ -185,6 +186,23 @@ void Get_Data_TPMS_Status(TPMSNUM_t TPMSTyreID)
/*传感器故障信息 */
TPMS_Out[TPMSTyreID].TPMSSensorfault = Get_ID_18011733_Sig_Sensor_fault_information();
}
else
{
/*低气压报警 */
TPMS_Out[TPMSTyreID].TPMSLowpressure = 0u;
/*高气压报警 */
TPMS_Out[TPMSTyreID].TPMSHighpressure = 0u;
/*高温报警 */
TPMS_Out[TPMSTyreID].TPMSHightemperature = 0u;
/*快速漏气报警 */
TPMS_Out[TPMSTyreID].TPMSRapidleakage = 0u;
/*低电压报警 */
TPMS_Out[TPMSTyreID].TPMSLowvoltage = 0u;
/*无信号报警 */
TPMS_Out[TPMSTyreID].TPMSNosignal = 0u;
/*传感器故障信息 */
TPMS_Out[TPMSTyreID].TPMSSensorfault = 0u;
}
}
/******************************************************************************
......
......@@ -14,7 +14,8 @@
#include "Service_TPMS.h"
#include "Data_AirPressure.h"
#include "Data_CoolantTemperature.h"
#include "FuelConfig.h"
#include "Data_Fuel_User.h"
static uint8_t L12_Air_Sta ;
......@@ -2118,10 +2119,15 @@ Fuel
uint8_t LED_Fuel_Judgement(void)
{
uint8_t u8Result = 0u;
uint8_t m_Condition1 = 0u;
//m_Condition1 = Fuel_Get_LowAlarm();
uint8_t variable_1 = 0x00u;
uint8_t variable_2 = 0x00u;
uint16_t variable_5 = 0x00u;
if (m_Condition1 == 1u)
variable_1 = Fuel_Get_CurSeg();/*格*/
variable_2 = GetFuelSensorState();/*燃油状态*/
variable_5 = GetFuelResistance(); /*采集的阻值*/
if ((variable_1 <= 1 ) && (variable_2 == FuelSensorNormal) && (variable_5 != 65535) && (K_Line_Set.K_Line_LID43 == 0x82u))
{
u8Result = 1u;
}
......@@ -2130,6 +2136,7 @@ uint8_t LED_Fuel_Judgement(void)
u8Result = 0u;
}
return u8Result;
}
void LED_Fuel_Execution(uint8_t led_status)
......@@ -2140,21 +2147,21 @@ void LED_Fuel_Execution(uint8_t led_status)
if (u8IG_st == COMMON_POWER_ON)
{
if (led_status == 1u)
if ((led_status == 1u) && (K_Line_Set.K_Line_LID43 == 0x82u))
{
FUEL_LED_Y_MCU = 1U ;
FUEL_W_LED_OUT = 0U ;
FUEL_LED_Y_MCU = 1u ;
FUEL_W_LED_OUT = 0u ;
}
else
{
FUEL_LED_Y_MCU = 0U ;
FUEL_W_LED_OUT = 1U ;
FUEL_LED_Y_MCU = 0u ;
FUEL_W_LED_OUT = 1u ;
}
}
else
{
FUEL_LED_Y_MCU = 0U ;
FUEL_W_LED_OUT = 0U ;
FUEL_LED_Y_MCU = 0u ;
FUEL_W_LED_OUT = 0u ;
}
}
......
This diff is collapsed.
......@@ -61,6 +61,8 @@ static uint16_t Popup_Get_Next_Masked_Warning ( uint16_t PopupID );
static void Popup_IRQ_Enable(void);
static void Popup_IRQ_Disable(void);
static PopupList_Opt_t PopupListOpt;
/**********************************************************************************************************
* Global variables
*/
......@@ -79,8 +81,6 @@ static void Popup_IRQ_Disable(void);
**********************************************************************************************************/
void Popup_Scheduler_Init ( void )
{
PopupList_Opt_t PopupListOpt = {0};
PopupListOpt.CommMemBuf = CommBuf;
PopupListOpt.MaxCommMenSize = MAX_MEM_NUM;
PopupListOpt.pPopupAttributeTable = PopupAttributeTable;
......
#include "Popups.h"
#include "Common_Interface.h"
#include "Popup_List.h"
#include "Popup_Message_List.h"
#include "Sound_List.h"
#include "GUI.h"
#include "Common_Interface.h"
#include "Sound_Scheduler.h"
#include "Gauges.h"
#include "GaugesInterface.h"
#include "CAN_Communication_Matrix.h"
#include "Popup_List.h"
#include "Popup_Message_List.h"
#include "Sound_List.h"
#include "Telltales.h"
#include "Data_Gear.h"
#include "Line_in.h"
#include "Telltales_user.h"
#include "Data_CoolantTemperature.h"
#include "Data_Voltmeter.h"
#include "Data_Fuel_User.h"
#include "FuelConfig.h"
#include "Service_TPMS.h"
void Popups_Management_Service(void)
......@@ -37,6 +35,7 @@ void Popups_Polling(void)
uint8_t variable_2 = 0x00u;
uint8_t variable_3 = 0x00u;
uint32_t variable_4 = 0x00u;
uint16_t variable_5 = 0x00u;
uint16_t V_Speed = 0u;
uint16_t E_Speed = 0u;
......@@ -161,7 +160,7 @@ void Popups_Polling(void)
/*5.--4--ASR工作*/
variable_1 = Get_ID_18F0010B_Sig_ATC_or_ASR_Lamp_State();
if (variable_1 == 0x01u)
if ((variable_1 == 0x01u) && (K_Line_Set.K_Line_LID21 == 0x01u))
{
Popup_Request(POPUT1_ASR_OPERATE);
}
......@@ -533,7 +532,7 @@ void Popups_Polling(void)
}
/*34.摄像头有污染-请与五十铃公司联系 ID:18FE5BE8 Byte7 Bit5-8 0010(B) 0011(B) LID $27: 0x01*/
variable_1 = Get_ID_18FE5BE8_Sig_Camera_Status();
variable_1 = Get_ID_18FE5BE8_Sig_Camera_Status();
if ((K_Line_Set.K_Line_LID27 = 0x01u) && ((variable_1 == 0x02u) || (variable_2 == 0x03u)))
{
......@@ -583,7 +582,7 @@ void Popups_Polling(void)
/*38.高温警報-轮胎高温警告 ID:18011733 Byte:5 Bit:6 01(B) LID $3E : 0x01*/
variable_1 = Get_TPMSHigh_Temperature_Sta();
if ((K_Line_Set.K_Line_LID3E = 0x01u) && (variable_1 == 0x01u))
if ((K_Line_Set.K_Line_LID3E = 0x01u) && (variable_1 == 0x01u))
{
Popup_Request(POPUP5_TPMS_HIGH_TEMP);
}
......@@ -618,8 +617,9 @@ void Popups_Polling(void)
/*41.TPMS故障-轮胎监控失败 ID:18011733 Byte:6 Bit:ALL 0111(B) or 1000(B) or 1001(B)*/
variable_1 = Get_TPMSSensor_fault_Sta();
variable_2 = CAN_MSG_Status(ID_CanMsg18011733_Msg_Count);
if ((K_Line_Set.K_Line_LID3E = 0x01u) && (variable_1 == 0x01u))
if ((K_Line_Set.K_Line_LID3E = 0x01u) && ((variable_1 == 0x01u) || (variable_2 == CAN_SIG_LOST)))
{
Popup_Request(POPUP5_TPMS_FAILURE);
}
......@@ -628,11 +628,10 @@ void Popups_Polling(void)
Popup_Delete(POPUP5_TPMS_FAILURE);
}
/*42.TPMS電池低下-轮胎监控传感器电压下降 ID:18011733 Byte:5 Bit:4 01(B) LID $3E : 0x01*/
variable_1 = Get_TPMSLow_Voltage_Sta();
if ((K_Line_Set.K_Line_LID3E = 0x01u) && (variable_1 == 1))
if ((K_Line_Set.K_Line_LID3E = 0x01u) && (variable_1 == 1))
{
Popup_Request(POPUP5_TPMS_MONITOR_DROP);
}
......@@ -647,7 +646,7 @@ void Popups_Polling(void)
/*43.遥控车辆高度调整中(无车速) B30 28V*/
variable_1 = Line_In_Get_Status(LINE_IN_AIR_SUS);
if (variable_1 == 1)
if (variable_1 == 0x01u)
{
Popup_Request(POPUP6_HEIGHT_CONTROL);
}
......@@ -660,7 +659,7 @@ void Popups_Polling(void)
variable_1 = Get_ID_18FED900_Sig_PTO_SW();
variable_2 = Line_In_Get_Status(LINE_IN_PTO);
if ((variable_1 == 1) || ( variable_2 == 1))
if ((variable_1 == 0x01u) || (variable_2 == 0x01u))
{
Popup_Request(POPUP6_PTO_STOP);
}
......@@ -702,22 +701,25 @@ void Popups_Polling(void)
/*----第八组---------------------------------------------------------------------*/
/*47.补充燃料-油箱单位*/
//if (K_Line_Set.K_Line_LID43 == 0x82u)
//{
// //if ((Fuel_Seg <= 1 ) && (FuelStatus == 0) && (FuelResistanceV != 65535))
// if (0)
// {
// Popup_Request(POPUP8_REFUEL);
// }
// else
// {
// Popup_Delete(POPUP8_REFUEL);
// }
//}
//else
//{
// Popup_Clear(POPUP8_REFUEL);
//}
variable_1 = Fuel_Get_CurSeg();/*格*/
variable_2 = GetFuelSensorState();/*燃油状态*/
variable_5 = GetFuelResistance(); /*采集的阻值*/
if (K_Line_Set.K_Line_LID43 == 0x82u)
{
if ((variable_1 <= 1 ) && (variable_2 == FuelSensorNormal) && (variable_5 != 65535))
{
Popup_Request(POPUP8_REFUEL);
}
else
{
Popup_Delete(POPUP8_REFUEL);
}
}
else
{
Popup_Clear(POPUP8_REFUEL);
}
if (K_Line_Set.K_Line_LID41 == 0x13u)
{
......@@ -752,24 +754,24 @@ void Popups_Polling(void)
}
/*50.低电压报警 显示条件:发动机启动(350r/min)后,7秒检测到23.5V时 显示消失条件:10秒检测到25V以上时*/
//if (( KL30_Volt < 2350) && ( E_Speed > 350)) //23.5V
// if (( KL30_Volt < 2350) && ( E_Speed > 350)) //23.5V
//{
// Popup_Request(POPUP8_LOW_VOLTAGE_SPEED);
//}
//else if (KL30_Volt > 2500)
// Popup_Request(POPUP8_LOW_VOLTAGE_SPEED);
// }
// else if (KL30_Volt > 2500)
//{
// Popup_Delete(POPUP8_LOW_VOLTAGE_SPEED);
//}
// Popup_Delete(POPUP8_LOW_VOLTAGE_SPEED);
// }
/*51.过电压报警 显示条件:发动机启动(350r/min)后,7秒检测到30.4V以上时 显示消失条件:10秒检测到29.4V以下时*/
//if ((KL30_Volt > 3044) && ( E_Speed > 350)) //30.44V
// if ((KL30_Volt > 3044) && ( E_Speed > 350)) //30.44V
//{
// Popup_Request(POPUP8_OVERVOLTAGE);
//}
//else if (KL30_Volt < 2940)
// Popup_Request(POPUP8_OVERVOLTAGE);
// }
// else if (KL30_Volt < 2940)
//{
// Popup_Delete(POPUP8_OVERVOLTAGE);
//}
// Popup_Delete(POPUP8_OVERVOLTAGE);
// }
/*52.后蹄片磨损*/
variable_1 = Line_In_Get_Status(LINE_IN_WEAR2);
......@@ -795,7 +797,7 @@ void Popups_Polling(void)
}
/*54.DPD自动再生-DPD自动再生中 ID:18FED900 (AUXIO) Byte:8 bit:5,4 01(B) Engine Speed : 350rpm以上*/
variable_1 = Get_ID_18FED900_Sig_DPF_Regeneration_Status();
variable_1 = Get_ID_18FED900_Sig_DPF_Regeneration_Status();
if ((E_Speed >= 350) && (variable_1 == 0x01u))
{
......@@ -808,7 +810,37 @@ void Popups_Polling(void)
/*----第九组---------------------------------------------------------------------*/
/*55.气压过低-请冲入空气*/
variable_1 = (uint8_t)Line_In_Get_Status(LINE_IN_BRAKE_AIR_EBS);
variable_2 = Common_Get_L12_Air_Sta();
if ((variable_1 == LINE_IN_LOGIC_VALID ) || (variable_2 == 0X01U))
{
Popup_Request(POPUP9_AIR_PRESSURE);
}
else
{
Popup_Delete(POPUP9_AIR_PRESSURE);
}
/*56.EBS故障(红)-请与五十铃公司联系*/
variable_1 = Get_ID_18F0010B_Sig_EBS_Red_Warning_Lamp_State();
variable_2 = CAN_MSG_Status(ID_CanMsg18F0010B_Msg_Count);
if (K_Line_Set.K_Line_LID21 == 0x01u)
{
if ((variable_1 == 0x01u) || (variable_2 == CAN_SIG_LOST))
{
Popup_Request(POPUP9_EBS_ERROR);
}
else
{
Popup_Delete(POPUP9_EBS_ERROR);
}
}
else
{
Popup_Clear(POPUP9_EBS_ERROR);
}
#if 0
/*----第十组---------------------------------------------------------------------*/
/*57.省油耗建议-急加速*/
......
......@@ -424,9 +424,16 @@ void GUI_TFTTelltales_Display(uint8_t Mode)
EBSLamp_State = Get_ID_18F0010B_Sig_EBS_Red_Warning_Lamp_State();
CanStatus2 = CAN_MSG_Status(ID_CanMsg18F0010B_Msg_Count);
if ((EBSLamp_State == 0x01u) || (CanStatus2 == CAN_SIG_LOST))
if (K_Line_Set.K_Line_LID21 == 0x01u)
{
GUI_Translate_Display(WarningLight_Sprite, CN_Alarm_02_1, 21u, GUI_DISP_LEMPY[1u], GUI_BLENDMODE_SRC_OVER);
if ((EBSLamp_State == 0x01u) || (CanStatus2 == CAN_SIG_LOST))
{
GUI_Translate_Display(WarningLight_Sprite, CN_Alarm_02_1, 21u, GUI_DISP_LEMPY[1u], GUI_BLENDMODE_SRC_OVER);
}
else
{
GUI_General_Display(WarningLight_Sprite, SpriteSize, GUI_BLENDMODE_CUSTOM );
}
}
else
{
......
......@@ -315,7 +315,7 @@ static const t_PicStruct Pic_Attribute[] =
{ /*CN_Alarm_G5_5_wenzi2 X484_Y191.png*/ 484u, 191u, 268u, 28u, ARGB8888, 0x10888C80u },
{ /*CN_Alarm_G5_5_wenzi3 X486_Y225.png*/ 486u, 225u, 280u, 132u, ARGB8888, 0x108901C0u },
{ /*CN_Alarm_G5_6_image X383_Y189.png*/ 383u, 189u, 100u, 72u, ARGB8888, 0x108B4340u },
{ /*CN_Alarm_G5_6_wenzi1 X391_Y277.png*/ 391u, 277u, 400u, 44u, ARGB8888, 0x108BB3C0u },
{ /*CN_Alarm_G5_6_wenzi1 X392_Y278.png*/ 392u, 278u, 400u, 44u, ARGB8888, 0x108BB3C0u },
{ /*CN_Alarm_G5_6_wenzi2 X484_Y191.png*/ 484u, 191u, 268u, 28u, ARGB8888, 0x108CC6C0u },
{ /*CN_Alarm_G5_7_image X383_Y189.png*/ 383u, 189u, 100u, 72u, ARGB8888, 0x108D3C00u },
{ /*CN_Alarm_G5_7_wenzi1 X391_Y277.png*/ 391u, 277u, 400u, 44u, ARGB8888, 0x108DAC80u },
......
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