mcu_hi3321_watch/tjd/ui/app/sleep/TjdUiAppSleepModel.h
2025-05-26 20:15:20 +08:00

45 lines
1.5 KiB
C++

#ifndef TJDUI_APP_SLEEP_MODEL_H
#define TJDUI_APP_SLEEP_MODEL_H
#include <string>
#include "sql_fit.h"
#include <string>
namespace TJD {
class TjdUiAppSleepModel
{
public:
TjdUiAppSleepModel() {}
~TjdUiAppSleepModel() {}
static TjdUiAppSleepModel &GetInstance(void);
void LoadSleepData(void);
std::string GenerateTimeString(int minutes);
uint16_t GetTotalSleepTime(void) { return totalSleepTime; }
uint16_t GetDeepSleepTime(void) { return deepSleepTime; }
uint16_t GetLightSleepTime(void) { return lightSleepTime; }
uint16_t *GetDeepSleepTimeArray(void) { return deepSleepTimeArray; }
uint16_t *GetBlinkSleepTimeArray(void) { return blinkSleepTimeArray; }
uint16_t *GetWakeupSleepTimeArray(void) { return wakeupSleepTimeArray; }
uint16_t *GetLightSleepTimeArray(void) { return lightSleepTimeArray; }
uint16_t *GetTotalSleepTimeArray(void) { return totalSleepTimeArray; }
uint16_t GetBlinkTime(void) { return blinkTime; }
uint16_t GetWakeupTime(void) { return wakeupTime; }
uint8_t GetWeekDay(void);
private:
uint16_t totalSleepTime;
uint16_t blinkTime;
uint16_t wakeupTime;
uint16_t deepSleepTime; // min
uint16_t lightSleepTime;
uint16_t blinkSleepTimeArray[7]{0};
uint16_t wakeupSleepTimeArray[7]{0};
uint16_t deepSleepTimeArray[7]{0};
uint16_t lightSleepTimeArray[7]{0};
uint16_t totalSleepTimeArray[7]{0};
};
} // namespace TJD
#endif