[200~A36新界面以及全部修改后的界面代码和数据结构体,界面有动画效果

This commit is contained in:
liulin
2024-04-18 09:50:14 +08:00
parent 3401b91efc
commit dd46bd3fa1
25 changed files with 68920 additions and 86 deletions

View File

@ -3,6 +3,9 @@
#include "mxc_meter.h"
#include "moto_list.h"
#define _EMOTO_ // 宏开关
#define _OMOTO_
Local_UiCommon_t local_UiCommon = {0};
daily_data_t custom_data;
@ -122,8 +125,217 @@ void app_menu_comm_entry(lv_obj_t * obj, ENUM_CONTROL_WIN_ID win_id, bool regis
// }
}
#if 0
SysData_t UserData;
void SystemDate_Init(void)
{
UserData.mSoftMainVersion = 0; //主版本号
UserData.mSoftSubVersion = 0; //次版本号
//uint8_t bt_name[BT_NAME_MAX_LEN];
UserData.mSetMode = 0; //高字节 SET 1 为短按 2为长按 低字节 MODE 1 为短按 2为长按
UserData.mSpeed = 0; //速度信息
UserData.mGearInfo = 0; //档位信息
UserData.mTotalMile = 0; //总计里程
UserData.mTripMile = 0; //单次行驶里程
UserData.mMileClearTags = 0; //小计里程清零标志
UserData.mWifi = 0; //WIFI
UserData.mBlueTooth = 0; //蓝牙
UserData.mTurn = 0; //转向 0-无 1-左转 2-右转
UserData.mTurnPrompt = 0; //转向提示 0无 1左 2右
UserData.mTurnLight = 0; //转向灯 0-无 1-左转向灯 2-右转向灯
UserData.mBeamLight = 0; //灯光 0-无灯光 1-远光 2-近光 3-自动大灯
UserData.mSideMarkerLight = 0; //示宽灯 0-无灯光 1-示宽灯
UserData.mFanLight = 0; //风扇灯 0-无灯光 1-灯亮
UserData.mABSLight = 0; //0-无灯光 1-灯亮
UserData.mOilPressLight = 0; //机油压力报警灯 0-无灯光 1-灯亮
UserData.mEngineLight = 0; //0-无灯光 1-灯亮
UserData.mRefreshTags = 0; //0-无刷新 1-油量/水温/电池电压刷新标志
UserData.mLightValue = 0; //灯光亮度,具体的light_value值
UserData.mSelfCheck = 0; //开机自检
UserData.mLightSensingVolt = 0; //光感电压值 暂定范围0-3300
UserData.return_demo = 0; //????
memcpy(&UserData.mUuid, 0, 32*sizeof(char));
memcpy(&UserData.mBT_name, 0, 32*sizeof(char));
//UserData.mUuid[32] = {0};
//UserData.mBT_name[32] = {0};
UserData.mCurrentFaultCode = 0; //当前故障码
UserData.mHistoryFaultCode = 0; //历史故障码
UserData.mBTData_Inherit = 0; //继承的蓝牙数据(保留)
UserData.mTtrb = 0; //开机检测是否获取到时间的标志
UserData.mTtrb_Time = 0; //设施时间后检测是否正常设置时间的标志
UserData.mOdo_Reset = 0; //小计里程清零后检测是否正常设置时间的标志
UserData.mDemo_Position = 0; //是否在demo展示界面的标志
//告警错误
UserData.mErr.mEngine = 0;
UserData.mErr.mEngineOil = 0;
UserData.mErr.mAbs = 0;
UserData.mErr.mTcs = 0;
UserData.mErr.mFan = 0;
UserData.mErr.mNeutralGear = 0;
UserData.mErr.mWaterTemper = 0;
UserData.mErr.mBrakesFault = 0;
//保存数据
UserData.mSaveData.mFactorySet = 0; //出厂设置
UserData.mSaveData.mLanguage = 0; //语言
UserData.mSaveData.mDisplayUint = 0; //单位
UserData.mSaveData.mTheme = 0; //当前主题
UserData.mSaveData.mThemeState = 0; //主题状态
UserData.mSaveData.mLightValue = 0; //亮度
UserData.mSaveData.mBT_OnOff = 0; //蓝牙
UserData.mSaveData.mBT_State = 0; //状态
UserData.mSaveData.mGearPos = 0; //档位
UserData.mSaveData.mFuel = 0; //油量
UserData.mSaveData.mTotalMile = 0; //里程数
//时间变量
UserData.mTime.ucYear = 0;
UserData.mTime.ucMonth = 0;
UserData.mTime.ucDate = 0;
UserData.mTime.ucHour = 0;
UserData.mTime.ucMinute = 0;
UserData.mTime.ucSecond = 0;
UserData.mPlan = 0; //总进度标志
UserData.mPace = 0; //分进度标志
UserData.mUpGrade = 0; //内存拷贝标志
//电摩专用属性
#ifdef _EMOTO_
UserData.mBatteryRatio = 0; //电池电量占比 1个字节eg100% 传输64
UserData.mBatteryVoltage = 0; //电池电压 eg3.3V 传输3300
#endif
//油摩专用属性
#ifdef _OMOTO_
UserData.mEspeed = 0; //转速信息
UserData.mFuel = 0; //油量指示
UserData.mWaterTemper = 0; //水温指示
UserData.mAccumulatorVolt = 0; //电瓶电压
#endif
}
void updateCurTime()
{
struct tm
{
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
};
struct tm CurTime={0};
_getsystime(&CurTime);
/*
custom_data.time.ucDate = CurTime.tm_mday;
custom_data.time.ucYear = CurTime.tm_year;
custom_data.time.ucMonth = CurTime.tm_mon;
custom_data.time.ucHour = CurTime.tm_hour;
custom_data.time.ucMinute = CurTime.tm_min;
custom_data.time.ucSecond = CurTime.tm_sec;
*/
UserData.mTime.ucDate = CurTime.tm_mday;
UserData.mTime.ucYear = CurTime.tm_mday;
UserData.mTime.ucMonth = CurTime.tm_mday;
UserData.mTime.ucHour = CurTime.tm_mday;
UserData.mTime.ucMinute = CurTime.tm_mday;
UserData.mTime.ucSecond = CurTime.tm_mday;
}
STime_t* getCurrentTime1()
{
updateCurTime();
return &(UserData.mTime);
}
SysData_t* GetDailyData1(void)
{
return &UserData;
}
const char digitalArray[10] = "0123456789";
static char StrCurTime[6] = {0};
extern STime_t * getCurrentTime1();
char * GetCurTimeString()
{
updateCurTime();
StrCurTime[0] = digitalArray[UserData.mTime.ucHour/10];
StrCurTime[1] = digitalArray[UserData.mTime.ucHour%10];
StrCurTime[2] =':';
StrCurTime[3] = digitalArray[UserData.mTime.ucMinute/10];
StrCurTime[4] = digitalArray[UserData.mTime.ucMinute%10];
return StrCurTime;
}
#define DEF_DATE_YEAR 2024
#define DEF_DATE_MONTH 1
#define DEF_DATE_DAY 1
void InitSysDateTime(void)
{
GetSysDateTime(DEF_DATE_YEAR, DEF_DATE_MONTH, DEF_DATE_DAY);
}
void GetSysDateTime(uint16_t year, uint8_t month, uint8_t day)
{
UserData.mTime.ucYear = year;
UserData.mTime.ucMonth = month;
UserData.mTime.ucDate = day;
UserData.mTime.ucHour = 0;
UserData.mTime.ucMinute = 0;
UserData.mTime.ucSecond = 0;
}
void UpdateSysTime(void)
{
bool time_12_is_am=false;
if(++UserData.mTime.ucSecond>=60)
{
UserData.mTime.ucSecond = 0;
if(++UserData.mTime.ucMinute>=60)
{
UserData.mTime.ucMinute = 0;
if(++UserData.mTime.ucHour>=12)
{
if(time_12_is_am)
{
UserData.mTime.ucDate++;
time_12_is_am=0;
}else{
time_12_is_am=1;
}
UserData.mTime.ucHour = 0;
}
}
}
//UpdatePace();
printf("%04d-%d%d-%d%d %d%d:%d%d.%d%d\n",
UserData.mTime.ucYear, UserData.mTime.ucMonth/10, UserData.mTime.ucMonth%10,
UserData.mTime.ucDate/10, UserData.mTime.ucDate%10,
UserData.mTime.ucHour/10, UserData.mTime.ucHour%10,
UserData.mTime.ucMinute/10, UserData.mTime.ucMinute%10,
UserData.mTime.ucSecond/10, UserData.mTime.ucSecond%10);
}
#else if
//<2F><><EFBFBD>ݳ<EFBFBD>ʼ<EFBFBD><CABC>
void system_date_init(void){
void system_date_init(void)
{
custom_data.softwar_host = 0;
custom_data.softwar_order = 1;
@ -165,12 +377,9 @@ void system_date_init(void){
custom_data.warning.fan = 0;
custom_data.warning.null = 0;
custom_data.now_defect_code = 0x2255;
custom_data.his_defect_code = 0x400;
custom_data.ttrb = 0;
custom_data.ttrb_time = 10;
custom_data.odo_reset = 10;
@ -182,7 +391,8 @@ void system_date_init(void){
}
void updateCurTime(){
void updateCurTime()
{
struct tm {
int tm_sec;
int tm_min;
@ -205,7 +415,8 @@ void updateCurTime(){
custom_data.time.ucSecond = CurTime.tm_sec;
}
stTime_type * getCurrentTime(){
stTime_type * getCurrentTime()
{
updateCurTime();
return &(custom_data.time);
@ -219,7 +430,9 @@ daily_data_t* GetDailyData(void)
const char digitalArray[10] = "0123456789";
static char sCurTime[6] = {0};
extern stTime_type * getCurrentTime();
char * GetCurTimeString(){
char * GetCurTimeString()
{
updateCurTime();
sCurTime[0] = digitalArray[custom_data.time.ucHour/10];
sCurTime[1] = digitalArray[custom_data.time.ucHour%10];
@ -230,8 +443,8 @@ char * GetCurTimeString(){
}
#define DEF_DATE_YEAR 2024
#define DEF_DATE_MONTH 2
#define DEF_DATE_DAY 3
#define DEF_DATE_MONTH 2
#define DEF_DATE_DAY 3
void InitSysDateTime(void)
{
@ -280,5 +493,7 @@ void UpdateSysTime(void)
custom_data.time.ucSecond/10,custom_data.time.ucSecond%10);
}
#endif