diff --git a/msg/CMakeLists.txt b/msg/CMakeLists.txt index a0eb898586..b23e8d64a8 100644 --- a/msg/CMakeLists.txt +++ b/msg/CMakeLists.txt @@ -101,6 +101,8 @@ set(msg_file_names transponder_report.msg uavcan_parameter_request.msg uavcan_parameter_value.msg + ulog_stream.msg + ulog_stream_ack.msg vehicle_attitude.msg vehicle_attitude_setpoint.msg vehicle_command_ack.msg diff --git a/msg/ulog_stream.msg b/msg/ulog_stream.msg new file mode 100644 index 0000000000..0fe647a6ce --- /dev/null +++ b/msg/ulog_stream.msg @@ -0,0 +1,16 @@ +# Message to stream ULog data from the logger. Corresponds to the LOGGING_DATA +# mavlink message + +# flags bitmasks +uint8 FLAGS_NEED_ACK = 1 # if set, this message requires to be acked. + # Acked messages are published synchronous: a + # publisher waits for an ack before sending the + # next message + +uint8 length # length of data +uint8 first_message_offset # offset into data where first message starts. This + # can be used for recovery, when a previous message got lost +uint16 sequence # allows determine drops +uint8 flags # see FLAGS_* +uint8[251] data # ulog data + diff --git a/msg/ulog_stream_ack.msg b/msg/ulog_stream_ack.msg new file mode 100644 index 0000000000..c155b2a875 --- /dev/null +++ b/msg/ulog_stream_ack.msg @@ -0,0 +1,7 @@ +# Ack a previously sent ulog_stream message that had +# the NEED_ACK flag set + +int32 ACK_TIMEOUT = 300 # timeout waiting for an ack until we retry to send the message [ms] +int32 ACK_MAX_TRIES = 9 # maximum amount of tries to (re-)send a message, each time waiting ACK_TIMEOUT ms + +uint16 sequence