Commit Graph

326 Commits

Author SHA1 Message Date
Peter Barker e9204a66ee GCS_MAVLink: include version for AP_FWVersion 2017-08-30 15:54:46 +01:00
Peter Barker 921985fe27 GCS_MAVLink: allow statustext logging from any source system
Turns out this is terribly useful for companion computers if
you allow them to log things when they're not your GCS.

The original check was bogus; if someone is talking to you via
mavlink they can do much worse than fill your logs!
2017-08-23 15:58:47 +01:00
Peter Barker 154b212545 GCS_MAVLink: move serial_control case to base class 2017-08-17 12:42:31 +01:00
Peter Barker b17c0482fb GCS_MAVLink: move play_tune and led_control handling to base class 2017-08-17 12:27:10 +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 b6076bcb77 GCS_MAVLink: adapt to new rangefinder method name 2017-08-15 19:00:29 +01: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 ee5874ab32 GCS_MAVLink: move sending of gps_raw up 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 d03c7389f7 GCS_MAVLink: move sending of meminfo up 2017-08-09 16:18:22 +01:00
Peter Barker 0c5f66dc59 GCS_MAVLink: refactor code into new retry_deferred method 2017-08-05 23:11:09 +01:00
Peter Barker fdac13d3d3 GCS_MAVLink: tidy send_message function 2017-08-05 23:09:37 +01:00
Peter Barker ad2c3d27ec GCS_MAVLink: move try_send_message queued_param_send up 2017-08-03 14:34:33 +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 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 69eb9cbdd2 GCS_MAVLINK: add missing mavlink mission msgid to case 2017-07-15 17:01:18 +09: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 ca6e34dfbd GCS_MAVLink: use Notify singleton for sending statustext 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
Peter Barker cf918d233f GCS_MAVLink: move MAVLINK_MSG_ID_REMOTE_LOG_BLOCK_STATUS handling up 2017-06-17 15:07:48 +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
Andrew Tridgell f778954b84 GCS_MAVLink: split parameter functions into a separate file 2017-05-01 14:36:10 +10:00
Andrew Tridgell 4ce0a8e24e GCS_MAVLink: time limit GCS update() calls
and add performance counters
2017-04-28 16:09:12 -07:00
Michael du Breuil 341ac701d1 GCS_MAVLink: report temperature information to the battery status report 2017-04-19 14:17:24 +01:00
Michael du Breuil 9cb0d8f99b GCS_MAVlink: Add battery cell backend 2017-04-19 14:17:24 +01:00
Michael du Breuil 1e816b8be5 GCS_MAVLink: Support sending the BATTERY_STATUS message 2017-04-12 10:21:49 +09:00
Andrew Tridgell 3080f66d16 GCS_MAVLink: fixes for updated mavlink 2017-04-11 20:03:43 +01:00
Peter Barker 564ff3a468 GCS_MAVLink: always allow HOME to be read by MISSION_REQUEST
Fixes #5980
2017-04-04 15:00:07 +10:00
Randy Mackay eded4f90bb GCS_MAVLink: timesync sends nanoseconds 2017-03-30 08:50:37 +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 cc28ff49e9 GCS_MAVLink: support for a singleton 2017-02-13 09:32:01 +11:00
Michael du Breuil 50346de963 GCS_MAVLink: Update for AHRS NED changes 2017-02-13 09:23:14 +11:00
Peter Barker acb5ddd140 GCS_MAVLink: issue MISSION_COUNT packet if seq request too large 2017-01-23 09:07:29 +11:00
Andrew Tridgell 0942291e74 GCS_MAVLink: adapt to new RC_Channel API 2017-01-12 17:39:37 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas 8419045aea Spell in comments 2017-01-06 10:57:39 -08:00
priseborough 809bfc1154 GCS_MAVLink: replace call to EKF1
Return hagl from primary EKF
2016-12-19 08:07:11 +11:00
Andrew Tridgell eaf378cbf0 GCS_MAVLink: updated optical flow send 2016-11-26 12:27:41 +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
murata c808ee2f49 Global: To nullptr from NULL.
RC_Channel: To nullptr from NULL.

AC_Fence: To nullptr from NULL.

AC_Avoidance: To nullptr from NULL.

AC_PrecLand: To nullptr from NULL.

DataFlash: To nullptr from NULL.

SITL: To nullptr from NULL.

GCS_MAVLink: To nullptr from NULL.

DataFlash: To nullptr from NULL.

AP_Compass: To nullptr from NULL.

Global: To nullptr from NULL.

Global: To nullptr from NULL.
2016-11-02 16:04:47 -02: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 a847520da8 GCS_MAVLink: send RC_CHANNELS_RAW if using MAVLink1
this fixes issue #5010
2016-10-18 18:16:16 +11: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 c1bf23e090 GCS_MAVLink: fixed comment 2016-10-14 11:40:36 +11:00
Andrew Tridgell 53260969bb GCS_MAVLink: removed deprecated RC_CHANNELS_RAW and use RC_CHANNELS only 2016-10-13 21:23:39 +11:00
Matthew Brener 06388b0417 Global: Fix typos 2016-09-17 00:36:36 -03:00
Andrew Tridgell 66073413a8 GCS_MAVLink: announce MAVLink2 capability 2016-09-16 09:47:55 +10:00
Niti Rohilla cadd95fdd8 GCS_MAVLink: Added sanity check for DO_JUMP command on mission load. 2016-09-06 00:40:47 -07:00
Michael du Breuil 7a18d59099 GCS_MAVLink: On mission_set_current report the requested item if the set was a success
The problem with reporting the mission index, is that the mission index will be walked
forward until its referring to a nav target, which means that if a DO_ command was
requested, the requesting mavlink device had no way to validate the command was
accepted, it would have to make a infrence from it's copy of the mission
2016-09-06 08:55:04 +10:00
Leandro Pereira bf3f8c05e7 GCS_Mavlink: Correctly check if a channel is streaming
In GCS_MAVLINK::stream_trigger(), chan_is_streaming would be checked
with a bitwise OR, instead of a bitwise AND.  This way, the condition
would always be true if chan_is_streaming were to be non-zero.
2016-08-24 10:47:12 -03: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
Michael du Breuil c2da36d505 GCS_MAVLink: fix race condition when recieving last waypoint
only shows up when the waypoint is about to time out
2016-06-27 10:57:14 +10: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
Tom Pittenger 8b405e26ea GCS_MAVLink: battery2 current is in 10*mAh over mavlink 2016-06-02 16:59:29 -07:00
Tom Pittenger 4e4bc0bee4 GCS_MAVLink: use voltage(x) instead of voltage2() 2016-06-02 16:59:23 -07:00
Tom Pittenger 608fbee867 GCS_MAVLink: send current2 over mavlink 2016-06-02 16:59:03 -07:00
Peter Barker 1e146256cc GCS_MAVLink: move telemetry_delayed up into base class 2016-05-31 08:46:09 +10:00
Peter Barker 43fed65f37 GCS_MAVLink: move adjust_rate_for_stream up 2016-05-29 19:38:49 +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 0bbddd38cf GCS_MAVLink: fixed some places where packets are sent without space
we always need sufficient space for the packet in the send buffer
2016-05-23 23:41:01 +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 8899455ea3 GCS_MAVLink: use extended MEMINFO message 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 048fc8d39e GCS_MAVLink: adjust for min_length mavlink2 API change 2016-05-21 15:25:15 +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 7aae93e3e0 GCS_MAVLink: fixed auto-switching to MAVLink2 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 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
Andrew Tridgell 2a2abb8be6 GCS_MAVLink: log parameter changes to DataFlash
this means param notifies also get logged in the DF log
2016-05-08 19:12:09 +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
Lucas De Marchi fea084a596 Global: use ap_version.h
This header is used by waf to contain the generated version macros,
particularly using the git hash. For waf it's better to be in a separate
header since it then can keep track of changes on it a trigger
recompilation.

For the make build system, a dummy ap_version.h file has been added in
the missing/ folder so both implementations can co-exist.
2016-05-06 13:11:28 -03:00
Michael Oborne 848fa27d1c GCS_MAVLink: support MAVLINK_MSG_ID_MISSION_ITEM_INT 2016-05-01 07:13:45 +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
Andrew Tridgell 197e72acc0 GCS_MAVLink: fixed null termination bug
found with ASAN
2016-04-26 18:20:49 +10:00
Lucas De Marchi 0d9b9433da GCS_MAVLink: fix home position unit
As per documentation the home position is in mm. Since location stores
it in cm, convert to mm before sending.
2016-04-18 13:07:45 +10: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
Staroselskii Georgii 6172ed078e GCS_Mavlink: send power status from all boards 2016-02-27 03:06:50 -03: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 5da6082d78 GCS_MAVLink: raise the waypoint receive timeout to 8s
this fixes a timeout in autotest
2016-01-20 17:23:36 +11:00
Don Gagne c13cf70163 GCS_MAVLink: system id output as severity INFO 2016-01-18 09:40:00 +09:00
Andrew Tridgell a3d781bf3f GCS_MAVLink: fixed a valgrind error 2016-01-06 19:54:00 +11:00
Andrew Tridgell 0e8dbe92f0 GCS_MAVLink: fixed string overrun found by asan 2016-01-06 19:53:14 +11:00
Andrew Tridgell 68a46bc1ff GCS_MAVLink: use AP_Param::count_parameters() 2016-01-06 14:44:37 +11:00
DonLakeFlyer 74902012fd GCS_MAVLink: better mission errors 2015-12-21 16:02:23 +11:00
Julien BERAUD 780104dc9c GCS_MAVLink: Fix build
Optical Flow definition is needed
2015-12-18 17:56:06 +11:00
Andrew Tridgell c34100f6a2 GCS_MAVLink: support FMUv4 2015-11-27 18:54:30 +11:00
Luis Vale Gonçalves 5e290daac5 GCS_MAVLink: libraries_Text_revision
text revision of messages
2015-11-26 08:10:15 +11:00
Caio Marcelo de Oliveira Filho a096c2b72c GCS_MAVLink: use millis/micros/panic functions 2015-11-20 12:35:34 +09:00
lvale 9d88508cc3 GCS_MAVLink: handle_mission_item text severity to info 2015-11-10 13:11:34 +09:00
Peter Barker 368363531f GCS_MAVLink: provide facilities to send param values to all GCS 2015-11-09 09:23:20 +11:00
Paul Riseborough dfdacf2ddc GCS_MAVLink: Accommodate change to EKF2 interface
Return euler angles for primary instance
2015-11-08 15:37:28 +11:00
Paul Riseborough 243888e923 GCS_MAVLink: accomodate change in EKF2 interface 2015-11-08 15:37:28 +11:00
Andrew Tridgell 49799257ea GCS_MAVLink: handle available memory of over 64k in mavlink 2015-11-05 16:09:00 +11:00
Lucas De Marchi c32d323cd6 GCS_MAVLink: remove check for GPS_RTK_AVAILABLE 2015-11-04 12:14:15 +11:00
Lucas De Marchi c75c1d84d9 AP_GPS: remove check for GPS_MAX_INSTANCES
All supported boards may have more than 1 GPS instance.
2015-11-04 12:14:15 +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
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
Lucas De Marchi 84d5fb006f Remove use of Util::{v,}snprintf_P()
These are now the same function as Util::snprintf().
2015-10-30 14:35:05 +09:00
Lucas De Marchi 2c38e31c93 Remove use of PSTR
The PSTR is already define as a NOP for all supported platforms. It's
only needed for AVR so here we remove all the uses throughout the
codebase.

This was automated with a simple python script so it also converts
places which spans to multiple lines, removing the matching parentheses.

AVR-specific places were not changed.
2015-10-30 14:35:04 +09:00
Lucas De Marchi 36150348bb GCS_MAVLink: remove check for max BARO instances
For all supported boards we allow more than 1 baro instance.
2015-10-21 10:05:18 +11:00
Lucas De Marchi d1ac6cbd4c GCS_MAVLink: remove check for vibe check
For all supported boards we have vibration check.
2015-10-21 10:05:18 +11:00
Lucas De Marchi ae77c4b692 GCS_MAVLink: remove check for max INS instances
For all supported boards the maximum number of instances is 3.
2015-10-21 10:05:17 +11:00
Gustavo Jose de Sousa f0dee75ab3 GCS_MAVLink: use compass get_{field,offsets}() functions
Both functions are equivalent, so we're going to simply use
get_{field,offsets}() instead of get_{field,offsets}_milligauss().
2015-10-15 19:56:08 +09:00
Randy Mackay d3066fcdad GCS_MAVLink: send compass vector to GCS in milligauss 2015-10-07 21:35:21 +09:00
Randy Mackay 9b96a2c385 GCS_MAVLink: send_home and send_home_all methods 2015-10-03 12:50:42 +09:00
Andrew Tridgell 7a3b59652f GCS_MAVLink: show EKF2 status via AHRS3 message 2015-09-23 12:22:54 +10:00
Andrew Tridgell 5aa54be718 GCS_MAVLink: send SCALED_PRESSURE3 for 3 baros 2015-09-14 14:27:42 +10: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
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