GeekTrack/2.Firmware/components/GeekOS/Common/DataProc/DP_Clock.cpp

84 lines
1.8 KiB
C++
Raw Normal View History

2022-09-18 18:40:49 +08:00
#include "DataProc.h"
#include "System/HAL/HAL.h"
#include "lvgl.h"
uint32_t DataProc::GetTick()
{
return lv_tick_get();
}
uint32_t DataProc::GetTickElaps(uint32_t prevTick)
{
return lv_tick_elaps(prevTick);
}
const char* DataProc::MakeTimeString(uint64_t ms, char* buf, uint16_t len)
{
uint64_t ss = ms / 1000;
uint64_t mm = ss / 60;
uint32_t hh = (uint32_t)(mm / 60);
lv_snprintf(
buf, len,
"%d:%02d:%02d",
hh,
(uint32_t)(mm % 60),
(uint32_t)(ss % 60)
);
return buf;
}
// static bool Clock_Calibrate(Account* account, GPS_Info_t* gpsInfo)
// {
// bool retval = false;
// if(gpsInfo->isVaild)
// {
// Clock_Info_t clock;
// if (account->Pull("TzConv", &clock, sizeof(clock)) == Account::RES_OK)
// {
// Clock_SetInfo(&clock);
// retval = true;
// }
// }
// return retval;
// }
// static int onEvent(Account* account, Account::EventParam_t* param)
// {
// if (param->event == Account::EVENT_PUB_PUBLISH)
// {
// if (param->size == sizeof(GPS_Info_t))
// {
// if (Clock_Calibrate(account, (GPS_Info_t*)param->data_p))
// {
// account->Unsubscribe("GPS");
// }
// }
// return Account::RES_OK;
// }
// if (param->event != Account::EVENT_SUB_PULL)
// {
// return Account::RES_UNSUPPORTED_REQUEST;
// }
// if (param->size != sizeof(Clock_Info_t))
// {
// return Account::RES_SIZE_MISMATCH;
// }
// // Clock_Info_t* info = (Clock_Info_t*)param->data_p;
// // Clock_GetInfo(info);
// return Account::RES_OK;
// }
DATA_PROC_INIT_DEF(Clock)
{
// account->Subscribe("TzConv");
// account->Subscribe("GPS");
// account->SetEventCallback(onEvent);
}