Browse Source

ulog stream msgs: rename 'sequence' fields as they are protected names in fastrtpsgen

sbg
TSC21 5 years ago committed by Nuno Marques
parent
commit
10e3bcd138
  1. 2
      msg/ulog_stream.msg
  2. 2
      msg/ulog_stream_ack.msg
  3. 6
      src/modules/logger/log_writer_mavlink.cpp
  4. 10
      src/modules/mavlink/mavlink_ulog.cpp

2
msg/ulog_stream.msg

@ -12,7 +12,7 @@ uint8 FLAGS_NEED_ACK = 1 # if set, this message requires to be acked.
uint8 length # length of data uint8 length # length of data
uint8 first_message_offset # offset into data where first message starts. This uint8 first_message_offset # offset into data where first message starts. This
# can be used for recovery, when a previous message got lost # can be used for recovery, when a previous message got lost
uint16 sequence # allows determine drops uint16 msg_sequence # allows determine drops
uint8 flags # see FLAGS_* uint8 flags # see FLAGS_*
uint8[249] data # ulog data uint8[249] data # ulog data

2
msg/ulog_stream_ack.msg

@ -5,4 +5,4 @@ uint64 timestamp # time since system start (microseconds)
int32 ACK_TIMEOUT = 50 # timeout waiting for an ack until we retry to send the message [ms] int32 ACK_TIMEOUT = 50 # timeout waiting for an ack until we retry to send the message [ms]
int32 ACK_MAX_TRIES = 50 # maximum amount of tries to (re-)send a message, each time waiting ACK_TIMEOUT ms int32 ACK_MAX_TRIES = 50 # maximum amount of tries to (re-)send a message, each time waiting ACK_TIMEOUT ms
uint16 sequence uint16 msg_sequence

6
src/modules/logger/log_writer_mavlink.cpp

@ -72,7 +72,7 @@ void LogWriterMavlink::start_log()
ulog_stream_ack_s ack; ulog_stream_ack_s ack;
orb_copy(ORB_ID(ulog_stream_ack), _ulog_stream_ack_sub, &ack); orb_copy(ORB_ID(ulog_stream_ack), _ulog_stream_ack_sub, &ack);
_ulog_stream_data.sequence = 0; _ulog_stream_data.msg_sequence = 0;
_ulog_stream_data.length = 0; _ulog_stream_data.length = 0;
_ulog_stream_data.first_message_offset = 0; _ulog_stream_data.first_message_offset = 0;
@ -160,7 +160,7 @@ int LogWriterMavlink::publish_message()
ulog_stream_ack_s ack; ulog_stream_ack_s ack;
orb_copy(ORB_ID(ulog_stream_ack), _ulog_stream_ack_sub, &ack); orb_copy(ORB_ID(ulog_stream_ack), _ulog_stream_ack_sub, &ack);
if (ack.sequence == _ulog_stream_data.sequence) { if (ack.msg_sequence == _ulog_stream_data.msg_sequence) {
got_ack = true; got_ack = true;
} }
@ -178,7 +178,7 @@ int LogWriterMavlink::publish_message()
PX4_DEBUG("got ack in %i ms", (int)(hrt_elapsed_time(&started) / 1000)); PX4_DEBUG("got ack in %i ms", (int)(hrt_elapsed_time(&started) / 1000));
} }
_ulog_stream_data.sequence++; _ulog_stream_data.msg_sequence++;
_ulog_stream_data.length = 0; _ulog_stream_data.length = 0;
_ulog_stream_data.first_message_offset = 255; _ulog_stream_data.first_message_offset = 255;
return 0; return 0;

10
src/modules/mavlink/mavlink_ulog.cpp

@ -116,7 +116,7 @@ int MavlinkULog::handle_update(mavlink_channel_t channel)
const ulog_stream_s &ulog_data = _ulog_stream_sub.get(); const ulog_stream_s &ulog_data = _ulog_stream_sub.get();
mavlink_logging_data_acked_t msg; mavlink_logging_data_acked_t msg;
msg.sequence = ulog_data.sequence; msg.sequence = ulog_data.msg_sequence;
msg.length = ulog_data.length; msg.length = ulog_data.length;
msg.first_message_offset = ulog_data.first_message_offset; msg.first_message_offset = ulog_data.first_message_offset;
msg.target_system = _target_system; msg.target_system = _target_system;
@ -140,12 +140,12 @@ int MavlinkULog::handle_update(mavlink_channel_t channel)
_sent_tries = 1; _sent_tries = 1;
_last_sent_time = hrt_absolute_time(); _last_sent_time = hrt_absolute_time();
lock(); lock();
_wait_for_ack_sequence = ulog_data.sequence; _wait_for_ack_sequence = ulog_data.msg_sequence;
_ack_received = false; _ack_received = false;
unlock(); unlock();
mavlink_logging_data_acked_t msg; mavlink_logging_data_acked_t msg;
msg.sequence = ulog_data.sequence; msg.sequence = ulog_data.msg_sequence;
msg.length = ulog_data.length; msg.length = ulog_data.length;
msg.first_message_offset = ulog_data.first_message_offset; msg.first_message_offset = ulog_data.first_message_offset;
msg.target_system = _target_system; msg.target_system = _target_system;
@ -155,7 +155,7 @@ int MavlinkULog::handle_update(mavlink_channel_t channel)
} else { } else {
mavlink_logging_data_t msg; mavlink_logging_data_t msg;
msg.sequence = ulog_data.sequence; msg.sequence = ulog_data.msg_sequence;
msg.length = ulog_data.length; msg.length = ulog_data.length;
msg.first_message_offset = ulog_data.first_message_offset; msg.first_message_offset = ulog_data.first_message_offset;
msg.target_system = _target_system; msg.target_system = _target_system;
@ -252,7 +252,7 @@ void MavlinkULog::publish_ack(uint16_t sequence)
{ {
ulog_stream_ack_s ack; ulog_stream_ack_s ack;
ack.timestamp = hrt_absolute_time(); ack.timestamp = hrt_absolute_time();
ack.sequence = sequence; ack.msg_sequence = sequence;
_ulog_stream_ack_pub.publish(ack); _ulog_stream_ack_pub.publish(ack);
} }

Loading…
Cancel
Save