timesync(experimental)
This commit is contained in:
1 parent
c64f087faa
commit
7ab0d8fcd6
4 files changed
+94
-86
No files matched your search
+9
-10
@@ -5,15 +5,14 @@
|
||||
#include "timesync.h"
|
||||
#include "timekeeper.h"
|
||||
|
||||
#define TIME_SYNC_SAMPLES 3 // number of time requests for averaging
|
||||
#define TIME_SYNC_CYCLE 20 // seconds between two time requests
|
||||
#define TIME_SYNC_TIMEOUT 180 // timeout seconds waiting for timeserver answer
|
||||
#define TIME_SYNC_THRESHOLD \
|
||||
1.0f // time deviation threshold triggering time sync
|
||||
#define TIME_SYNC_START_OPCODE 0x90 // start time sync on node
|
||||
#define TIME_SYNC_STOP_OPCODE 0x91 // stop time sync on node
|
||||
#define TIME_SYNC_REQ_OPCODE 0x92 // node request at timeserver
|
||||
#define TIME_SYNC_ANS_OPCODE 0x93 // timeserver answer to node
|
||||
#define TIME_SYNC_SAMPLES 1 // number of time requests for averaging
|
||||
#define TIME_SYNC_CYCLE 60 // seconds between two time requests
|
||||
#define TIME_SYNC_TIMEOUT 120 // timeout seconds waiting for timeserver answer
|
||||
#define TIME_SYNC_TRIGGER 1.0f // time deviation threshold triggering time sync
|
||||
#define TIME_SYNC_START_OPCODE 0x90 // start time sync (server -> node)
|
||||
#define TIME_SYNC_STEP_OPCODE 0x91 // step to next sync request (node -> server)
|
||||
#define TIME_SYNC_REQ_OPCODE 0x92 // node request at timeserver (node -> server)
|
||||
#define TIME_SYNC_ANS_OPCODE 0x93 // timeserver answer to node (server -> node)
|
||||
|
||||
typedef struct {
|
||||
uint32_t seconds;
|
||||
@@ -22,11 +21,11 @@ typedef struct {
|
||||
|
||||
extern time_sync_message_t time_sync_messages[], time_sync_answers[];
|
||||
extern uint8_t time_sync_seqNo;
|
||||
extern bool time_sync_pending;
|
||||
|
||||
void send_Servertime_req(void);
|
||||
void recv_Servertime_ans(uint8_t val[]);
|
||||
void process_Servertime_sync_req(void *taskparameter);
|
||||
void process_Servertime_sync_ans(void *taskparameter);
|
||||
void force_Servertime_sync(uint8_t val[]);
|
||||
void store_time_sync_req(time_t secs, uint32_t micros);
|
||||
|
||||
|
||||
Reference in new issue
Block a user