2019-03-31 19:13:06 +02:00
|
|
|
#ifndef _TIMESYNC_H
|
|
|
|
#define _TIMESYNC_H
|
2019-03-09 00:53:11 +01:00
|
|
|
|
2019-03-12 23:50:02 +01:00
|
|
|
#include <chrono>
|
2019-03-09 00:53:11 +01:00
|
|
|
#include "globals.h"
|
2019-03-31 19:13:06 +02:00
|
|
|
#include "irqhandler.h"
|
2019-03-09 00:53:11 +01:00
|
|
|
#include "timekeeper.h"
|
|
|
|
|
2019-03-24 16:16:58 +01:00
|
|
|
//#define TIME_SYNC_TRIGGER 100 // threshold for time sync [milliseconds]
|
2019-04-06 16:43:12 +02:00
|
|
|
#define TIME_SYNC_FRAME_LENGTH 0x05 // timeserver answer frame length [bytes]
|
2019-03-24 16:16:58 +01:00
|
|
|
#define TIME_SYNC_FIXUP 6 // calibration to fixup processing time [milliseconds]
|
2019-03-09 00:53:11 +01:00
|
|
|
|
2019-04-07 16:13:04 +02:00
|
|
|
void timesync_init(void);
|
2019-03-12 23:50:02 +01:00
|
|
|
void send_timesync_req(void);
|
2019-04-06 16:43:12 +02:00
|
|
|
int recv_timesync_ans(uint8_t seq_no, uint8_t buf[], uint8_t buf_len);
|
2019-03-12 23:50:02 +01:00
|
|
|
void process_timesync_req(void *taskparameter);
|
2019-03-16 21:01:43 +01:00
|
|
|
void store_time_sync_req(uint32_t t_millisec);
|
2019-03-31 15:32:22 +02:00
|
|
|
void IRAM_ATTR setMyTime(uint32_t t_sec, uint16_t t_msec);
|
2019-03-09 00:53:11 +01:00
|
|
|
|
|
|
|
#endif
|