Commit Graph

536 Commits

Author SHA1 Message Date
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
Randy Mackay c6326fc9b7 GCS_MAVLink: use SerialManager for setup_uart 2015-01-29 14:05:11 +11:00
Andrew Tridgell d25bd8955d GCS_MAVLINK: move send_opticalflow() into common library 2015-01-03 15:53:22 +11:00
Andrew Tridgell 079158d4b8 GCS_MAVLink: strip out the old GCS_Class class
this is not longer needed as we don't support multiple protocol
classes
2014-12-11 12:32:45 +09:00
Andrew Tridgell f198cdcf20 GCS_MAVLink: added support for a MAVLink snoop function
this can be used to watch messages for different targets
2014-12-11 12:32:32 +09:00
Andrew Tridgell 11f88f0f5d GCS_MAVLink: added routing object to GCS_MAVLink 2014-12-11 12:30:55 +09:00
Randy Mackay da247bacf8 GCS_MAVLink: add OPTICAL_FLOW to ap_message enum 2014-12-08 14:58:30 +09:00
Arthur Benemann 9b5684d007 GCS_MAVLink: add MOUNT_STATUS to message enum 2014-11-17 15:59:28 -08:00
Arthur Benemann b48edf479b GCS_MAVLink: add CAMERA_FEEDBACK to enum 2014-10-31 14:46:40 +09:00
Andrew Tridgell 60aa017e11 GCS_MAVLink: added handle_set_mode() function 2014-10-01 14:19:04 +10:00
Randy Mackay 0322a876eb GCS_MAVLink: check target before erasing log 2014-09-30 15:18:31 +10:00
Randy Mackay de747d215a Revert "GCS_MAVLink: send radio_in using rcmap"
This reverts commit 0881ccbee0.
2014-08-16 20:31:14 +09:00
Randy Mackay 0881ccbee0 GCS_MAVLink: send radio_in using rcmap 2014-08-16 15:27:03 +09:00
Andrew Tridgell bc95e746ce GCS_MAVLink: fixed example sketch builds 2014-08-11 11:06:17 +10:00
Andrew Tridgell 9a1bac06d4 GCS_MAVLink: added send_battery2() 2014-08-09 22:50:14 +10:00
Andrew Tridgell f49258eb31 GCS_MAVLink: added send_statustext_all() method
used for sending text messages from libraries
2014-08-08 13:54:21 +10:00
Andrew Tridgell e23ee34d95 GCS_MAVLink: added MSG_TERRAIN 2014-07-24 21:45:46 +10:00
Andrew Tridgell 3020d91dcd GCS_MAVLink: keep a bitmap of what mavlink channels are active
- this will allow for looping over active channels in libraries
- expose active channel mask
2014-07-24 21:45:46 +10:00
Andrew Tridgell ddb030088d GCS_Mavlink: moved some more mavlink functions to GCS_Common.cpp 2014-07-13 15:37:49 +10:00
Niels Joubert baf0697f48 GCS_MAVLink: Add support for GPS_RTK messages 2014-06-30 10:30:16 +10:00
Andrew Tridgell 0b6407256c GCS_MAVLink: moved 3 more send_*() functions to GCS_Common.cpp 2014-05-28 09:35:30 +10:00
Andrew Tridgell 63da53c842 GCS_MAVLink: moved main update() routine into GCS_Common.cpp
this fixes a common timeout error with loading large missions, and
means less per-vehicle code
2014-05-21 12:45:25 +10:00
Andrew Tridgell 49e7ee9ba7 GCS_MAVLink: added setup_uart() method
this provides a common way of dealing with UART setup for a GCS
instance. It includes code to cope with SiK radios stuck in bootloader
mode.
2014-05-16 11:44:33 +10:00
Andrew Tridgell b8675b9abc GCS_MAVLink: implement SERIAL_CONTROL MAVLink message 2014-04-05 07:34:33 +11:00
Andrew Tridgell 8af9573806 GCS_MAVLink: allow logging of RADIO_STATUS, very useful for link analysis 2014-03-20 09:56:37 +11:00
Andrew Tridgell 0832aba6bc GCS_MAVLINK: moved deferred message handling into common code 2014-03-19 12:14:15 +09:00
Andrew Tridgell 8d89a64312 GCS_MAVLink: moved handling of MISSION_ITEM into common code 2014-03-19 12:14:09 +09:00
Andrew Tridgell 965f6bd3bd GCS_MAVLink: make DataFlash a pointer
handle sketches where DataFlash is not available
2014-03-19 12:13:37 +09:00
Andrew Tridgell b85c5123b2 GCS_MAVLink: added save parameter to handle_request_data_stream()
this allows copter to not save stream rate changes
2014-03-19 12:13:35 +09:00
Andrew Tridgell 79bb14b8c1 GCS_MAVLink: moved RADIO_STATUS handling into common code 2014-03-19 12:13:34 +09:00
Andrew Tridgell 144217ac74 GCS_MAVLink: moved parameter and stream handling into common code
this keeps it in common between vehicles, and saves stack space
2014-03-19 12:13:32 +09:00
Andrew Tridgell 0b811ba6a9 GCS_MAVLink: added have_flow_control() method
can be used to change speed of handling some protocol methods, as we
know communication will be reliable
2014-03-19 12:13:25 +09:00
Randy Mackay c462adf2ee GCS_MAVLink: added five handle_mission methods
The five methods moved from the vehicle specific code are
handle_mission_request_list, set_current, count, clear_all and
write_partial_list
2014-03-19 12:13:19 +09:00
Andrew Tridgell add2416dbe GCS_MAVLink: added handle_mission_request() common function
this handles requests for mission items, using stack saving

Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2014-03-19 12:13:10 +09:00
Andrew Tridgell 9aea781248 GCS_MAVLink: moved send_ahrs2 to common code 2014-02-15 05:48:16 +11:00
Andrew Tridgell 87355127ca GCS_MAVLink: added send_power_status() 2014-02-15 05:00:09 +11:00
Andrew Tridgell 87226fed97 GCS_MAVLink: avoid log scans when possible
don't scan logs when the GCS sends a new data request
2013-12-29 15:00:19 +11:00
Andrew Tridgell af124a8a45 GCS_MAVLink: moved send_meminfo() to GCS_Common.cpp 2013-12-28 16:00:19 +11:00
Andrew Tridgell efc7f88e4b GCS_MAVLink: sped up downloading DF logs over MAVLink 2013-12-28 14:25:54 +11:00
Andrew Tridgell 137137d4e1 GCS_MAVLink: remove unused header 2013-12-17 11:51:36 +11:00
Andrew Tridgell 0a9e2d332a GCS_MAVLink: support erase and faster downloads 2013-12-17 11:51:35 +11:00
Andrew Tridgell d034a4108b GCS_MAVLink: started adding MAVLink log download 2013-12-17 11:51:35 +11:00
Andrew Tridgell eb2cb0abe0 Copter: moved GCS.h to common library 2013-12-17 11:51:34 +11:00