Minor refactoring.

This commit is contained in:
2024-04-07 01:14:17 +02:00
parent eb4341e05b
commit b584cc03bd
2 changed files with 97 additions and 86 deletions

View File

@@ -30,22 +30,7 @@ class TimeManager
#define NTP_MAX_UPDATE_TIME_US (500 * 1000) // 500ms max update time
public:
bool ntp_sync_successful(void) const; // was there a NTP sync once?
bool ntp_update_failed_prolonged(void); // indicates if maximum time since last NTP update was too long
NtpUpdateState ntp_time_update();
struct tm time_info(void);
TimeManagerState tm_state(void) const;
void increment_time_now_local(void);
void log_time() const; // log _time_info
void log_time(struct tm time_info) const; // log argument time_info
int tm_min(void);
int tm_hour(void);
int tm_day(void);
int tm_mon(void);
int tm_year(void);
bool tm_isdst(void); // true if summertime
// constructor
TimeManager(const char *tz,
const char *ntp_server,
uint32 ntp_update_period_s,
@@ -53,9 +38,35 @@ public:
uint32 ntp_max_offline_time_s,
UDPLogger *logger);
// ntp methods
bool ntp_sync_successful(void) const; // was there a NTP sync once?
bool ntp_update_failed_prolonged(void); // indicates if maximum time since last NTP update was too long
NtpUpdateState ntp_time_update(); // main NTP time update method, called in loop
// ISR method
void increment_time_now_local(void); // should be called by timer ISR
// getter for time values
bool tm_isdst(void); // true if summertime
int tm_day(void);
int tm_hour(void);
int tm_min(void);
int tm_mon(void);
int tm_year(void);
struct tm time_info(void);
// getter
TimeManagerState tm_state(void) const; // get current state
// logging
void log_time() const; // log _time_info
void log_time(struct tm time_info) const; // log argument time_info
private:
void _set_up_ntp(void); // set up NTP server
void _set_up_timer_isr(void); // set up timer interrupt
// setup methods
void _set_up_ntp(void); // set up NTP server
void _set_up_timer_isr(void); // set up timer interrupt
const char *_tz; // timezone
const char *_ntp_server; // ntp server address
UDPLogger *_logger; // logger instance