-
Notifications
You must be signed in to change notification settings - Fork 35
mwp Radar View
mwp since 2020-05-11 supports the display of "radar" contacts. This provides a view of adjacent aircraft obtained via a number of interfaces:
-
inav-radar. inav radar works in conjunction with inav flight controllers to broadcast the location of UAS fitted with an ESP32 LoRa module. mwp can listen to one of these modems in ground station mode to display the positions of the rest of the 'swarm' (up to 4 UAS). Note As of 2021-05, it is reported that
inav-radar
do longer works in purely passive mode, so it won't work anymore, alas. -
Full size aircraft reported by the MAVLink 'Traffic Report' message. An example is the uAvionix PingRX, a compact device that receives ADS-B location data from full sized airecraft and publishes the locatsion as MAVLink. For a ground based installation, this device has around a 40Km detection radius.
mwp can receive the 'radar' data over two connections, either of both may be active, and mwp can receive and display 'own vehicle' telemetry (MSP, LTM or Smartpost), 'inav-radar' and 'MAVlink Traffic' data simulanteously. Radar data may be received over:
- The main serial port device;
- a device defined by the
radar-device
CLI or configuration parameter.
The device is defined by the standard mwp naming scheme:
- A serial device node, with optional baud rate, e.g.:
-
/dev/ttyACM0
,/dev/ttyUSB4@567600
,/dev/rfcomm3
-
- A Bluetooth address (for BT bridges)
00:0B:0D:87:13:A2
- An IP address, e.g. for simulation, recording replays or serial multiplexer.
-
udp://:30001
local UDP listener.
-
The specific (not shared with the main serial port) radar device may be defined on the command line, or in the static command options file (~/.config/mwp/cmdopts
):
mwp --radar-device udp://:30001
$ cat ~/.config/mwp/cmdopts
# Default options for mwp
# using udev rule to associate a specifc USB-TTL adaptor to a name
--radar-device=/dev/pingRX@57600
Once the radar interface is open, radar tracks are displayed on the map and in a list available from the "View -> Radar View' menu option.
- The list view is sortable on the
Id
,Status
andLast
(time) columns. - The map visualisation may be toggled by the
Hide Tracks
(Show Tracks
) button. - List and map views are updated in (near) real time.
- Preference for display units are used for positions, altitude and speed.
Type | Usage |
---|---|
inav-radar | Node Id (typically 'A' - 'D') |
Traffic Report | Callsign if reported, otherwise ICAO number |
Radar contacts have one of the following status values:
Status | Explanation |
---|---|
Undefined | Not shown in list or on the map |
Stale | The last contact was more that 120s previous. Displayed in the list and shown on the map with reduced intensity or an inav-radar node has'lost' status |
Armed | An active inav-radar contact |
ADS-B | A live MAVLink Traffic report |
Hidden | A MAVLink Traffic contact is between 5 and 10 minutes old. It remains in the list but is not displayed in the map. MAVLink Traffic Report tracks are removed from the list (and internal storage) after 10 minutes inactivity. |
Stale / 'Lost' inav-radar contacts do not expire, as they may relate to a lost model.
The number displayed after the status text is:
Type | Usage |
---|---|
inav-radar | The link quality |
Traffic Report | Time since last communication in seconds |
- Live and stale aircraft
- Aircraft tooltip
- Mission Plan
- List view
Local manned aircraft view over Florida (May 2020).
Simulated inav radar view
There are simulators for both inav-radar and MAVLink 'Traffic Report' (e.g. uAvionix PingRX) in the mwptools/samples/radar
directory.
The MAVLink implementation is comprehensively documented by the vendor.
The inav radar protocol is not documented, as of 2021-05, the following is required by a device wished to act as a ground node (it must masquerade as an inav FC)
-
Receive and respond to the following MSP data requests:
- MSP_STATUS
- MSP_BOXIDS
- MSP_NAME
- MSP_RAW_GPS
- MSP_FC_VARIANT
- MSP_FC_VERSION
-
Receive unsolicited
- MSP2_COMMON_SET_RADAR_POS
Note that the device firmware is not particularly robust; exceeding the minimal buffer size will crash the device).