Commit Graph

63 Commits

Author SHA1 Message Date
Andrew Tridgell 44d9d410a1 GCS_MAVLink: fixed mavlink packet corruption with multiple threads
this ensures we don't try to send more data to a uart than is
available in the tx buffer
2022-02-19 17:20:17 +11:00
Peter Barker a6713f8368 GCS_MAVLink: build ArduPilot against all.xml not ardupilotmega.xml 2022-02-08 11:00:41 +11:00
Andrew Tridgell 91aaa7876d GCS_MAVLink: reserve another mavlink channel
for SimShip
2020-07-10 13:28:38 +10:00
Peter Barker 8fc55b9678 GCS_MAVLink: remove comm_get_available
available returns an unsigned integer, so this was just weird
2019-09-10 15:45:27 +10:00
Peter Barker 210c2070a1 GCS_MAVLink: remove include of AP_Param.h in GCS_MAVLink.h
This will help break include loops.
2019-07-17 18:05:29 +10:00
Jaaaky 971e3af826 GCS_MAVLink: prgama away address-of-packed-member only for g++ >= 9 2019-05-03 01:57:26 +10:00
Peter Barker 9273ac3631 GCS_MAVLink: pragma away address-of-packed-member
g++-9 throws a lot of warnings for taking addresses of packed members.
We can have this warning for our ArduPilot code, but there's way too
many issues within MAVLink to put up with.
2019-05-01 19:36:49 -07:00
Peter Barker 49493676ea GCS_MAVLink: use MAV_PARAM_TYPE for sending parameter messages
... rather than mavlink_message_type_t
2019-02-26 08:20:25 +11:00
Andrew Tridgell 048a52ebc0 GCS_MAVLink: make mavlink send from multiple threads safe
this takes a lock to prevent interleaving of mavlink msgs from
multiple threads
2018-08-16 12:40:10 +10:00
Peter Barker 1aaf7e96af GCS_MAVLink: remove intermediate functions
GCS_MAVLink: remove comm_receive_ch

This is a lot of sanity checking in a static function which has been
called from a place where things are guaranteed

GCS_MAVLink: remove unused comm_is_idle

GCS_MAVLink: remove unused comm_send_ch

GCS_MAVLink: remove unused hal reference

GCS_MAVLink: remove unused #includes
2018-05-29 14:42:02 +10:00
Andrew Tridgell a5fe798e7f GCS_MAVLink: we don't need the conversion helpers 2018-05-07 11:43:23 +10:00
Andrew Tridgell fd3037bbb7 GCS_MAVLink: add support for alternative protocol
this allows an alternative to MAVLink to be installed on a GCS
port. This is used for BLHeli passthru support
2018-04-07 09:10:29 +10:00
Peter Barker 42547d2d6d GCS_MAVLink: allow extra mavlink port for packing vicon messages 2018-04-02 09:23:27 +09:00
Andrew Tridgell e255f07022 GCS_MAVLink: rename ch variable
avoid conflict with ch variable from ChibiOS
2018-01-15 11:46:02 +11: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
Andrew Tridgell b3f94184f2 GCS_MAVLink: always build with MAVLink2 headers 2016-05-21 15:25:16 +10:00
Andrew Tridgell 0ead0ab978 GCS_MAVLink: support mavlink2 build 2016-05-21 15:25:12 +10:00
Andrew Tridgell 62986957b4 GCS_MAVLink: raise number of mavlink buffers to 5 2016-04-20 09:39:50 +10:00
Lucas De Marchi a502c0924c GCS_MAVLink: simplify sanity check 2016-03-30 01:32:45 -03:00
Francisco Ferreira d3e149e5d7 GCS_MAVLink: ignore Clang out-of-range warning
warning: comparison of constant 4 with expression of type 'mavlink_channel_t' is always false [-Wtautological-constant-out-of-range-compare]
    if (chan >= MAVLINK_COMM_NUM_BUFFERS) {
        ~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~
2016-03-30 01:32:45 -03:00
Lucas De Marchi c2b5ad46b4 GCS_MAVLink: replace header guard with pragma once 2016-03-16 18:40:44 +11:00
Lucas De Marchi 039f42d916 GCS_MAVLink: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:13 +11:00
squilter 426dab5078 GCS_MAVLink: update severities and remove old enum 2015-08-28 10:04:35 +10:00
Gustavo Jose de Sousa d7a2ef3e35 GCS_MAVLink: standardize inclusion of libaries headers
This commit changes the way libraries headers are included in source files:

 - If the header is in the same directory the source belongs to, so the
 notation '#include ""' is used with the path relative to the directory
 containing the source.

 - If the header is outside the directory containing the source, then we use
 the notation '#include <>' with the path relative to libraries folder.

Some of the advantages of such approach:

 - Only one search path for libraries headers.

 - OSs like Windows may have a better lookup time.
2015-08-11 16:38:25 +10:00
Randy Mackay 85eeba93c0 GCS_MAVLink: mavlink_comm_port to array 2015-05-15 15:07:31 +09:00
Randy Mackay 62e7e8cc7d GCS_MAVLink: add support for 4th mavlink chan on PX4 2015-05-15 15:07:23 +09:00
Randy Mackay 1157c13eb6 GCS_MAVLink: mavlink_comm_x become UARTDrivers 2015-01-29 14:05:12 +11:00
Andrew Tridgell f1edd1bafb GCS_MAVLink: removed use of mavlink_check_target()
not needed now we do routing properly, as messages will only be
processed if they are for us
2014-12-11 12:31:06 +09:00
Andrew Tridgell ffd6fa1366 GCS_MAVLink: ignore alignment warnings in MAVLink headers 2014-07-25 17:14:48 +10:00
Andrew Tridgell 013aaf4d3e GCS_MAVLink: moved comms functions to not be inline
saves a bit of flash space
2014-04-04 13:19:15 +11:00
Andrew Tridgell d9e8c34a89 GCS_MAVLink: allow for proxying of larger MAVLink messages on PX4
this makes it possible to deal with large MAVLink messages
2014-03-11 13:48:25 +11:00
Andrew Tridgell ac24ff0b1e GCS_MAVLink: added support for 3 UARTs
support 3 UARTs on non-AVR platforms
2013-11-23 19:29:22 +11:00
Andrew Tridgell 8d227b801f GCS_MAVLink: increase max packet size to 104
this enables the DATA96 packet to be sent
2013-11-22 15:08:34 +11:00
Andrew Tridgell 445edb8793 GCS_MAVLink: remove CR/LF 2013-09-19 16:27:14 +10:00
Randy Mackay 8545071a21 GCS_MAVLink: include AP_Math.h
Required because mavlink_conversions's mavlink_dcm_to_euler function
uses atan2
2013-07-14 15:56:58 +09:00
Andrew Tridgell 91a60be758 GCS_MAVLink: fixed indent-tabs-mode 2013-05-30 09:50:57 +10:00
Andrew Tridgell 11bf6f40f7 GCS_MAVLink: moved gcs_severity to library header 2013-05-09 09:27:58 +10:00
Andrew Tridgell 7e58bde826 GCS_MAVLink: added comm_is_idle() function
this will make CLI detection more reliable
2013-03-21 21:55:12 +11:00
Andrew Tridgell ea3b405959 MAVLink: moved CRC table into program
this saves 256 bytes of memory
2013-01-10 21:28:07 +11:00
Andrew Tridgell dc66708856 MAVLink: cope with available() returning -1 2013-01-09 13:31:00 +11:00
Andrew Tridgell c9fe7fe932 MAVLink: use buffer send and fast CRC if possible 2013-01-08 14:37:40 -08:00
Andrew Tridgell feeebae03f GCS_MAVLink: added comm_send_buffer()
this reduces the overhead of sending messages
2013-01-08 14:37:39 -08:00
Pat Hickey 6661f827fa GCS_MAVLink: port to work with AP_HAL class rather than FastSerial 2012-12-20 14:51:24 +11:00
Pat Hickey 3f1d9d7f69 AP_Param: #include <AP_Param.h> fixups for libraries & sketches
* I mostly went through with grep and added an #include <AP_Param.h> below
  every #include <AP_Common.h>. Not all of these example sketches might
  strictly need AP_Param.
2012-12-20 14:51:19 +11:00
Andrew Tridgell 15abc784ec MAVLink: use a smaller maximum payload to reduce memory
this limits the sizes of the MAVLink buffers. It doesn't make a big
difference now, but it will matter when we update to the latest
mavlink code which has some very large packets
2012-12-03 23:28:23 +11:00
Andrew Tridgell 9f9d570597 MAVLink: comm_get_txspace should return 0 on error
it is used in expressions that add constants
2012-09-25 07:20:43 +10:00
Andrew Tridgell 3a1ff7bdd9 Mavlink: enable MAVLINK_SEPARATE_HELPERS
this fixes a seq number problem with SIMSTATE packets
2012-09-08 10:06:19 +10:00
Andrew Tridgell dc47074dbd MAVLink: removed the need for Mavlink_compat.h
we have now fully transitioned to MAVLink 1.0, so we no longer need
the compatibility layer and the old names in the code
2012-08-09 12:22:46 +10:00
Andrew Tridgell 60caaa4b04 MAVLink: remove MAVLink 0.9 protocol support
this simplifies the code a lot. We're not going back to 1.0
2012-07-05 13:00:46 +10:00
Andrew Tridgell 25c17a5425 re-enable the AP_Mount build 2012-06-04 19:32:11 +10:00