MXC-A36-LVGL/fr3092_lvglcode/lv_user_code/include/mxc_meter.h

225 lines
7.3 KiB
C
Raw Permalink Normal View History

2024-04-18 10:26:43 +08:00
#ifndef __MXC_METER_H__
#define __MXC_METER_H__
typedef void (*btn_event_func)(lv_obj_t *obj);
#define LV_KEY_Q 113
#define LV_KEY_W 10
#define _EMOTO_ // 宏开关
#define _OMOTO_
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;
#if 0
//A27项目界面所需结构体
typedef struct
{
uint16_t ucYear;
uint8_t ucMonth;
uint8_t ucDate;
uint8_t ucHour;
uint8_t ucMinute;
uint8_t ucSecond;
}STime_t, *pSTime;
typedef struct
{
uint8_t mEngine; //发动机故障
uint8_t mEngineOil; //机油报警
uint8_t mAbs; //abs防抱死
uint8_t mTcs; //tcs牵引力系统
uint8_t mFan; //风扇
uint8_t mNeutralGear; //空挡
uint8_t mWaterTemper; //水温故障
uint8_t mBrakesFault; //刹车故障
}Error_t, *pError;
typedef struct
{
uint8_t mFactorySet; //出厂设置
uint8_t mLanguage; //语言
uint8_t mDisplayUint; //单位
uint8_t mTheme; //当前主题
uint8_t mThemeState; //主题状态
uint8_t mLightValue; //亮度
uint8_t mBT_OnOff; //蓝牙
uint8_t mBT_State; //状态
uint8_t mGearPos; //档位
uint16_t mFuel; //油量
uint32_t mTotalMile; //里程数
}SaveData_t, *pSaveData;
typedef struct
{
uint8_t mSoftMainVersion; //主版本号
uint8_t mSoftSubVersion; //次版本号
//uint8_t bt_name[BT_NAME_MAX_LEN];
uint8_t mSetMode; //高字节 SET 1 为短按 2为长按 低字节 MODE 1 为短按 2为长按
uint16_t mSpeed; //速度信息
uint8_t mGearInfo; //档位信息
uint32_t mTotalMile; //总计里程
uint32_t mTripMile; //单次行驶里程
uint8_t mMileClearTags; //小计里程清零标志
uint8_t mWifi; //WIFI
uint8_t mBlueTooth; //蓝牙
uint8_t mTurn; //转向 0-无 1-左转 2-右转
uint8_t mTurnPrompt; //转向提示 0无 1左 2右
uint8_t mTurnLight; //转向灯 0-无 1-左转向灯 2-右转向灯
uint8_t mBeamLight; //灯光 0-无灯光 1-远光 2-近光 3-自动大灯
uint8_t mSideMarkerLight; //示宽灯 0-无灯光 1-示宽灯
uint8_t mFanLight; //风扇灯 0-无灯光 1-灯亮
uint8_t mABSLight; //0-无灯光 1-灯亮
uint8_t mOilPressLight; //机油压力报警灯 0-无灯光 1-灯亮
uint8_t mEngineLight; //0-无灯光 1-灯亮
uint8_t mRefreshTags; //0-无刷新 1-油量/水温/电池电压刷新标志
uint8_t mLightValue; //灯光亮度,具体的light_value值
uint8_t mSelfCheck; //开机自检
uint8_t mLightSensingVolt; //光感电压值 暂定范围0-3300
uint8_t return_demo; //????
char mUuid[32];
char mBT_name[32];
uint16_t mCurrentFaultCode; //当前故障码
uint16_t mHistoryFaultCode; //历史故障码
uint8_t mBTData_Inherit; //继承的蓝牙数据(保留)
uint8_t mTtrb; //开机检测是否获取到时间的标志
uint8_t mTtrb_Time; //设施时间后检测是否正常设置时间的标志
uint8_t mOdo_Reset; //小计里程清零后检测是否正常设置时间的标志
uint8_t mDemo_Position; //是否在demo展示界面的标志
Error_t mErr; //告警错误
SaveData_t mSaveData; //保存数据
STime_t mTime; //时间变量
uint16_t mPlan; //总进度标志
uint16_t mPace; //分进度标志
uint8_t mUpGrade; //内存拷贝标志
//电摩专用属性
#ifdef _EMOTO_
uint8_t mBatteryRatio; //电池电量占比 1个字节eg100% 传输64
uint8_t mBatteryVoltage; //电池电压 eg3.3V 传输3300
#endif
//油摩专用属性
#ifdef _OMOTO_
uint8_t mEspeed; //转速信息
uint8_t mFuel; //油量指示
uint8_t mWaterTemper; //水温指示
uint8_t mAccumulatorVolt; //电瓶电压
#endif
}SysData_t, *pSysData;
extern SysData_t UserData;
STime_t* getCurrentTime1();
SysData_t* GetDailyData1(void);
void SystemDate_Init(void);
#endif
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