Skip to content

Commit

Permalink
[uxrce_dds_client] wait for Timesync to converge
Browse files Browse the repository at this point in the history
Signed-off-by: Beniamino Pozzan <[email protected]>
  • Loading branch information
beniaminopozzan authored and dagar committed Nov 28, 2023
1 parent f01400d commit 2363c03
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 9 deletions.
14 changes: 7 additions & 7 deletions src/lib/timesync/Timesync.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -106,13 +106,6 @@ class Timesync

int64_t offset() const { return (int64_t)_time_offset; }

private:

/**
* Online exponential filter to smooth time offset
*/
void add_sample(int64_t offset_us);

/**
* Return true if the timesync algorithm converged to a good estimate,
* return false otherwise
Expand All @@ -124,6 +117,13 @@ class Timesync
*/
void reset_filter();


private:

/**
* Online exponential filter to smooth time offset
*/
void add_sample(int64_t offset_us);
uORB::PublicationMulti<timesync_status_s> _timesync_status_pub{ORB_ID(timesync_status)};

uint32_t _sequence{0};
Expand Down
5 changes: 3 additions & 2 deletions src/modules/uxrce_dds_client/uxrce_dds_client.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -441,7 +441,7 @@ void UxrceddsClient::run()

// Spin until sync with the Agent
while (_synchronize_timestamps) {
if (uxr_sync_session(&session, 1000)) {
if (uxr_sync_session(&session, 1000) && _timesync.sync_converged()) {
PX4_INFO("synchronized with time offset %-5" PRId64 "us", session.time_offset / 1000);

if (_param_uxrce_dds_syncc.get() > 0) {
Expand Down Expand Up @@ -505,7 +505,7 @@ void UxrceddsClient::run()

// time sync session
if (_synchronize_timestamps && hrt_elapsed_time(&last_sync_session) > 1_s) {
if (uxr_sync_session(&session, 100)) {
if (uxr_sync_session(&session, 100) && _timesync.sync_converged()) {
//PX4_INFO("synchronized with time offset %-5" PRId64 "ns", session.time_offset);
last_sync_session = hrt_absolute_time();

Expand Down Expand Up @@ -563,6 +563,7 @@ void UxrceddsClient::run()
_last_payload_tx_rate = 0;
_last_payload_tx_rate = 0;
_subs->reset();
_timesync.reset_filter();
}
}

Expand Down

0 comments on commit 2363c03

Please sign in to comment.