Peter Barker
45f7322af6
GCS_MAVLink: avoid catching up on sending messages when sending disrupted
...
The code here was never meant to maintain an "average" streamrate. It
was designed so that we would maintain a consistent clock in the face of
minor scheduling anomalies (like an EKF fusion step).
The way this is written, however, makes us spit out a message for each
of the intervals we missed - clearly not intended behaviour.
This was tested by inserting the following code:
void GCS_MAVLINK::update_send()
{
+ const uint32_t xnow = AP_HAL::millis();
+ if (xnow > 10000 &&
+ xnow < 20000) {
+ return;
+ }
+
2020-10-12 13:48:15 +11:00
Peter Barker
7cb8cde417
GCS_MAVLink: move orderly rebooting code from GCS into AP_Vehicle
...
Several places we reboot the vehicle we should probably do several of
the things done in this code - flushing parameters, forcing safety on
etc.
2020-09-29 18:07:59 +10:00
yaapu
e7a49dd624
GCS_Mavlink: refactor zero_rc_outputs() out of GCS_Mavlink
2020-09-29 18:07:59 +10:00
Andy Piper
5d487be242
GCS_MAVLink: squash enum type error
2020-09-22 09:37:02 +10:00
Andy Piper
8b766efb0a
GCS_MAVLink: add support for updating OSD parameters over mavlink
2020-09-09 20:36:42 +10:00
Sharvashish Das
80e2dbc9f2
GCS_Common: send_local_position uses offset from origin
2020-09-01 10:27:18 +10:00
Andrew Tridgell
30f9fd9d2a
GCS_MAVLink: fixed overrun of text passed to other libraries
...
this caused corruption in log files, and was passing a
non-nul-terminated string to notify and other libraries
2020-08-28 17:35:17 +10:00
Siddharth Purohit
42f5f986d8
GCS_MAVLink: use AP_CANManager library
...
also add support for handling enumeration cmd by KDETest
2020-08-19 17:31:09 +10:00
Peter Barker
0e284b95b0
GCS_MAVLink: move battery type enumeration out of parameters object
2020-08-11 13:21:52 +10:00
Randy Mackay
1a3ef62b84
GCS_MAVLink: add virtual send_winch_status
2020-08-07 21:55:07 +09:00
elhayra
9b3a574775
GCS_MAVLink: sending UAVCAN MAVlink ESC messages
2020-08-06 09:28:35 +10:00
Andy Piper
e91ae19544
GCS_MAVLink: make mount/gimbal configurable on a per-board basis
2020-08-04 09:18:14 +10:00
Dr.-Ing. Amilcar do Carmo Lucas
7067cbdafd
GCS_Mavlink: Adapt to upstream mavlink changes to the SCALED_PRESSURE message
2020-07-29 14:34:22 +10:00
Michael du Breuil
6773821b3b
GCS_MAVLink: Don't forward MAVLink data on channels marked private, make private channels more private
2020-07-22 07:17:49 +10:00
Andy Piper
05416daef3
GCS_Mavlink: output fast sampling startup messages
2020-07-10 16:45:29 +10:00
Andrew Tridgell
5a18b16f69
GCS_MAVLink: use strncpy_noterm
2020-07-10 13:32:24 +10:00
Peter Barker
741520d598
GCS_MAVLink: find next bucket to send when sending-ids emptied on msg removal
...
We need to find the next bucket of messages to send when we've removed
the last message id from the current set of IDs we're sending out - not
just when we've empted the bucket the messages came from in the first
place.
An internal check caught this bug - the
'next_deferred_bucket_message_to_send called on empty bucket' error
2020-07-07 10:49:31 +10:00
Peter Barker
e2056f56e3
GCS_MAVLink: support for sending generator message
2020-07-03 08:21:42 +09:00
Randy Mackay
03ea646e50
GCS_MAVLink: send_battery_status uses memcpy for cell voltages
...
Co-authored-by: WickedShell <Wicked.Shell.Scripts@gmail.com>
2020-06-24 10:19:15 +09:00
Randy Mackay
65aea0e9c1
GCS_MAVLink: send_battery_status sends min of cell 10 11 and 12
2020-06-24 10:19:15 +09:00
Michael du Breuil
7fae084793
GCS_MAVLink: Only send a single battery status per call
2020-06-23 09:18:56 +10:00
Peter Barker
e4621e6921
GCS_MAVLink: do not process commands after we have decided to reboot
2020-06-17 11:54:03 +10:00
chobits
991387dbfb
GCS_MAVLink: support covariance field in vis pose msg
2020-06-09 13:31:21 +09:00
Peter Barker
f158533fe9
GCS_MAVLink: allow private channels to also be active
...
This will allow for logging of private channels.
2020-06-09 10:37:32 +10:00
Peter Barker
06012cbc56
GCS_MAVLink: cope with RingBuffer rename if empty() to is_empty()
2020-06-09 10:21:48 +10:00
Peter Barker
07e3f1d48f
GCS_MAVLink: add RADIO_STATUS.rssi as an AP_RSSI telemetry source
2020-06-09 10:20:29 +10:00
chobits
ff6e4c4f9a
GCS_MAVLink: support VISION_SPEED_ESTIMATE
2020-06-01 17:51:24 +09:00
Peter Barker
5100c9fb8c
GCS_Common: whitelist AUTOPILOT_VERSION for in_delay_callback sending
...
GCSs may request this very early on in the boot process, particularly
for SITL.
If we try to send it during a delay callback then we end up dropping it
at the moment - but we'd already sent the ack in response to the
request.
2020-05-11 15:22:38 +10:00
Andy Piper
da166b256d
GCS_MAVLink: add messages to Spektrum telemetry if it is enabled
2020-05-05 09:23:15 +10:00
Andrew Tridgell
7cd901fa5b
GCS_MAVLink: enable ftp without filesystem
...
allows for @PARAM and @SYS
2020-04-29 07:36:55 +10:00
Peter Barker
8b0b644c11
GCS_MAVLink: correct check for payload space for COMMAND_ACK
2020-04-27 15:30:30 +10:00
Randy Mackay
6f8176c71e
GCS_MAVLink: remove ahrs3
2020-04-22 14:11:17 +09:00
Peter Barker
8b9281eaa1
GCS_MAVLink: log number of times message not sent due to no space
2020-04-17 22:21:14 +10:00
Randy Mackay
c39fef6c56
GCS_MAVLink: pass vision-position-estimate reset_counter to AP_VisualOdom handler
2020-04-14 10:28:03 +10:00
Randy Mackay
9769f08fd9
GCS_MAVLink: visual odometry build fixes
2020-04-09 19:41:08 +09:00
Randy Mackay
a1ddd55ea5
GCS_MAVlink: AP_integrate of rename to handle_vision_position_delta_msg
2020-04-09 19:41:08 +09:00
Randy Mackay
728e8b45a9
GCS_MAVLink: use AP_VisualOdom to handle vision-position-estimate messages
2020-04-09 19:41:08 +09:00
Siddharth Purohit
b0cbbb4bea
GCS_Common: fix unannotated fall-through between switch labels
2020-04-01 17:10:36 +11:00
Peter Barker
0b756547be
GCS_MAVLink: add stream_slowdown to MAV message
2020-03-31 11:13:11 +11:00
Peter Barker
a09ac895e9
GCS_MAVLink: remove dead assignment
...
This value is never used
2020-03-31 10:38:13 +11:00
Andrew Tridgell
8a84dbc19e
GCS_MAVLink: slow down telemetry during ftp
2020-03-28 15:28:03 +11:00
Peter Barker
97b07d9c84
GCS_MAVLink: add option to get the autopilot to hard-fault itself
2020-03-19 16:03:58 +11:00
Andrew Tridgell
39fc324854
GCS_MAVLink: convert to new get_rpm() API
2020-03-12 08:36:40 +11:00
Andrew Tridgell
aaf828c9d4
GCS_MAVLink: consider NO_CHANGE as success for bootloader flash
...
this prevents GCS users from seeing "update failed"
2020-03-11 16:30:06 +11:00
Rishabh
f3e66055e5
GCS_MAVLink: Alert GCS if user tries calibration while vehicle is armed
2020-03-03 11:37:19 +11:00
Peter Barker
fbe2e75b9f
GCS_MAVLink: divide time allowed to send messages fairly
2020-02-27 08:49:59 +11:00
Peter Barker
e2c9f6a8a1
GCS_MAVLink: add flags to MAV dataflash log
...
holds various pieces of simple information about a link
2020-02-25 10:59:22 +11:00
Peter Barker
f8f4ed7ee0
GCS_MAVLink: log disarm method
2020-02-22 12:16:29 +11:00
Andrew Tridgell
20ea1a3dc7
GCS_MAVLink: don't send statustext from other than main thread
...
This fixes high stack usage in the RCIN thread when it notifies the
GCS of a new RCIN protocol. The problem is severe when signing is
enabled, as signing adds over 500 bytes to stack cost of sending a
mavlink msg
fixes issue #13615
2020-02-20 10:39:29 +11:00
Michael du Breuil
1f8c030eba
GCS_MAVLink: Allow scripting to start/stop the REPL
2020-02-18 17:23:22 -07:00
Michael du Breuil
296c014d14
GCS_MAVLink: Fix excess trimming of autopilot version
2020-02-19 09:10:02 +11:00
Matt Lawrence
c84dcd9bf8
GCS_Mavlink: Add routing for GoPro heartbeat
2020-02-18 11:13:27 +11:00
Peter Hall
b1742b4e19
GCS_Mavlink: constrain battery current to avoid wrap
2020-02-12 08:04:39 +11:00
Randy Mackay
7a5f57f940
GCS_MAVLink: send rc output mode banner to GCS
2020-02-04 12:23:33 +11:00
Peter Barker
1650979a2b
GCS_MAVLink: add support for MAV_CMD_DEBUG_TRAP
2020-01-29 10:27:01 +11:00
Peter Barker
e248bdfb16
GCS_MAVLink: split statustexts into 50-byte chunks using mav2 extensions
2020-01-28 19:56:38 +11:00
Peter Barker
8fc64ccbe9
GCS_MAVLink: allow NavEKFs to be compiled out
2020-01-21 11:53:18 +11:00
Peter Barker
a9f62f196e
GCS_MAVLink: consolidate places we snprintf statustexts
2020-01-14 10:38:43 +11:00
Randy Mackay
188fdfb1b8
GCS_MAVLink: send optflow message even if no height estimate
2020-01-06 11:36:43 +09:00
Andrew Tridgell
1b528137f7
GCS_MAVLINK: cope with AP_Frsky_Telem being created after init
...
may be created by the FPort backend
2020-01-02 09:52:57 +11:00
Andrew Tridgell
c6322c7c98
GCS_MAVLink: send abs throttle in VFR_HUD
2019-12-24 15:14:03 +11:00
Peter Barker
01710c035e
GCS_MAVLink: handle proximity and rangefinder messages
2019-12-24 12:08:54 +11:00
Oliver Walters
5fa54f3986
GCS_MAVLink: added support for Piccolo CAN ESCs
2019-12-22 09:48:40 +11:00
Andrew Tridgell
dd73eac08c
GCS_MAVLink: support MAV_CMD_FIXED_MAG_CAL_YAW
2019-12-18 17:20:37 +11:00
Peter Barker
ebbcd00873
GCS_MAVLink: send statustext to all GCSs until update_send is called
...
until update_send it called we don't mark channels as streaming, so
send_statustext won't send to that channel.
Calculating the streaming mask could have been done as part of the init
call, but this fix may allow for information getting to the user in the
case that the streaming parameters are all zero, too.
2019-12-18 14:36:58 +11:00
Andrew Tridgell
f8f591c7db
GCS_MAVLink: fixed critical error on prefight cal ops
2019-12-13 09:30:48 +11:00
Peter Barker
314ea32ede
GCS_MAVLink: any internal error means MAV_STATE_CRITICAL
2019-11-27 14:27:53 +11:00
Marian Soban
6e961b55eb
GCS_MAVLink: LTM telemetry support
2019-11-26 12:14:13 +11:00
Andrew Tridgell
2b27cd2ce9
Plane: Add EFI Support
2019-11-17 20:10:54 +11:00
Andrew Tridgell
00e3344321
GCS_MAVLink: add EFI_STATUS message
2019-11-17 20:10:54 +11:00
Peter Barker
7d2557b316
GCS_MAVLink: correct txspace return value issues
...
- checking of space in send_to_active_channels was incorrect - did not
take into account locked status of the channel
- corrected return value on comm_get_txspace - took a uint32_t, cast it
to int16_t, checked it for zero, then cast it to uint16_t on return.
That's just... odd.
2019-11-12 16:33:12 +11:00
Peter Barker
a893a5483c
GCS_MAVLink: support sysid targetting
2019-11-12 07:52:22 +08:00
Peter Barker
ac7111f1d1
GCS_MAVLink: adjust for renaming of RangeFinder files
2019-11-12 07:14:37 +08:00
Peter Barker
402f3ec09c
GCS_MAVLink: honour coordinate altitude frames for DO_SET_ROI
...
Also use {} to construct the location.
Note the assumption that the frame is relative-to-home when we receive
the command via COMMAND (as opposed to COMMAND_LONG)
Note that this is a behavioural change as
2019-11-05 19:55:45 +11:00
Peter Barker
b9dbfff0d0
GCS_MAVLink: announce capabilities compass-cal and param float for all vehicles
2019-11-05 11:26:23 +11:00
Michael du Breuil
6f538dd45a
GCS_MAVLink: Initial FTP support
2019-11-02 22:52:06 +11:00
Peter Barker
34eff6d1c6
GCS_MAVLink: adjust for proximity status namespace change
2019-10-31 11:58:15 +08:00
Peter Barker
5c3a0926a1
GCS_MAVLink: adjust for proximity rangefinder types changing namespacing
2019-10-31 11:58:15 +08:00
Andrew Tridgell
4593697634
GCS_MAVLink: use new flash_bootloader() API
2019-10-25 21:36:55 +11:00
Michael du Breuil
cb1b236439
GCS_MAVLink: Use the vehicle singleton to directly set the flight mode
2019-10-25 08:48:22 +08:00
Andrew Tridgell
29e65a7294
GCS_MAVLink: supply IMU temperature in mavlink extensions
2019-10-10 13:23:03 +11:00
Do Carmo Lucas
dc4ad26e96
GCS_MAVLink: updates to support the latest stable mavlink changes (IMU temperature extension)
2019-10-10 13:23:03 +11:00
Randy Mackay
3a113a31bb
GCS_MAVLink: minor fix to set_message_interval
2019-10-02 16:09:44 +09:00
Tatsuya Yamaguchi
9a99d9bff5
GCS_MAVLink: add set_message_interval functions
2019-10-02 16:09:44 +09:00
Peter Barker
6d0c5da84a
GCS_MAVLink: allow upload of fence using mission item protocol
...
GCS_MAVLink: add support for fence inclusion circles
GCS_MAVLink: factor out a transfer_is_complete; start commenting properly
2019-09-28 07:58:48 +09:00
Randy Mackay
5e3c6b4d3a
GCS_MAVLink: allow proximity to send only upward facing distances
...
this removes the requirement that a horizontal proximity sensor be enabled
2019-09-25 15:22:13 +09:00
Peter Barker
2f60b230cd
GCS_MAVLink: use singleton to get AP_AdvancedFailsafe pointer
2019-09-17 09:13:43 +10:00
Peter Barker
8da978b913
GCS_MAVLink: use sending_mavlink1 method in send_rc_channels_raw
2019-09-12 16:10:23 +10:00
Andrew Tridgell
98c2606c0a
GCS_MAVLink: fixed assumption on return of snprintf
2019-09-12 08:43:31 +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
df5921a87c
GCS_MAVLink: gate AP_DEVO_Telem behind !HAL_MINIMIZE_FEATURES
2019-09-04 17:47:33 +10:00
Michael du Breuil
e5eeb6181d
GCS_MAVLink: Remove the usage of force_safety_no_wait
2019-09-04 07:14:50 +10:00
Michael du Breuil
a74f00d045
GCS_MAVLink: Remove single use method
2019-09-03 14:35:17 +10:00
Peter Barker
5d9b332bcb
GCS_MAVLink: log exectuted COMMAND_LONG and COMMAND_INT packets
2019-08-27 09:32:00 +10:00
Andrew Tridgell
cfc37f2089
GCS_MAVLink: log corrected timestamp for vision data
...
this allows for debugging of link lag issues
2019-08-26 12:27:31 +10:00
Peter Barker
052e721622
GCS_MAVLink: tweak timings debug messages
2019-08-24 15:33:50 +10:00
Peter Barker
74670a77be
GCS_MAVLink: avoid allocating a GCS_MAVLINK per mavlink channel
2019-08-14 18:25:43 +10:00
Peter Barker
67bf00c1c3
GCS_MAVLink: ensure payload space before sending message ack
...
Also add comment about how we shouldn't be sending this message at all.
2019-08-13 16:48:17 +10:00
Peter Barker
bb542ca39a
GCS_MAVLink: queue AUTOPILOT_VERSION for sending instead of direct-send
...
Also allows the message to be requested for streaming or with
REQUEST_MESSAGE
We weren't checking for buffer space before sending this out, so it was
a possible source of corruption.
2019-08-13 16:29:45 +10:00
Peter Barker
57528b94cf
GCS_MAVLink: allow complete() call on subclasses to fail
...
Also terminate uploads if any error occurs fetching items
2019-08-07 12:07:59 +10:00