diff options
Diffstat (limited to 'src/modules/mavlink/mavlink_main.cpp')
-rw-r--r-- | src/modules/mavlink/mavlink_main.cpp | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/modules/mavlink/mavlink_main.cpp b/src/modules/mavlink/mavlink_main.cpp index 0d932d20a..6ec04b0b8 100644 --- a/src/modules/mavlink/mavlink_main.cpp +++ b/src/modules/mavlink/mavlink_main.cpp @@ -387,7 +387,7 @@ Mavlink::forward_message(const mavlink_message_t *msg, Mavlink *self) Mavlink *inst; LL_FOREACH(_mavlink_instances, inst) { if (inst != self) { - + // TODO! Consider if this code should run on targeter. /* if not in normal mode, we are an onboard link * onboard links should only pass on messages from the same system ID */ if (!(self->_mode != MAVLINK_MODE_NORMAL && msg->sysid != mavlink_system.sysid)) { @@ -1241,6 +1241,9 @@ Mavlink::task_main(int argc, char *argv[]) } else if (strcmp(optarg, "onboard") == 0) { _mode = MAVLINK_MODE_ONBOARD; } + else if (strcmp(optarg, "targeter") == 0) { + _mode = MAVLINK_MODE_TARGETER; + } break; @@ -1302,6 +1305,9 @@ Mavlink::task_main(int argc, char *argv[]) case MAVLINK_MODE_ONBOARD: warnx("mode: ONBOARD"); break; + case MAVLINK_MODE_TARGETER: + warnx("mode: TARGETER"); + break; default: warnx("ERROR: Unknown mode"); @@ -1370,6 +1376,7 @@ Mavlink::task_main(int argc, char *argv[]) /* HEARTBEAT is constant rate stream, rate never adjusted */ configure_stream("HEARTBEAT", 1.0f); + // TODO! Consider if any streams except Heartbeat are required on Target /* STATUSTEXT stream is like normal stream but gets messages from logbuffer instead of uORB */ configure_stream("STATUSTEXT", 20.0f); @@ -1390,6 +1397,7 @@ Mavlink::task_main(int argc, char *argv[]) LL_APPEND(_streams, _mission_manager); switch (_mode) { + // TODO! Consider limiting copter's topics case MAVLINK_MODE_NORMAL: configure_stream("SYS_STATUS", 1.0f); configure_stream("GPS_GLOBAL_ORIGIN", 0.5f); @@ -1416,6 +1424,14 @@ Mavlink::task_main(int argc, char *argv[]) configure_stream("VFR_HUD", 10.0f); break; + // Targeter requires different streams + case MAVLINK_MODE_TARGETER: + // TODO! Check which rates fit best + // TODO! Change to custom message, when it is available + configure_stream("GLOBAL_POSITION_INT", 10.0f); + configure_stream("TRAJECTORY", 10.0f); + break; + default: break; } @@ -1669,8 +1685,6 @@ Mavlink::display_status() printf("\tGCS heartbeat:\t%llu us ago\n", hrt_elapsed_time(&_rstatus.heartbeat_time)); } - printf("\tmavlink chan: #%u\n", _channel); - if (_rstatus.timestamp > 0) { printf("\ttype:\t\t"); |