Commit Graph

43 Commits

Author SHA1 Message Date
Beat Küng a89980f440 MavlinkParametersManager: update sending rate
This is an adjustment due to the changed calling frequency of send()
(was 300 Hz, is now 100 Hz)
2017-05-18 09:48:14 +02:00
Beat Küng d70caeb24b MavlinkParametersManager: remove MavlinkStream inheritance 2017-05-18 09:48:14 +02:00
Beat Küng 45af77a543 mavlink parameters: try to send 5 params at once on USB & UDP connections
This further speeds up param loading.

On Pixracer via USB, it's possible to send up to 11 at once before the TX
buffer gets full, so there is still enough free bandwidth left.
2017-03-14 21:30:04 +01:00
Michael Schaeuble 0d61e22d9b mavlink: Buffer UAVCAN parameter re-requests
We buffer the mavlink messages and don't forward them directly
via uORB. This solves an issue where many requests are dropped and
QGC does not start properly in combination with UAVCAN devices.
2017-02-17 09:15:56 +01:00
Lorenz Meier 3eb7caba4f MAVLink param handling: Exclude Coverity false positives 2017-01-14 07:47:03 -08:00
Daniel Agar c9956e25b4 mavlink fix code style 2017-01-07 01:03:18 -05:00
Lorenz Meier 86c581b2ef Enable usage of UAVCAN node ID for params 2016-11-13 18:43:15 +01:00
Lorenz Meier 9866ff8959 Allow sending a param with a different component ID 2016-11-13 18:43:15 +01:00
Beat Küng 643ccd66b6 MavlinkParametersManager: output deprecation warning if INAV is selected 2016-11-08 11:17:07 +01:00
Lorenz Meier 720c445f21 MAVLink: Code style 2016-08-26 23:43:33 +02:00
Lorenz Meier 71d150f6ec MAVLink app: Fix rate handling 2016-07-10 17:05:33 +02:00
Beat Küng 0eb22823a6 fix resource leak in MavlinkParametersManager: call orb_unsubscribe 2016-06-07 10:05:59 +02:00
Lorenz Meier 0a597d0d62 MAVLink: Update to version 2 compaat API 2016-05-19 20:13:32 +02:00
Daniel Agar 76387b1693 uorb autogeneration 2016-05-14 11:27:07 +02:00
Daniel Agar 7aa6e85563 enable Wshadow 2016-05-05 13:32:42 +02:00
Nate Weibley a1c9dc1f68 When restarting listing all parameters, skip sending hash on subsequent request
This change fixes a bug where hash-aware QGC using the old spec would continuously request the parameter list every time it received a mismatched hash.
2016-02-18 18:51:17 +01:00
Nate Weibley ae3838ff2e Remove superfluous parameter cache load message 2016-02-18 18:51:17 +01:00
Nate Weibley 0419a99f00 New param hashing spec
- When listing all params, lead with _HASH_CHECK value for cache load
 - When set value on _HASH_CHECK is rx'd, stop any ongoing listing req
2016-02-18 18:51:17 +01:00
Lorenz Meier b126f00052 Merged master 2015-10-14 22:07:49 +02:00
Ben Dyer 7dacb835b9 Fixing build on targets without the UAVCAN module 2015-10-14 00:50:07 +11:00
Ben Dyer 250c912704 Added MAVLink/UAVCAN parameter bridge; implemented UAVCAN ESC enumeration 2015-10-13 21:50:23 +11:00
Nate Weibley d7274ac5f0 Enable hash check of used parameters to verify integrity of GCS local copy 2015-10-12 13:40:14 -04:00
Lorenz Meier d7bfdfd234 MAVLink app: Adjust to changes in uORB topic 2015-08-20 10:20:27 +02:00
Lorenz Meier 951b27518f Merged beta to master 2015-08-06 10:08:50 +02:00
Lorenz Meier e2c657ede0 MAVLink params: Eventually time out to make QGC happy, but let the user know that the boot failed. 2015-08-06 00:13:09 +02:00
Lorenz Meier ea7ae7d019 Merged beta into master 2015-08-01 16:58:02 +02:00
Lorenz Meier a1fd088e8f MAVLink app: Rely on booted state, not on timeout for parameters. This fixes any param timing issues for good. 2015-07-22 10:03:45 +02:00
Lorenz Meier 454becdae5 Merged release_v1.0.0 branch into master 2015-06-25 21:45:17 +02:00
Lorenz Meier c192398a65 mavlink app: Be more verbose on param load fails 2015-06-23 09:36:19 +02:00
Mark Charlebois a452478ef9 More fixups for orb_advert_t changed to void *
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-27 14:42:49 -07:00
Mark Charlebois 1ca05aaa64 orb_advert_t changed to void * and checks changed to nullptr
The existing orb_advert_t use thoughout the code sometimes tries
to treat it as a file descriptor and there are checks for < 0
and ::close calls on orb_advert_t types which is an invalid use
of an object pointer, which is what orb_advert_t really is.

Initially I had changed the -1 initializations to 0 but it was
suggested that this should be nullptr. That was a good recommendation
but the definition of orb_advert_t had to change to void * because
you cannot initialize a uintptr_t as nullptr.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-27 14:42:49 -07:00
Mark Charlebois a734fc96d1 extensive orb_advert_t fixes
The calls to orb_advertise were being mishandled throughout the code.
There were ::close() calls on memory pointers, there were checks
against < 0 when it is a pointer to a object and values larger than
0x7ffffffff are valid. Some places orb_advert_t variables were
being initialized as 0 other places as -1.

The orb_advert_t type was changed to uintptr_t so the pointer value
would not be wrapped as a negative number. This was causing a failure
on ARM.

Tests for < 0 were changed to == 0 since a null pointer is the valid
representation for error, or uninitialized.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-27 14:41:33 -07:00
Lorenz Meier fa8dc57236 mavlink app: Only send params if the system has booted. 2015-05-15 08:31:45 +02:00
Lorenz Meier 965e7cce03 mavlink app: Robustify param handling 2015-04-27 09:03:49 +02:00
Lorenz Meier 76ce611e84 MAVLink app: Use right lookup function 2015-04-26 14:02:06 +02:00
Lorenz Meier d8c91b9fbd MAVLink app: Be less verbose 2015-04-20 09:14:13 +02:00
Lorenz Meier 78741c87e5 MAVLink app: 1) only transmit active params, 2) send params faster, 3) ensure no overflow occurs on buffer when sending at higher rate. 2015-03-28 13:07:01 -07:00
Lorenz Meier fe12bffefa param subsystem: Only send the instantiated parameters via telemetry 2015-03-28 13:07:01 -07:00
Thomas Gubler ef8abfbf14 rc2param: min and max values 2014-12-28 22:55:04 +01:00
Thomas Gubler e9b41528dc prototype for changing params by rc 2014-12-28 22:26:39 +01:00
Anton Babushkin d70b21c51a mavlink: move commands stream to mavlink_messages.cpp, bugs fixed 2014-07-23 15:37:56 +02:00
Anton Babushkin a5f2d1b066 mavlink: new message sending API, includes fixed 2014-07-23 11:11:49 +02:00
Anton Babushkin 4722b609cc mavlink: parameters handling moved to MavlinkParametersManager class 2014-07-23 11:03:04 +02:00