Commit Graph

292 Commits

Author SHA1 Message Date
Peter Barker ac1a00739c GCS_MAVLink: remove msg_snoop functionality
inherit from GCS_MAVLink if you want to see mavlink traffic
2018-03-28 09:28:23 +09:00
Peter Barker 484d97597b GCS_MAVLink: pass mavlink acks into accelcal library if it exists 2018-03-28 09:28:23 +09:00
Peter Barker a5a36c04d1 GCS_MAVLink: feed vision position data into AHRS 2018-03-27 20:28:49 +09:00
Peter Barker ed5140307a GCS_MAVLink: move handling of visual odometry messages up 2018-03-23 09:28:07 +09:00
Peter Barker bed3f0c344 GCS_MAVLink: move handling of get_home_position up 2018-03-19 10:32:37 +09:00
Peter Barker e9ecc11b00 GCS_MAVLink: use baro singleton 2018-03-08 21:20:05 -08:00
Peter Barker 9d381c26a7 GCS_MAVLink: use AHRS singleton 2018-03-07 12:34:39 +00:00
Andrew Tridgell 8f1e8e787a GCS_MAVLink: added DATA96 hook for AP_Radio 2018-02-08 17:36:33 +11:00
Peter Barker e39e8359b6 GCS_MAVLink: tighten result of handle_preflight_reboot 2017-12-01 17:01:10 +00:00
Peter Barker 269294754f GCS_MAVLink: use gps singleton 2017-11-15 13:43:03 +00:00
Lucas De Marchi ed2b8d3476 GCS_MAVLink: refactor send_autopilot_verison() to use AP_FWVersion
Make the method use the getter directly to get a reference of
AP_FWVersion and work out everything that needs to be sent. This allows
us to remove ifdefs and replace with runtime if/else.

Note that there's also a bug fix: we were not setting flight_custom_version
to zero in case GIT_VERSION wasn't defined.
2017-09-23 21:37:45 -07:00
Peter Barker d0c2898ebc GCS_MAVLink: move handling of SET_GPS_GLOBAL_ORIGIN up 2017-09-19 15:44:23 +09:00
Randy Mackay 07c195a865 GCS_MAVLink: add send_ekf_origin 2017-09-19 10:30:15 +09:00
Peter Barker 6bd7089718 GCS_MAVLink: implement handling of MAV_CMD_DO_SET_MODE 2017-09-19 01:24:11 +01:00
Peter Barker 8507763a1c GCS_MAVLink: create _handle_set_mode for common msg and cmd-long code 2017-09-19 01:24:11 +01:00
Lucas De Marchi 58dec08b29 GCS_MAVLink: fix non static perf counter
Commit b9877e0d38
(GCS_MAVLink: make per channel perf counter non-static) made the
perf counters to be available per instance but missed the fact that
the perf infra doesn't copy the string.

Fix this by maintaining a the string inside the object.
2017-09-12 17:24:31 -07:00
Peter Barker b4e536b424 GCS_MAVLink: move gcs_out_of_time into GCS object 2017-09-12 18:28:07 +01:00
Lucas De Marchi b9877e0d38 GCS_MAVLink: make per channel perf counter non-static
Otherwise the perf counter from one channel may affect the other if
during an update of one channel the update function of the other gets
called.
2017-09-11 10:01:57 -07:00
Peter Barker ac806b650f GCS_MAVLink: move handling of do_send_banner up 2017-08-30 15:54:47 +01:00
Peter Barker 1544a92f8b GCS_MAVLink: factor out a send_banner 2017-08-30 15:54:47 +01:00
Peter Barker 50242178b3 GCS_MAVLink: handle param_set in GCS_MAVLINK base class 2017-08-30 15:54:47 +01:00
Peter Barker 95ff94bfad GCS_MAVLink: factor out a handle_common_param_message 2017-08-30 15:54:47 +01:00
Peter Barker add1743c12 GCS_MAVLink: move send_autopilot_request calls up to GCS base class 2017-08-30 15:54:46 +01:00
Jacob Walser e8f5967682 GCS_MAVLink: Add MSG_NAMED_FLOAT ap_message id 2017-08-23 13:40:52 +01:00
Peter Barker 154b212545 GCS_MAVLink: move serial_control case to base class 2017-08-17 12:42:31 +01:00
Peter Barker 2a07a077d9 GCS_MAVLink: use GCS_MAVLINK subclasses to handle set_mode 2017-08-16 11:05:37 +10:00
Peter Barker c79cbd71af GCS_MAVLink: use rangefinder backend accessors 2017-08-15 18:31:58 +01:00
Michael du Breuil 067335f68d GCS_MAVLink: Handle termination requests from the GCS 2017-08-15 15:14:56 +01:00
Peter Barker bff31e8b42 GCS_MAVLink: remove CLI 2017-08-14 10:23:50 +09:00
Peter Barker 7aaabea4ea GCS_MAVLink: send gps messages as separate queued messages 2017-08-09 16:18:22 +01:00
Peter Barker 4e3cc6fd27 GCS_MAVLink: move sending of system_time up 2017-08-09 16:18:22 +01:00
Peter Barker d1a9128118 GCS_MAVLink: move sending of camera_feedback up 2017-08-09 16:18:22 +01:00
Peter Barker a841fddb3e GCS_MAVLink: rename MSG_RETRY_DEFERRED to MSG_LAST and clarify comments 2017-08-05 23:13:48 +01:00
Peter Barker 0c5f66dc59 GCS_MAVLink: refactor code into new retry_deferred method 2017-08-05 23:11:09 +01:00
Peter Barker 679bb7f7a5 GCS_MAVLink: move try_send_message send_hwstatus up 2017-08-03 14:33:37 +01:00
Peter Barker 3b472ccc17 GCS_MAVLink: move try_send_message mission handling up 2017-08-03 14:24:47 +01:00
Peter Barker b8cb758fac GCS_MAVLink: move try_send_message compass message handling up 2017-08-03 14:24:46 +01:00
Peter Barker b4688bd3d4 GCS_MAVLink: move common mavlink camera handling up 2017-07-28 14:32:58 +01:00
Peter Barker 60ffe00164 GCS_MAVLink: move gps inject handling up
Also, make AP_GPS responsible for decoding inject packets
2017-07-27 12:03:25 +01:00
Peter Barker 85a0da6178 GCS_MAVLink: handle common GPS messages in base GCS_MAVLINK class 2017-07-25 14:00:45 +01:00
khancyr 8abcb7a0e3 GCS_MAVLink: simplify send_proximity 2017-07-24 13:44:43 +01:00
khancyr ec2ea1c903 GCS_MAVLink: move send_proximity to GCS common code (NFC)
Also clean two comments
2017-07-24 13:44:43 +01:00
Peter Barker eb1cf0e73a GCS_MAVLink: remove MSG_STATUSTEXT entirely 2017-07-18 16:12:59 +01:00
Peter Barker 06647cde2c GCS_MAVLink: move handling of PREFLIGHT_SET_SENSOR_OFFSETS up 2017-07-17 14:17:19 +01:00
Peter Barker bd28bdd907 GCS_MAVLink: move handling of MAG_CAL command longs up 2017-07-17 14:17:19 +01:00
Peter Barker a7e57aa3fc GCS_MAVLink: move MAV_CMD_START_RX_PAIR handling to base class 2017-07-17 14:17:19 +01:00
Peter Barker 318861e824 GCS_MAVLink: move mavlink support for servo/relay up 2017-07-16 23:56:00 +01:00
Peter Barker cfc8d7feba GCS_MAVLink: add common handling of mavlink command messages 2017-07-16 23:56:00 +01:00
Peter Barker ebe3dcef6f GCS_MAVLink: move rally-point handling up 2017-07-14 01:28:05 +01:00
Peter Barker 3338de827e GCS_MAVLink: remove unneeded telemetry_delayed parameter
Also make it protected
2017-07-12 17:02:54 +01:00
Peter Barker 129d7220e6 GCS_MAVLink: move handling of incoming statutext messages up 2017-07-12 16:52:24 +01:00
Peter Barker 5c0aa27b2f GCS_MAVLink: remove global static send_statustext_chan 2017-07-11 23:53:53 +01:00
Peter Barker a599bc9031 GCS_MAVLink: eliminate GCS_MAVLINK::send_statustext_all 2017-07-11 23:53:53 +01:00
Peter Barker 731aaed8af GCS_MAVLink: eliminate global static GCS_MAVLINK::send_home_all 2017-07-11 23:48:39 +01:00
Peter Barker 726007efde GCS_MAVLink: move common mission handling up to GCS_MAVLINK 2017-07-11 23:45:17 +01:00
Peter Barker 02532af64b GCS_MAVLink: a send_text method on the GCS singleton 2017-07-09 17:17:29 -04:00
Peter Barker db27346fd7 GCS_MAVLink: move GCS functions up from GCS_Plane 2017-07-07 16:18:37 +01:00
Peter Barker 4c1aff03a3 GCS_MAVLink: move send-logs-via-mavlink code into DataFlash 2017-06-27 03:10:43 +01:00
Pierre Kancir d5cc1e64ed GCS_Common: rename send_rangefinder to send_rangefinder_downward 2017-06-08 01:32:04 +01:00
Pierre Kancir e9685ba13e GCS_MAVLink: add rangefinder msg 2017-06-08 01:22:07 +01:00
Pierre Kancir 0848d96354 GCS_MAVLink: add send_distance_sensor_downward function 2017-06-08 01:22:07 +01:00
Pierre Kancir f0369bc507 GCS_MAVLink: add distance sensor msg 2017-06-08 01:22:07 +01:00
Michael du Breuil c62e79b5c0 GCS_MAVLink: Update the accelcal signature to accept uint32_t 2017-06-01 20:20:05 +01:00
Michael du Breuil 16bd7a091e GCS_MAVLink: Add landing reporting 2017-05-24 15:22:27 -07:00
Andrew Tridgell f465c37c65 GCS_MAVLink: added async parameter sending 2017-05-01 14:37:13 +10:00
Andrew Tridgell 5c4ca3bf0b GCS_MAVLink: added send_queued_parameters() 2017-05-01 14:36:52 +10:00
Andrew Tridgell 4ce0a8e24e GCS_MAVLink: time limit GCS update() calls
and add performance counters
2017-04-28 16:09:12 -07:00
Eugene Shamaev c9f413da38 GCS_MAVLink: AOA, SSA message 2017-04-19 20:48:42 +10:00
Michael du Breuil 1e816b8be5 GCS_MAVLink: Support sending the BATTERY_STATUS message 2017-04-12 10:21:49 +09:00
Randy Mackay eddd6e5681 GCS_MAVLink: only respond to timesync messages with empty tc1
This avoids the possibility of a timesync message storm
Also process as a common message because no vehicle information is required
Moved location of new method to bottom of cpp file
2017-03-30 08:50:37 +09:00
fnoop fdc310fe97 GCS_MAVLink: add TIMESYNC message handler 2017-03-30 08:50:37 +09:00
Peter Barker d6807d749c GCS_MAVLink: make send_statustext virtual 2017-02-23 23:03:54 -08:00
Peter Barker cc28ff49e9 GCS_MAVLink: support for a singleton 2017-02-13 09:32:01 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas 285c02b8b6 GCS_MAVLink: rename MSG_RADIO_OUT to MSG_SERVO_OUTPUT_RAW to better describe what it is 2017-02-07 11:41:12 +11:00
Francisco Ferreira 7463d4c8f7 GCS_MAVLink: add function to send command requesting vehicle position during accel cal 2016-11-15 11:42:54 -08:00
Andrew Tridgell f62851f780 GCS_MAVLink: added remote device operations
this makes debugging devices much easier. You can even write a
primitive SPI or I2C device driver over mavlink.

Support for this is in the devop MAVProxy module
2016-11-09 17:08:10 +11:00
Andrew Tridgell da7ed73051 GCS_MAVLlink: added handle_common_message()
this will make it easier to add common functions for mavlink messages
without having to do a commit for each vehicle
2016-11-09 17:08:09 +11:00
floaledm 9f8d2f0506 GCS_MAVLink: send status_text messages to Frsky lib queue 2016-11-08 07:42:39 +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 792f3b8a15 GCS_MAVLink: added handle_rc_bind() 2016-10-15 21:42:38 +11:00
Andrew Tridgell f01f711ff6 GCS_MAVLink: added accept_packet() hook
this will allow vehicles to control whether packets are accepted by
GCS sysid or not
2016-10-15 17:11:01 +11:00
Andrew Tridgell 1fa137caad GCS_MAVLink: added handle_preflight_reboot() 2016-08-16 12:53:33 +10:00
Peter Barker aae84b3edc GCS_MAVLink: send_collision_all 2016-07-25 20:24:37 +09:00
Peter Barker 7bc9a1cf83 GCS_MAVLink: break out a packetReceived function
This just moves code, doesn't change it
2016-07-25 20:24:37 +09:00
Andrew Tridgell 306487cad4 GCS_MAVLink: adjust for 16 channels in SERVO_OUTPUT_RAW 2016-07-25 10:06:02 +10:00
Tom Pittenger 4fe94bdea3 GCS_MAVLink: add ADSB_streamrate 2016-06-19 11:24:30 -07:00
Tom Pittenger b4b0ec404c GCS_MAVLink: flag a link as active if it ever sends a message 2016-06-13 18:25:26 -07:00
Peter Barker 1e146256cc GCS_MAVLink: move telemetry_delayed up into base class 2016-05-31 08:46:09 +10:00
Peter Barker e828525c94 GCS_MAVLink: adjust_rate_for_stream_trigger is no longer virtual 2016-05-29 21:24:41 +10:00
Peter Barker 43fed65f37 GCS_MAVLink: move adjust_rate_for_stream up 2016-05-29 19:38:49 +10:00
Peter Barker 56114dd37a GCS_MAVLink: use subclasses in vehicle directories
Instead of the vehicles defining functions that are declared in the libraries directory, they will now create subclasses of GCS_MAVLINK
2016-05-29 16:21:20 +10:00
Andrew Tridgell 7ec513668e GCS_MAVLink: reserve some space when param fetch fails
this ensures we give some buffer space for parameter fetch when we are
low on buffer space

we reserve 100 bytes for 2 seconds after a param fetch fails due to
low buffer space
2016-05-28 15:08:46 +10:00
Andrew Tridgell 273c80116a GCS_MAVLink: added a wrapper for sending HEARTBEAT
will be used to cope with old radios with MAVLink2
2016-05-21 15:25:17 +10:00
Andrew Tridgell 018b1143d2 GCS_MAVLink: handle difference between SERIALn_PROTOCOL=1 and 2 2016-05-21 15:25:17 +10:00
Andrew Tridgell b3f94184f2 GCS_MAVLink: always build with MAVLink2 headers 2016-05-21 15:25:16 +10:00
Andrew Tridgell 318ec69465 GCS_MAVLink: added periodic saving of signing key
thanks to Michael for noticing this was missing
2016-05-21 15:25:15 +10:00
Andrew Tridgell 12c1d58511 GCS_MAVLink: cope with different packet overheads with signing
use common macros for determining if there is sufficient space to send
a packet
2016-05-21 15:25:14 +10:00
Andrew Tridgell a05679fb3b GCS_MAVLink: fixed build after rebase 2016-05-21 15:25:14 +10:00
Andrew Tridgell 970dbf3c8d GCS_MAVLink: fixed build with MAVLink1 2016-05-21 15:25:13 +10:00
Andrew Tridgell 24eb6afbe9 GCS_MAVLink: provide signing streams and accept_unsigned callback 2016-05-21 15:25:13 +10:00
Andrew Tridgell ed9a43ca46 GCS_MAVLink: support for mavlink2 signing operations 2016-05-21 15:25:12 +10:00
Andrew Tridgell 8ea9e29fee GCS_MAVLink: use a fixed signing key for testing 2016-05-21 15:25:12 +10:00
proficnc c8b3c527f9 GCS_MAVLink: add route mask for blocking MAVlink forwading 2016-05-12 17:44:06 +10:00
Leandro Pereira f23bd7e09d GCS_MAVLink: Use a single stream_trigger() implementation
This has no side effects, but since all implementations were basically
the same, move the implementation to GCS_Common and the only part that
adjusts the rate based on which which stream to each individual
GCS_MAVLINK implementation.
2016-05-07 23:49:35 -03:00
Michael du Breuil a17ea5c121 GCS_MAVLink: Add POSITION_TARGET_GLOBAL_INT to the list of messages 2016-05-01 07:38:23 +10:00
Niti Rohilla 8fcf5cf0c1 Changed the prototype of handle_guided_request() to report error
while setting guided points.
2016-04-29 12:39:28 -03:00
Lucas De Marchi c2b5ad46b4 GCS_MAVLink: replace header guard with pragma once 2016-03-16 18:40:44 +11:00
Andrew Tridgell fe3812c51b GCS_MAVLink: re-worked text send in terms of ObjectArray 2016-02-24 09:18:06 +11:00
Tom Pittenger 54d2a263fe GCS_MAVLink: create queue scheme for static statustext msgs 2016-02-24 09:18:05 +11:00
Andrew Tridgell 5080201be6 GCS_MAVLINK: added set_dataflash() method 2016-02-22 12:34:32 +11:00
Andrew Tridgell 5da6082d78 GCS_MAVLink: raise the waypoint receive timeout to 8s
this fixes a timeout in autotest
2016-01-20 17:23:36 +11:00
Andrew Tridgell 68a46bc1ff GCS_MAVLink: use AP_Param::count_parameters() 2016-01-06 14:44:37 +11:00
Peter Barker 368363531f GCS_MAVLink: provide facilities to send param values to all GCS 2015-11-09 09:23:20 +11:00
Lucas De Marchi 1b07dabeb7 Replace prog_char and prog_char_t with char
prog_char and prog_char_t are now the same as char on supported
platforms. So, just change all places that use them and prefer char
instead.

AVR-specific places were not changed.
2015-10-30 14:35:30 +09:00
Lucas De Marchi af88ebf477 GCS_MAVLink: remove send_text_P() in favor of send_text() 2015-10-30 14:35:18 +09:00
Randy Mackay 9b96a2c385 GCS_MAVLink: send_home and send_home_all methods 2015-10-03 12:50:42 +09:00
Andrew Tridgell bc4d37c91e GCS_MAVLink: added severity to send_statustext_all() 2015-09-08 14:29:22 +10:00
Andrew Tridgell f3e8819d1e GCS_MAVLink: make send_statustext_all() take a format string
this allows for formatted messages to all groundstations in libraries
2015-09-08 13:53:58 +10:00
Jonathan Challinger 53fe649016 GCS_MAVLink: add MSG_MAG_CAL_PROGRESS and _REPORT 2015-09-03 16:59:11 +10:00
squilter 426dab5078 GCS_MAVLink: update severities and remove old enum 2015-08-28 10:04:35 +10:00
squilter 9d3a906602 GCS_Common: accept any type of severity, not just the old enum 2015-08-25 14:04:37 +09:00
squilter fb1bb3f571 GCS_MAVLink: make arguments mandatory for send_autopilot_version 2015-08-23 09:21:59 +09:00
squilter c4c63da163 GCS_MAVLink: send_autopilot_version accepts version 2015-08-21 22:40:51 +09:00
Tom Pittenger 1dd8b9d363 GCS_MAVLink: add support for try send mission_item_reached
also moved most of send_item_reached into common library
2015-08-19 15:26:32 +10:00
Lucas De Marchi 42fadb1845 GCS_MAVLink: standardize inclusion of libaries headers
Do the missing header changes due to changing the code before the pr
getting accepted.
2015-08-18 17:12:52 +10:00
Andrew Tridgell 8f1e1a1b4a GCS_MAVLink: added RPM MAVLink message 2015-08-12 15:03:49 +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 d0aa1a89cd GCS_MAVLink: retrieve capabilities from HAL 2015-07-31 14:50:22 +09:00
squilter c946ce72e8 GCS_MAVLink: add optional param to support capability bitmask 2015-07-31 14:50:10 +09:00
Randy Mackay e7df54ca75 GCS_MAVLink: static find_by_mavtype method 2015-07-25 10:53:03 +09:00
Randy Mackay a61129f7f8 GCS_MAVLink: add support for send_mission_item_reached 2015-07-19 12:14:09 +09:00
Randy Mackay 642aa74530 GCS_MAVLink: add send_vibration 2015-06-12 21:36:42 +09:00
Andrew Tridgell f50ee4c44c GCS_MAVLink: all vehicles now use functors 2015-06-01 15:18:33 +10:00
Andrew Tridgell cc80fdf593 GCS_MAVLink: added PID_TUNING message 2015-05-27 14:28:45 +10:00
Andrew Tridgell 4fdfa47ca3 GCS_MAVLink: removed BUILD_DELEGATES code
no longer needed
2015-05-26 14:35:12 +10:00
Lucas De Marchi 58847bffd6 GCS_MAVLink: allow to use functor 2015-05-26 13:46:50 +10:00
Andrew Tridgell 84726e4a3a GCS_MAVLink: use APM_BUILD_DELEGATES 2015-05-21 07:48:52 +10:00
Andrew Tridgell 71b550d7b5 GCS_MAVLink: support member functions for rover 2015-05-21 07:48:47 +10:00
Tom Pittenger d94c95a6ef GCS_MAVLink: return true if mission recieve is complete
when handing a mission item, and that is the last item, return true so that whoever is handling this knows we have a new mission list. From here we can log a new mission
2015-05-08 21:01:51 +10:00
Niels Joubert 2a5b25ddbf GCS_MAVLink: Re-enable GPS Injection Packets 2015-04-24 08:01:32 +10:00
Randy Mackay 1f705eb6a3 GCS_MAVLink: add send_to_components method 2015-04-20 13:50:04 +09:00
Andrew Tridgell 6e52ef2a74 GCS_MAVLink: added send_local_position() 2015-04-05 09:16:41 -07:00
Randy Mackay d738eda59d GCS_MAVLink: integrate Serial Manager instance 2015-04-01 14:59:23 -07:00
Randy Mackay 5ee67e63ec GCS_MAVLink: add EKF_STATUS_REPORT to enum 2015-03-12 12:19:58 +09:00
Andrew Tridgell 8cfe8c5823 GCS_MAVLink: moved send_autopilot_version() to common code 2015-02-11 19:50:40 +11:00
Grant Morphett 3a5eb33d86 GCS_MAVLink: Bug - CLI_ENABLED check should be in vehicle code only.
Changes to fix the warnings in rover sitl build.
We are starting the process of resolving all the warnings in the
ardupilot builds of all vehicles and platforms.
2015-02-11 18:16:46 +11:00
Andrew Tridgell dd0e45db41 GCS_MAVLink: fixed build of example sketches 2015-02-09 11:49:25 +11:00
Andrew Tridgell 35c14c787e GCS_MAVLink: added handle_gimbal_report() function
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2015-02-03 09:49:15 +11:00
Randy Mackay 0c3a8f585a GCS_MAVLink: add get_uart accessor
use by flight code to print messages during startup
2015-01-29 14:05:12 +11:00
Randy Mackay febda988af GCS_MAVLink: mavlink_channel from SerialManager 2015-01-29 14:05:11 +11:00