Commit Graph
29 Commits
Author SHA1 Message Date
Daniel Agar 967d35a6b6 rate limit most parameter_update subscriptions
- parameter updates can be quite expensive because they trigger nearly all modules to reload all of their parameters immediately
 - limit modules from updating faster than once per second
2021-01-10 21:09:15 -05:00
Daniel Agar 409ea2ac02 mavlink: parameters manually mark active minimal QGC set on first send 2020-12-27 13:54:03 -05:00
FengShun eac9a6b68b Replace PublicationQueued with Publication to automatically configure ORB_QUEUE_LENGTH 2020-10-26 13:01:13 +01:00
Daniel Agar f26d4f2b6b mavlink: stop unnecessarily passing around time 2020-10-09 10:30:30 -04:00
Daniel Agar 466b5db36f uORB::Publication improvements and cleanup (#14784)
- create common uORB::PublicationBase
 - uORB::PublicationQueued types are now type aliases
 - ORB_PRIO use enum type everywhere to avoid accidental misuse
 - PX4Accelerometer/PX4Gyroscope/etc driver libs explicitly advertise on construction, unadvertise on destruction. This is a workaround for any potential issues that might appear when accel/gyro cdev and uORB indexing doesn't align.
2020-05-04 11:09:30 -04:00
Daniel Agar f7cf1ffc41 drivers/uavcan: remove MAVLINK header dependency 2019-12-31 21:01:21 -05:00
Daniel Agar f280977ed0 mavlink: update orb_publish to uORB::Publication<> 2019-09-02 23:51:54 -05:00
Daniel Agar e69398c09f introduce uORB::PublicationQueued and transition most orb_advertise_queue usage 2019-08-04 10:08:09 -04:00
Daniel Agar 579cbbb42c mavlink move to new lightweight uORB::Subscription 2019-06-03 17:06:21 -04:00
Daniel Agar ea3acb7121 cmake remove circular linking and reorganize
- px4_add_module now requires MAIN
 - px4_add_library doesn't automatically link
2018-04-29 21:48:54 -04:00
Lorenz Meier f284385c3f MAVLink parameters: Send all updated parameters asynchronously
Parameters can change not just based on GCS request, but also due to internal code or requests by a different valid connected control authority such a cloud service. This change ensures that all connected systems get updated via MAVLink asynchronously.
2018-01-08 09:27:22 +01: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
Daniel Agar c9956e25b4 mavlink fix code style 2017-01-07 01:03:18 -05:00
Lorenz Meier 9866ff8959 Allow sending a param with a different component ID 2016-11-13 18:43:15 +01:00
Julian Oes 8ddda0a8fa mavlink: move the msg id from uint8_t to uint16_t
With mavlink2 new messages are added with msg IDs greated than 255.
Therefore the msg ID types needed to be raised everywhere.
2016-11-09 10:23:34 +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 69f702fb6a MAVLink: Remove unused function definitions 2016-05-15 14:27:59 +02:00
Ben Dyer 250c912704 Added MAVLink/UAVCAN parameter bridge; implemented UAVCAN ESC enumeration 2015-10-13 21:50:23 +11:00
Lorenz Meier c192398a65 mavlink app: Be more verbose on param load fails 2015-06-23 09:36:19 +02:00
Thomas Gubler e9b41528dc prototype for changing params by rc 2014-12-28 22:26:39 +01:00
Anton Babushkin ea2dce3992 mavlink: MavlinkStream API simplifyed 2014-07-23 23:10:10 +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
Lorenz Meier 03c543aba6 MAVLink multi-port WIP, not compiling yet 2014-01-09 08:10:35 +01:00
Lorenz Meier c71f4cf869 Cut over MAVLink to new style build system 2013-04-27 00:10:20 +02:00