2024-03-07 11:03:18 +08:00
|
|
|
|
#ifndef __MXC_METER_H__
|
|
|
|
|
#define __MXC_METER_H__
|
|
|
|
|
|
|
|
|
|
typedef void (*btn_event_func)(lv_obj_t *obj);
|
|
|
|
|
|
|
|
|
|
#define LV_KEY_Q 113
|
2024-03-07 16:46:43 +08:00
|
|
|
|
#define LV_KEY_W 10
|
2024-03-07 11:03:18 +08:00
|
|
|
|
|
2024-03-19 11:00:34 +08:00
|
|
|
|
/*****************************发电机仪表面板******************************/
|
2024-03-07 11:03:18 +08:00
|
|
|
|
//liulin 2024.3.5 用于发电机项目切换各个界面
|
|
|
|
|
typedef enum _ENUM_CONTROL_WIN_ID_GTOR
|
|
|
|
|
{
|
|
|
|
|
GTOR_MAINUI_WIN_ID,
|
|
|
|
|
GTOR_SUBUI_GTOR_WIN_ID,
|
|
|
|
|
GTOR_SUBUI_ERROR_WIN_ID
|
|
|
|
|
}ENUM_CONTROL_WIN_ID_GTOR;
|
|
|
|
|
|
2024-03-19 11:00:34 +08:00
|
|
|
|
#pragma pack(1)
|
|
|
|
|
//上传实时数据
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
uint16_t mCurrent; //电流大小(放大了64倍)
|
|
|
|
|
uint16_t mVoltage; //电压大小 (放大了64倍)
|
|
|
|
|
int16_t mPercent; //负载百分比(低15位有效)
|
|
|
|
|
uint16_t mEngine_speed; //发动机转速
|
|
|
|
|
uint16_t mInverter_Errcode; //逆变器错误代码
|
|
|
|
|
uint8_t mInverter_Status; //逆变器状态
|
|
|
|
|
uint16_t mInverter_type; //逆变器类型
|
|
|
|
|
uint16_t mInverter_Volt; //逆变器电压
|
|
|
|
|
uint16_t mInverter_Freq; //频率信息 1=50/60Hz 2=50Hz 3=60Hz
|
|
|
|
|
uint16_t mInverter_Custom; //客户信息
|
|
|
|
|
uint16_t mInverter_Software; //软件版本
|
|
|
|
|
uint16_t mInverter_Hardware; //硬件版本
|
|
|
|
|
uint16_t mRelease_Year; //程序发行时间 年
|
|
|
|
|
uint16_t mRelease_Month; //程序发行时间 月(低8位有效)
|
|
|
|
|
uint16_t mRelease_Date; //程序发行时间 日(低8位有效)
|
|
|
|
|
int16_t MCUTemper; //单片机内部温度
|
|
|
|
|
int16_t IGBTTemper; //IGBT温度
|
|
|
|
|
uint16_t DCBusVolt; //直流母线电压
|
|
|
|
|
uint16_t ActualFreq; //当前交流输出实际频率
|
|
|
|
|
uint16_t ReverseDragErrCode; //反拖故障代码
|
|
|
|
|
}DataParse, *pDataParse;
|
|
|
|
|
|
|
|
|
|
//UI显示需要的数据
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
float mPowerValue; //功率值
|
|
|
|
|
float mVoltValue; //电压值
|
|
|
|
|
float mCurrentValue; //电流值
|
|
|
|
|
int mRunTime; //运行时间
|
|
|
|
|
int mLeftTime; //剩余时间
|
|
|
|
|
int mTotalTime; //累计时间
|
|
|
|
|
int mOilValue; //油量值
|
|
|
|
|
uint8_t mBTFlag; //蓝牙标记
|
|
|
|
|
uint8_t mErrFlag; //故障标记
|
|
|
|
|
uint8_t mPowerFlag; //充电状态标记
|
|
|
|
|
uint8_t mFreqValue; //频率显示
|
|
|
|
|
float mPercentValue; //负载百分比
|
|
|
|
|
uint16_t mEngineSpeed; //转速
|
|
|
|
|
uint8_t mFuelType; //燃油类型
|
|
|
|
|
}UIData_t, *pUIData;
|
|
|
|
|
|
|
|
|
|
//控制器上传数据帧结构
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
uint16_t mEngineSpeed; //发动机转速
|
|
|
|
|
uint16_t mVoltAge; //电压
|
|
|
|
|
uint16_t mCurrent; //电流
|
|
|
|
|
uint16_t mPercent; //负载百分比
|
|
|
|
|
uint16_t mErrCode; //故障代码
|
|
|
|
|
uint16_t mStatus; //状态指示
|
|
|
|
|
uint16_t mInverterType; //逆变器类型
|
|
|
|
|
uint16_t mInverterData; //逆变器常规数据
|
|
|
|
|
uint16_t mCylinderTemp; //缸温
|
|
|
|
|
uint16_t mRevDragStartUP; //反拖启动次数
|
|
|
|
|
uint16_t mRevDragErrCode; //反拖故障代码
|
|
|
|
|
}UpLoadData_t, *pUpLoadData;
|
|
|
|
|
|
|
|
|
|
//仪表下发命令或实时数据应答帧结构
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
uint8_t mDownLoadCommand; //下发命令码/固定标记
|
|
|
|
|
uint8_t mInverterStatus; //逆变器命令状态
|
|
|
|
|
uint8_t mStartStopCommand; //启停命令
|
|
|
|
|
}DownLoadData_t, *pDownLoadData;
|
|
|
|
|
|
|
|
|
|
//逆变器故障代码
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
uint8_t mDCBusHigh;
|
|
|
|
|
uint8_t mDCBusLow;
|
|
|
|
|
uint8_t mOutVoltHigh;
|
|
|
|
|
uint8_t mOutVoltLow;
|
|
|
|
|
uint8_t mIGBTTempHigh;
|
|
|
|
|
uint8_t mOutOverCurrent;
|
|
|
|
|
uint8_t mEngineSpeedLoss;
|
|
|
|
|
uint8_t mMCUTempHigh;
|
|
|
|
|
uint8_t mHPeakcurrentProtect;
|
|
|
|
|
uint8_t mReferVoltErr;
|
|
|
|
|
}InverterErr, *pInverterErr;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//逆变器状态指示
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
uint8_t mFreqSwitchingStatus;
|
|
|
|
|
uint8_t mResetSwitchStatus;
|
|
|
|
|
uint8_t mHAndLSpeedSwitchStatus;
|
|
|
|
|
uint8_t mFaultLightStatus;
|
|
|
|
|
uint8_t mWorkLightStatus;
|
|
|
|
|
uint8_t mBattleChargeState;
|
|
|
|
|
uint8_t mFuelType;
|
|
|
|
|
}InverterStatus, *pInverterStatus;
|
|
|
|
|
|
|
|
|
|
//逆变器类型
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
float mPower;
|
|
|
|
|
float mVolt;
|
|
|
|
|
uint8_t mFreq; //1=50/60Hz 2=50Hz 3=60Hz
|
|
|
|
|
char chCustom[10]; //客户信息
|
|
|
|
|
char chSoft[10]; //软件版本号
|
|
|
|
|
char chHard[10]; //硬件版本号
|
|
|
|
|
//stTime_type ReleaseTime; //程序发行时间
|
|
|
|
|
}InverterType, *pInvertertype;
|
|
|
|
|
|
|
|
|
|
//逆变器常规数据
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
int16_t MCUTemper; //单片机内部温度
|
|
|
|
|
int16_t IGBTTemper; //IGBT温度
|
|
|
|
|
uint16_t BusVolt; //直流母线电压
|
|
|
|
|
uint16_t ACFreq; //当前交流输出频率
|
|
|
|
|
}InverterData_t, *pInverterData;
|
|
|
|
|
|
|
|
|
|
//反拖故障代码
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
uint8_t LowVoltProtect; //低压保护
|
|
|
|
|
uint8_t SoftCurrentProtect; //软件电流保护
|
|
|
|
|
uint8_t HardCurrentProtect; //硬件电流保护
|
|
|
|
|
uint8_t LockedRotorProtect; //堵转保护
|
|
|
|
|
uint8_t PeakOvercurrentProtect; //峰值过流保护
|
|
|
|
|
uint8_t TemperFault; //温度故障
|
|
|
|
|
uint8_t IgnitionFailure; //点火失败
|
|
|
|
|
uint8_t OverVoltProtect; //过压保护
|
|
|
|
|
uint8_t OilMalfunction; //机油故障
|
|
|
|
|
}ReverseDragErr, *pReverseDragErr;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//用户数据结构体,最外层结构体
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
UIData_t uiData; //MainUI界面需要的数据
|
|
|
|
|
UpLoadData_t upLoadData; //控制器上传数据
|
|
|
|
|
InverterData_t inverterData; //逆变器常规数据
|
|
|
|
|
}UserData_t, *pUserData;
|
|
|
|
|
|
|
|
|
|
#pragma pack()
|
|
|
|
|
|
|
|
|
|
extern UserData_t g_UserData;
|
|
|
|
|
|
|
|
|
|
//extern UpLoadData_t g_DataFromDrv;
|
|
|
|
|
//extern UIData_t g_DataForMainUI;
|
|
|
|
|
//extern InverterData_t g_InverterData;
|
2024-03-07 11:03:18 +08:00
|
|
|
|
|
2024-03-19 11:00:34 +08:00
|
|
|
|
/*****************************机车仪表面板******************************/
|
2024-03-07 11:03:18 +08:00
|
|
|
|
|
|
|
|
|
typedef enum _ENUM_CONTROL_WIN_ID
|
|
|
|
|
{
|
|
|
|
|
IDLE_CONTROL_WIN_ID, // 0,
|
|
|
|
|
PAGE_MAINMENU_WIN_ID, //
|
|
|
|
|
SUBMENU_SET_THEME,
|
|
|
|
|
SUBMENU_SET_LIGHT, //
|
|
|
|
|
SUBMENU_SET_BLUETOOTH, // 4
|
|
|
|
|
SUBMENU_SET_OTHER,
|
|
|
|
|
SUBMENU_SET_INFORMATION,
|
|
|
|
|
SUBMENU_SET_PRESSURE, //
|
|
|
|
|
SUBMENU_SET_FAULT_CODE, //8
|
|
|
|
|
SUBMENU_THEME_SELECT,
|
|
|
|
|
SUBMENU_THEME_BG,
|
|
|
|
|
SUBMENU_OTHER_TIME,
|
|
|
|
|
SUBMENU_OTHER_LANGUAGE,
|
|
|
|
|
SUBMENU_OTHER_UINT, // 13
|
|
|
|
|
MOTO_WIN_ID_MAX,
|
|
|
|
|
} ENUM_CONTROL_WIN_ID;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
uint8_t engine; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
uint8_t machine_oil; //<2F><><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD>
|
|
|
|
|
uint8_t abs; //abs<62><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
uint8_t tcs; //tcsǣ<73><C7A3><EFBFBD><EFBFBD>ϵͳ
|
|
|
|
|
uint8_t fan; //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
uint8_t null; //<2F>յ<EFBFBD>
|
|
|
|
|
}warning_t;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
uint16_t ucYear;
|
|
|
|
|
uint8_t ucMonth;
|
|
|
|
|
uint8_t ucDate;
|
|
|
|
|
uint8_t ucHour;
|
|
|
|
|
uint8_t ucMinute;
|
|
|
|
|
uint8_t ucSecond;
|
|
|
|
|
}stTime_type;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
uint8_t factory_reset; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
uint8_t language; //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
uint8_t display_uint; //<2F><>λ
|
|
|
|
|
uint8_t theme; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|
|
|
|
uint8_t theme_state; //<2F><><EFBFBD><EFBFBD>״̬
|
|
|
|
|
uint8_t light_value; //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
uint8_t bt_on_off; //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
uint8_t bt_state; //״̬
|
|
|
|
|
|
|
|
|
|
}save_info_t;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
uint8_t softwar_host; //<2F><><EFBFBD>汾<EFBFBD><E6B1BE>
|
|
|
|
|
uint8_t softwar_order; //<2F>ΰ汾<CEB0><E6B1BE>
|
|
|
|
|
|
|
|
|
|
uint8_t ui_page_id;
|
|
|
|
|
|
|
|
|
|
//time
|
|
|
|
|
stTime_type time;
|
|
|
|
|
|
|
|
|
|
save_info_t save_info;
|
|
|
|
|
|
|
|
|
|
uint8_t veer; //ת<><D7AA>
|
|
|
|
|
uint8_t veer_hint; //ת<><D7AA><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
|
|
|
|
|
uint8_t lamplight; //<2F>ƹ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
uint8_t power_on_self_test; //<2F><><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
uint8_t light_perception_value; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
uint8_t light; //<2F><><EFBFBD><EFBFBD><EFBFBD>light_valueֵ
|
|
|
|
|
|
|
|
|
|
uint8_t return_demo;
|
|
|
|
|
|
|
|
|
|
uint16_t velocity; //<2F>ٶ<EFBFBD>
|
|
|
|
|
uint16_t veer_velocity; //ת<><D7AA>
|
|
|
|
|
uint8_t grade; //<2F><>λ
|
|
|
|
|
uint8_t oil; //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
uint8_t temp; //<2F>¶<EFBFBD>
|
|
|
|
|
double trip_mileage; //С<><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
uint32_t total_mileage; //<2F>ܼ<EFBFBD><DCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
double voltage; //<2F><>ص<EFBFBD>ѹ
|
|
|
|
|
warning_t warning; //<2F><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
|
|
|
|
|
uint16_t max_velocity; //<2F><><EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
uint16_t verage_velocity; //ƽ<><C6BD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
|
|
|
|
|
char uuid[32];
|
|
|
|
|
char bt_name[32];
|
|
|
|
|
uint32_t now_defect_code; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
uint32_t his_defect_code; //<2F><>ʷ<EFBFBD><CAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
uint8_t ttrb; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>ȡ<EFBFBD><C8A1>ʱ<EFBFBD><CAB1>ı<EFBFBD>־
|
|
|
|
|
uint8_t ttrb_time; //<2F><>ʩʱ<CAA9><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ı<EFBFBD>־
|
|
|
|
|
uint8_t odo_reset; //С<><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ı<EFBFBD>־
|
|
|
|
|
uint8_t demo_position; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD>demoչʾ<D5B9><CABE><EFBFBD><EFBFBD>ı<EFBFBD>־
|
|
|
|
|
uint16_t plan; //<2F><><EFBFBD><EFBFBD><EFBFBD>ܽ<EFBFBD><DCBD>ȱ<EFBFBD>־
|
|
|
|
|
uint16_t pace; //<2F><><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD>ȱ<EFBFBD>־
|
|
|
|
|
uint8_t upgrade; //<2F><><EFBFBD><EFBFBD><EFBFBD>ڴ濽<DAB4><E6BFBD><EFBFBD><EFBFBD>־
|
|
|
|
|
|
|
|
|
|
}daily_data_t;
|
|
|
|
|
|
|
|
|
|
extern daily_data_t custom_data;
|
|
|
|
|
|
|
|
|
|
daily_data_t *daily_get_UiData(void);
|
|
|
|
|
ENUM_CONTROL_WIN_ID get_top_history_win(void);
|
|
|
|
|
void Set_UI_page_id(ENUM_CONTROL_WIN_ID id);
|
|
|
|
|
void system_date_init(void);
|
|
|
|
|
void updateCurTime();
|
|
|
|
|
stTime_type * getCurrentTime();
|
|
|
|
|
daily_data_t* GetDailyData(void);
|
|
|
|
|
char * GetCurTimeString();
|
|
|
|
|
|
|
|
|
|
#endif
|