Commit Graph
2087 Commits
Author SHA1 Message Date
Julian Oes 3815e608f4 mavlink: create stream if needed and trigger once
Instead of creating the stream and deleting it again, we now create it
with a rate of 0 and trigger it once.

This should avoid heap fragmentation by continous allocations.
2020-06-03 17:57:12 +02:00
Julian Oes acdc15e2cd mavlink: create stream even if rate is 0
This allows to send a message exactly once if requested.
2020-06-03 17:57:12 +02:00
Julian Oes bb032a9c46 mavlink: remove incorrect outdated comment
Default is -2, so the comments seems wrong.
2020-06-03 17:57:12 +02:00
Julian Oes 80f91b0f6a mavlink: add support for legacy requests back in 2020-06-03 17:57:12 +02:00
Julian Oes b4cbd93b7c mavlink: new args to request message, omit param1
We can omit param1 because it is already used for the message_id, so
it's basically duplicate information and won't get used anywhere.
2020-06-03 17:57:12 +02:00
Julian Oes 27b6c209e0 mavlink: Move request message logic to function 2020-06-03 17:57:12 +02:00
David Jablonski 62bf0a6cf8 added streams to mavlink messages 2020-06-03 17:57:12 +02:00
David Jablonski edbe7e3ef0 added FLIGHT_INFORMATION stream 2020-06-03 17:57:12 +02:00
David Jablonski e1f4a70c0e added AUTOPILOT_VERSION and PROTOCOL_VERSION streams 2020-06-03 17:57:12 +02:00
David Jablonski aef2a5755e moving storage_information stream to separate file 2020-06-03 17:57:12 +02:00
David Jablonski 9ce9fe38de use storage_id 1 2020-06-03 17:57:12 +02:00
David Jablonski fd09198c7e implemented MAV_CMD_REQUEST_MESSAGE for STORAGE_INFORMATION 2020-06-03 17:57:12 +02:00
Daniel Agar e34bdb4be9 move IMU integration out of drivers to sensors hub to handle accel/gyro sync
- IMU integration move from drivers (PX4Accelerometer/PX4Gyroscope) to sensors/vehicle_imu 
 - sensors: voted_sensors_update now consumes vehicle_imu
 - delete sensor_accel_integrated, sensor_gyro_integrated
 - merge sensor_accel_status/sensor_gyro_status into vehicle_imu_status
 - sensors status output minor improvements (ordering, whitespace, show selected sensor device id and instance)
2020-05-30 11:07:54 -04:00
TSC21 ad4d4287fa mavlink odometry: properly set the frame id fields 2020-05-28 15:45:13 +01:00
TSC21 562d57fee8 mavlink: fix odometry frames of reference setup 2020-05-28 15:45:13 +01:00
BazookaJoe1900 cd8850b43b mavlink: bring class LogListHelper into MavlinkLogHandler (#14452)
This is in order to avoid dynamic allocation of LogListHelper when downloading logs.
2020-05-25 10:08:25 +02:00
Dusan Zivkovic b7ebdab7fd mavlink_receiver: handle LANDING_TARGET message: publish irlock_report when landing target position invalid 2020-05-23 11:42:21 -04:00
Beat Küng 6c16a29d26 mavlink: remove unneeded TIMESYNC stream from MAVLINK_MODE_EXTVISION
set in MAVLINK_MODE_EXTVISIONMIN by fallthrough
2020-05-20 09:12:50 +02:00
Beat Küng 107ab16e96 mavlink: reorder streams to optimize latency
In particular this together with the previous commit reduces timesync
round-trip time spikes by more than 10ms, and makes it generally more
stable.

Other streams are reordered according to onboard priority.
2020-05-20 09:12:50 +02:00
Beat Küng fa8def903d mavlink: move ulog handling after stream updates
reduces latency for the mavlink streams
2020-05-20 09:12:50 +02:00
Silvan Fuhrer b5cc3c4ef5 mavlink_messages: send EAS instead of IAS (#14858)
Send equivalent_airspeed_m_s instead of indicated_airspeed_m_s for HUD on groundstation.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-05-18 10:34:39 +02:00
kritz 3897030c6f Support odometry velocity in body and local frame (#14703)
* Update submodule ECL

* increase lower bound on EVV param
2020-05-13 12:43:02 +02:00
Daniel Agar 05886e053f mavlink_log_info: always print to console and merge with mavlink_and_console_log_info 2020-05-12 08:53:51 +02:00
Daniel Agar ca998c1822 IMU: parameterize IMU integration time (IMU_INTEG_RATE)
- default integration rate now 200 Hz (5000 us interval)
 - set update rate for all drivers and simulators using PX4Accelerometer/PX4Gyroscope
2020-05-05 20:34:09 -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
David Jablonski 09180b9d4a mavlink: increment cmd confirmation field (#14808) 2020-05-04 09:21:01 +02:00
kamilritz 0cdf2c2e29 Use ground truth uorb topic for ground truth mavlink message 2020-05-01 21:00:24 -04:00
Mohammed Kabir 5ffe88672e vehicle_odometry: add timestamp_sample field for latency monitoring 2020-04-28 13:58:43 -04:00
Julian Oes 48c60d354d mavlink: move tune publication to separate class
This makes it easier to allocate in MavlinkReceiver.
2020-04-28 08:45:39 +02:00
Julian Oes 2d5184fcfe mavlink: copy tune to buffer to play later
Instead of blocking the receiver thread while playing a tune we now copy
the tune to a buffer and check if we can play the next note on each
iteration of the receiver thread.

The buffer and tune object is only created on the heap if we receive a
tune to play once and doesn't use resources otherwise.
2020-04-28 08:45:39 +02:00
Julian Oes 6f707bf7b5 mavlink: add support for PLAY_TUNE_V2 2020-04-28 08:45:39 +02:00
Julian Oes 5f676b6795 mavlink: move tune publication to a method 2020-04-28 08:45:39 +02:00
Julian Oes 06f40042e9 mavlink: use static_cast instead of C-style cast 2020-04-28 08:45:39 +02:00
Julian Oes 18b39545ab mavlink: add missing uORB publication of tunes
The old tune device interface is not working anymore and we need to
publish to uORB tune_control.

This solution is not optimal though because blocks the receiving thread.
2020-04-28 08:45:39 +02:00
Daniel Agar b761060c9b perf counters fix perf free and cleanup naming 2020-04-15 16:22:06 +02:00
Daniel Agar dc2254aa34 WIP: mavlink send hacks 2020-04-15 16:22:06 +02:00
Julien Lecoeur 7b12a21565 mavlink: Enable offboard attitude for coaxial airframes 2020-04-07 09:23:03 -04:00
Beat Küng 08bfeb3dc7 mavlink: fix potential busy loop upon USB disconnect
When disconnecting USB poll returns successfully, but the read returns
-1 with ENOTCONN.
In addition this also ensures there's no busy loop when poll returns an
error.

MAVLink continues to work after reconnecting USB.
2020-04-06 12:42:10 -04:00
Hyon LimandHyon Lim 3bcd8c63f8 SMBus battery (a.k.a. smart battery) enhancement. (#14496)
* Enhancement: State of health, and max_error value is added. Both shows battery health of SMBUS smart battery.
 * Enhancement: BAT_C_MULT parameter is introduced. This is for high-current capable SMBUS-based battery.
As SMBUS only provides 16-bit for current, it could only be +-32768mA which is about +-32A.
But with proper treatment, it could be extended with little accuracy loss.
This factor can be set for individual battery system with available information.
    * Relative SOC introduced. Proper SMBUS battery should provide percentage of remaining battery
directly. Therefore it does not have to be computed like before.
    * State of Health introduced. Proper SMBUS battery should provide SOH value.
    * Max error: this shows estimation error of BMS.
 * Enhancement: With smart battery, precise estimation of time remaining is provided
with impedance track. It is unit of minute, so 60 seconds multiplied.
Update rate of this is not fast, but very useful.

Co-authored-by: Hyon Lim <lim@uvify.com>
2020-03-31 17:28:22 -04:00
David Jablonski d303b73bc3 respected reviewer comments 2020-03-31 09:23:52 +02:00
David Jablonski 12687f7d8f use memcpy instead of strncpy 2020-03-31 09:23:52 +02:00
David Jablonski a0bf7425ae Implemented multipart status message 2020-03-31 09:23:52 +02:00
mohammad 531efc2d53 mavlink: add ACTUATOR_CONTROL_TARGET1 to stream list
- closes https://github.com/PX4/Firmware/issues/14369
2020-03-30 18:33:34 -04:00
David Jablonski 536cd6cb1a allow DO_CONTROL_VIDEO in missions 2020-03-30 17:10:36 +02:00
David Jablonski 6bd191a24e Mavlink: Implemented SET_CAMERA_ZOOM 2020-03-30 17:10:36 +02:00
Daniel Agar b73ec18abb boards: add px4_fmu-v4 and px4_fmu-v5 optimized (-O3) build variants 2020-03-22 17:50:17 -04:00
bazooka joe ad2d65df8d return with error from _log_request_list() in case of failed allocation 2020-03-21 16:50:46 +01:00
Nico van Duijn 240aad1aef mavlink_mission: beautify mission download error
This commit makes the IGN REQUEST LIST: Busy message more user-oriented
and actionable.
2020-03-20 12:54:00 +01:00
Nico van Duijn 849d3a1b54 mavlink_mission: robustify against dropped ack
This commit handles incoming MISSION_REQUEST_LIST messages such that
they are no longer ignored if the previously requested mission has
sent all mission items but the ack has never been received.

This was the cause for frequent "IGN REQUEST LIST: Busy" warnings
2020-03-20 12:54:00 +01:00
Daniel Agar e5d30c4413 Mavlink: split ESTIMATOR_STATUS and VIBRATION streams 2020-03-19 11:17:31 -04:00