timesync fixes
This commit is contained in:
parent
cc13a38e56
commit
3b3b2810cb
@ -239,9 +239,9 @@ void onEvent(ev_t ev) {
|
||||
sprintf(display_line6, " "); // clear previous lmic status
|
||||
|
||||
if (LMIC.dataLen) { // did we receive data -> display info
|
||||
ESP_LOGI(TAG, "Received %d bytes of payload, RSSI -%d SNR %d",
|
||||
ESP_LOGI(TAG, "Received %d bytes of payload, RSSI %d SNR %d",
|
||||
LMIC.dataLen, LMIC.rssi, LMIC.snr / 4);
|
||||
sprintf(display_line6, "RSSI -%d SNR %d", LMIC.rssi, LMIC.snr / 4);
|
||||
sprintf(display_line6, "RSSI %d SNR %d", LMIC.rssi, LMIC.snr / 4);
|
||||
|
||||
if (LMIC.txrxFlags & TXRX_PORT) { // FPort -> use to switch
|
||||
switch (LMIC.frame[LMIC.dataBeg - 1]) {
|
||||
|
@ -25,7 +25,7 @@ typedef std::chrono::system_clock myClock;
|
||||
typedef myClock::time_point myClock_timepoint;
|
||||
typedef std::chrono::duration<long long int, std::ratio<1, 1000>>
|
||||
myClock_msecTick;
|
||||
// 32bit millisec resolution from epoch until year 2038
|
||||
|
||||
myClock_timepoint time_sync_tx[TIME_SYNC_SAMPLES];
|
||||
myClock_timepoint time_sync_rx[TIME_SYNC_SAMPLES];
|
||||
|
||||
@ -76,7 +76,7 @@ void recv_timesync_ans(uint8_t buf[], uint8_t buf_len) {
|
||||
time_sync_rx[k] += std::chrono::seconds(timestamp_sec) +
|
||||
std::chrono::milliseconds(timestamp_msec);
|
||||
|
||||
ESP_LOGD(TAG, "Timesync answer #%d rcvd at %d", seq_no,
|
||||
ESP_LOGD(TAG, "Timesync request #%d rcvd at %d", seq_no,
|
||||
myClock::to_time_t(time_sync_rx[k]));
|
||||
|
||||
// inform processing task
|
||||
@ -116,13 +116,13 @@ void process_timesync_req(void *taskparameter) {
|
||||
k = seq_no % TIME_SYNC_SAMPLES;
|
||||
|
||||
auto t_tx = std::chrono::time_point_cast<std::chrono::milliseconds>(
|
||||
time_sync_tx[k]); // timepoint node after TX_completed
|
||||
time_sync_tx[k]); // timepoint when node TX_completed
|
||||
auto t_rx = std::chrono::time_point_cast<std::chrono::milliseconds>(
|
||||
time_sync_rx[k]); // timepoint when message was seen on gateway
|
||||
|
||||
time_offset += t_rx - t_tx;
|
||||
time_offset += t_rx - t_tx; // cumulate timepoint diffs
|
||||
|
||||
if (i < TIME_SYNC_SAMPLES - 1)
|
||||
if (i < TIME_SYNC_SAMPLES - 1) // wait until next cycle
|
||||
vTaskDelay(pdMS_TO_TICKS(TIME_SYNC_CYCLE * 1000));
|
||||
}
|
||||
} // for
|
||||
|
Loading…
Reference in New Issue
Block a user