Commit Graph

149 Commits

Author SHA1 Message Date
Tom Pittenger 7a09f88e83 AP_ADSB: refactor and renamed things and general cleanup for pre-backend split 2020-11-04 16:22:47 +11:00
Andy Piper af8542b5d6 AP_ADSB: conditionally compile based on HAL_ADSB_ENABLED 2020-10-07 19:11:38 +11:00
Tom Pittenger 8e1f5ec6cd Revert "AP_ADSB: create backend and add Sagetech driver" 2020-10-07 19:11:38 +11:00
Tom Pittenger f2e65ea3cd Revert "AP_ADSB: Sagetech for 2MB only"
This reverts commit 1fce38c62a.
2020-10-07 19:11:38 +11:00
Tom Pittenger b2eb3eb881 Revert "AP_ADSB: conditionally compile based on HAL_ADSB_ENABLED"
This reverts commit 465357e715.
2020-10-07 19:11:38 +11:00
Tom Pittenger 90b4056aa4 Revert "AP_ADSB: remove annoying debug"
This reverts commit 5a535b25e3.
2020-10-07 19:11:38 +11:00
Peter Barker 0eb34912cf AP_ADSB: remove unused variables 2020-10-01 21:13:20 +10:00
Andrew Tridgell 5a535b25e3 AP_ADSB: remove annoying debug 2020-09-26 06:02:31 +10:00
Andy Piper 465357e715 AP_ADSB: conditionally compile based on HAL_ADSB_ENABLED 2020-09-22 09:33:51 +10:00
Tom Pittenger 1fce38c62a AP_ADSB: Sagetech for 2MB only 2020-09-18 09:57:52 -07:00
Tom Pittenger 3cc985332d AP_ADSB: create backend and add Sagetech driver 2020-09-15 13:09:50 -07:00
Peter Barker 95054418f6 AP_ADSB: add missing break statement 2020-01-15 13:55:42 +11:00
Andrew Tridgell df90cee8a0 AP_ADSB: added handle_adsb_vehicle() API
this allows for UAVCAN ADSB adapters
2019-10-16 13:13:24 +11:00
Andrew Tridgell 8650229ad4 AP_ADSB: added singleton interface 2019-10-16 13:13:24 +11:00
Peter Barker 13352a4ca7 AP_ADSB: move is_valid_octal to is_valid_callsign and add tests for it 2019-10-01 09:18:15 +10:00
Peter Barker 08623c1712 AP_ADSB: use ObjectBuffer in place of AP_Buffer 2019-09-24 09:36:33 +10:00
Randy Mackay b3431685a8 AP_ADSB: resolve gcs::send_text compiler warning 2019-07-30 09:02:39 +09:00
Pierre Kancir 78cd3cc722 AP_ADSB: pass mavlink_message_t by const reference 2019-07-16 20:51:42 +10:00
Peter Barker 90edc8b51a AP_ADSB: move include of AHRS to .cpp
Not used in header, helps fix include loops
2019-07-16 09:29:48 +10:00
Michael du Breuil 2dcbe5a49b AP_ADSB: Include needed AP_Baro.h 2019-06-27 14:56:21 +10:00
Michael du Breuil a09ead5819 AP_ADSB: Fix AP_GPS include 2019-06-18 10:02:05 +10:00
Tom Pittenger b79993a2f2 ADSB: rename dataflash to logger and fix @values whitespace 2019-03-28 14:19:01 -07:00
IamPete1 20e6f6045d AP_ADSB: add logging 2019-03-28 14:19:01 -07:00
Peter Barker 495111d67e AP_ADSB: use enum class for AltFrame enumeration 2019-03-19 10:31:18 +11:00
Tom Pittenger 8d6748dc4f AP_ADSB: add special vehicle that ignores range filters 2019-03-15 14:50:53 -07:00
Tom Pittenger ec59fe9398 ADSB: cleanup, make more things const 2019-03-15 14:50:53 -07:00
Tom Pittenger 624d6b5490 AP_ADSB: add accessor to fetch a vehicle from database by icao 2019-03-15 14:50:53 -07:00
Tom Pittenger 6145711931 ADSB: add param ADSB_LIST_ALT to filter aircraft by altitude. default is disabled 2019-02-05 20:03:52 -07:00
Peter Barker 384ab476b4 AP_ADSB: adjust for Location_Class and Location unification 2019-01-16 11:45:29 +11:00
hoangthien94 0d964a5502 AP_ADSB: Fix error snprintf output truncated
AP_ADSB: Change octal squawk code mask to 0x1FFF
2018-11-10 12:11:28 +00:00
Dr.-Ing. Amilcar do Carmo Lucas c9bbc2773d AP_ADSB: Add valid parameter range to squawk codes 2018-08-26 09:13:10 -07:00
Pierre Kancir 9ada804489 AP_ADSB: fix snprintf warning 2018-05-25 12:54:25 -07:00
Tom Pittenger 657f515f40 AP_ADSB: add cfg_out passthrough parsing
- add param ADSB_SQUAWK
- add param ADSB_RF_CAPABLE
2018-05-23 14:02:45 -07:00
Patrick José Pereira 0c18b43351 AP_ADSB: Use SSL air pressure value
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2018-05-23 02:36:43 +01:00
Peter Barker 02205a0cb3 AP_ADSB: use baro singleton 2018-03-08 21:20:05 -08:00
Peter Barker ae3099ef4b AP_ADSB: use AP::ahrs() singleton 2018-03-07 12:34:39 +00:00
Dr.-Ing. Amilcar Do Carmo Lucas d1a96ca4ff AP_ADSB: fix spelling in comments
non-functional change
2018-02-21 22:15:45 +09:00
Andrew Tridgell 9ceddbdab6 AP_ADSB: fixed build warning 2018-02-07 20:33:45 +11:00
Peter Barker d1d5a484ce AP_ADSB: use GPS singleton 2017-12-27 00:58:02 +00:00
Andrew Tridgell 6487a22acd AP_ADSB: removed create() method for objects
See discussion here:

  https://github.com/ArduPilot/ardupilot/issues/7331

we were getting some uninitialised variables. While it only showed up in
AP_SbusOut, it means we can't be sure it won't happen on other objects,
so safest to remove the approach

Thanks to assistance from Lucas, Peter and Francisco
2017-12-14 08:12:28 +11:00
Lucas De Marchi cce51ec1c3 AP_ADSB: add static create method 2017-09-26 03:01:21 +01:00
Tom Pittenger 1c223b520c AP_ADSB - update description of ADSB_RF_SELECT to say Rx-only devices are always in Rx mode 2017-09-13 13:46:21 -07:00
Lucas De Marchi cb9c626577 AP_ADSB: fix getting a copy rather than a reference
These have been caught by making constructors private and enforcing
calling a create() method to create objects are supposed to be
statically allocated only.

The Vector3f reference was just nearby and was a change copied from
similar PR from Peter Barker (#6873).
2017-09-01 13:45:22 -07:00
Peter Barker e69bc5f46b AP_ADSB: eliminate GCS_MAVLINK::send_statustext_all 2017-07-11 23:53:53 +01:00
Tom Pittenger 76dabf2dd9 AP_ADSB: cleanup
non-functional change
2017-02-22 11:55:47 -08:00
Tom Pittenger 5adbf9b232 AP_ADSB: populate altitude via pressure for ADSB-Out
fixes https://github.com/ArduPilot/ardupilot/issues/5424
2017-02-22 11:55:47 -08:00
murata 908d9a8a8c AP_ADSB: Change sprintf method to secure snprintf method. 2017-01-06 10:59:12 -08:00
Tom Pittenger 372837b959 Update AP_ADSB.cpp
AP_ADSB: fixed GPS.alt reporting  cm to mm conversion bug

Issue 5424
2016-12-20 15:57:52 +01:00
murata e15c234a4f AP_ADSB: Set in the sprintf method. 2016-11-01 08:36:52 -07:00
murata 0028bd7b3c AP_ADSB: Set in the sprintf method. 2016-11-01 08:36:52 -07:00
Peter Barker b9dcf1108d AP_ADSB: do not transmit by default
In various countries transmitting on the ADSB frequencies is a
federal offence.

Let's not have our users do that be default.
2016-11-01 14:21:07 +09:00
Mathieu OTHACEHE 152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Tom Pittenger 1612110d16 AP_ADSB: fixed signed int compare compile warning/error and reject >24bit ICAO
- The value is only 24bits anyway so sign conversion does not matter
- also reject ICAO values > 24bits
2016-08-16 18:49:48 -07:00
Tom Pittenger 78e7acf25c AP_ADSB: do not detect, and thus avoid, yourself 2016-08-16 17:29:34 -07:00
Tom Pittenger b6810006eb AP_ADSB: move mavlink msg handling into library 2016-08-16 16:33:36 -07:00
Tom Pittenger 282817eeb9 AP_ADSB: revert default enable = 0 2016-08-01 17:56:04 -07:00
Tom Pittenger b5ec37b9d8 AP_ADSB: change adsb.enable param to be a flag 2016-08-01 17:51:24 -07:00
Tom Pittenger 2be32e9daa AP_ADSB: remove all threat logic in adsb lib in favor of avoidance lib 2016-08-01 15:27:40 -07:00
Tom Pittenger b2b63b4d80 AP_ADSB: change param ADSB_ENABLE default from 0 to 1 2016-08-01 15:27:39 -07:00
Tom Pittenger 89271c29ab AP_ADSB: move variable into struct like the rest 2016-08-01 15:27:38 -07:00
Tom Pittenger f7c2df8e91 AP_ADSB: sanity check data via valid_flags before forwarding to avoidance lib 2016-08-01 12:47:18 -07:00
Tom Pittenger 5c0b5f5cd1 AP_ADSB: reject packets that are invalid or already stale 2016-08-01 12:44:20 -07:00
Tom Pittenger b12edf6a71 AP_ADSB: fix bug where the update timeout wasn't being stored correctly
- causes immediate timeout so all samples were dropped
- now the timeout is current and respects the time-since-last-comms/packet so we can ignore stale packets
2016-08-01 12:43:47 -07:00
Tom Pittenger e0bb77726e AP_ADSB: do not service transceiver if it is not detected
- also allow forced detected (setting chan in header) for testing by not having it time out in that special case (timer = 0)
2016-08-01 09:06:05 -07:00
Tom Pittenger 59135fc615 AP_ADSB: fixed comment for default chan -1 means transceiver is not detected 2016-07-28 09:41:38 -07:00
Tom Pittenger 2c6340bb10 AP_ADSB: compiler warning: init value before use even though it already is
silly compiler warnings.. this one is incorrect but it throws a conservative warning which this solves
2016-07-25 10:14:00 -07:00
Tom Pittenger dce734d196 AP_ADSB: treat invalid vehicle same as out-of-range: ignore and/or delete it
- aircraft that travel out of range will now get dropped instantly instead of linger and go stale then timeout
2016-07-25 10:03:48 -07:00
Tom Pittenger 726d1d515e AP_ADSB: use correct units (sec) in time since last update for vehicle update 2016-07-25 10:00:57 -07:00
Peter Barker 1cdb97e605 AP_ADSB: support for provision of samples to other libraries 2016-07-25 20:24:37 +09:00
Peter Barker 4639d12f0e AP_ADSB: break circular dependency with Avoidance 2016-07-25 20:24:37 +09:00
Tom Pittenger cb91f25dd7 AP_ADSB: change adsb-out param desc and defaults 2016-07-22 17:09:10 -07:00
Tom Pittenger 9b390fcc1b AP_ADSB: add mavlink handlers 2016-07-22 13:55:20 -07:00
Tom Pittenger a5f256229f AP_ADSB: remove mavlink specific source, xml not ready yet 2016-07-21 00:04:17 -07:00
Tom Pittenger 8617880714 AP_ADSB: check buffer space before sending 2016-07-20 22:40:13 -07:00
Tom Pittenger 8b9057f23c AP_ADSB: run dynamic at 5Hz and static/cfg at 5sec 2016-07-20 22:40:12 -07:00
Tom Pittenger ea0a5c973c AP_ADSB: simplify logic in update_vehicle() 2016-07-20 22:40:12 -07:00
Tom Pittenger cf77ff6d4f AP_ADSB: convert all function calls to use const and use Location_Class 2016-07-20 22:40:11 -07:00
Tom Pittenger 4c9642ac08 AP_ADSB: callsign gen should use ICAO in hex 2016-07-20 22:40:10 -07:00
Tom Pittenger 69887e1646 AP_ADSB: do not init variables in header class definition 2016-07-20 22:40:09 -07:00
Tom Pittenger f5bf98041e AP_ADSB: do not spam to all mavlink ports, require the transceiver health heartbeat 2016-07-20 22:40:09 -07:00
Tom Pittenger b6e25e7d64 AP_ADSB: add support for ADSB transceiver mavlink packets 2016-07-20 22:40:08 -07:00
Tom Pittenger 2223216ca2 AP_ADSB: add param ADSB_LIST_RADIUS to ignore distant aircraft 2016-07-20 22:32:47 -07:00
Tom Pittenger 454560ca4c AP_ADSB: organize variables into in_state and avoid_state structs 2016-07-20 22:32:47 -07:00
Tom Pittenger 37f990bfad AP_ADSB: allow param based VEHICLE list sizes, 1 to 100. 2016-06-26 11:03:33 -07:00
Tom Pittenger 746e2211e9 AP_ADSB: remove extra include 2016-06-19 11:24:31 -07:00
Tom Pittenger 4cd1721bf9 AP_ADSB: add ADSB_streamrate 2016-06-19 11:24:29 -07:00
Tom Pittenger 8036912173 AP_ADSB: clarified some minor logic 2016-06-14 21:05:44 -07:00
Tom Pittenger ad81e56a64 AP_ADSB: allow buffer to add to the max, instead of one less than the max 2016-06-14 21:00:27 -07:00
Lucas De Marchi 5047f2b6f8 AP_ADSB: replace header guard with pragma once 2016-03-16 18:40:39 +11:00
Tom Pittenger 4e4c1831f0 AP_ADSB: added guided mode handling 2015-12-31 15:36:49 +11:00
Tom Pittenger d003e24189 AP_ADSB: fix unit conversion 2015-12-18 13:49:47 +09:00
Tom Pittenger 87fccce9e2 AP_ADSB: update units for new mavlink msg 2015-12-09 14:36:30 +11:00
Tom Pittenger decac5cb15 AP_ADSB: delete furthest when buffer is full
- added lowest/highest_threat tracking. This is currently defined as 2D distance. Room for improvement to make it 3D and be flight vector based instead of distance
- when trying to add a vehicle but  the buffer is full, overwrite the lowest_threat/furthest
- added basic THREAT enum of high/low which means in or our of the 200m radius. Room for improvement here.
2015-12-09 14:35:20 +11:00
Tom Pittenger f60f0e80c3 AP_ADSB: update msg sizeof comment 2015-12-01 17:15:49 -08:00
Randy Mackay 9e74222a3a ADSB: minor update to parameter descriptions
Also minor format fixes
2015-11-27 15:02:22 +09:00
Andrew Tridgell e80ca592c4 AP_ADSB: update for new message format 2015-11-26 10:25:33 +11:00
Andrew Tridgell ce1b68cce8 AP_ADSB: ensure stack allocation Location is initialised 2015-11-23 19:48:57 +11:00
Andrew Tridgell f9e865ef5e AP_ADSB: don't disable ADSB permanently on init fail
we may be low on memory on only this boot
2015-11-23 19:47:30 +11:00
Tom Pittenger 426e40d30e AP_ADSB: new ADS-B library support
- contains a list of ADS-B vehicles
- does threat analysis and sets a flag when threat is found
- dynamically allocated database, consumes 40*25 =1kB of RAM when param ADSB_ENABLE = 1
2015-11-23 19:45:40 +11:00