github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/asluav/message_timesync.go (about) 1 //autogenerated:yes 2 //nolint:revive,misspell,govet,lll 3 package asluav 4 5 import ( 6 "github.com/bluenviron/gomavlib/v2/pkg/dialects/common" 7 ) 8 9 // Time synchronization message. 10 // The message is used for both timesync requests and responses. 11 // The request is sent with `ts1=syncing component timestamp` and `tc1=0`, and may be broadcast or targeted to a specific system/component. 12 // The response is sent with `ts1=syncing component timestamp` (mirror back unchanged), and `tc1=responding component timestamp`, with the `target_system` and `target_component` set to ids of the original request. 13 // Systems can determine if they are receiving a request or response based on the value of `tc`. 14 // If the response has `target_system==target_component==0` the remote system has not been updated to use the component IDs and cannot reliably timesync; the requestor may report an error. 15 // Timestamps are UNIX Epoch time or time since system boot in nanoseconds (the timestamp format can be inferred by checking for the magnitude of the number; generally it doesn't matter as only the offset is used). 16 // The message sequence is repeated numerous times with results being filtered/averaged to estimate the offset. 17 type MessageTimesync = common.MessageTimesync