Commit Graph

21166 Commits

Author SHA1 Message Date
Julian Oes 2c5b8a9491 mavlink: handle stream not updated
Our answer does not just depend on whether the stream was found but
whether we actually were able to send out an update.
2020-06-03 17:57:12 +02:00
Julian Oes efb10a2fbc mavlink: address review comments 2020-06-03 17:57:12 +02:00
Julian Oes 7d1b451e39 mavlink: add missing copyright header, pragma once 2020-06-03 17:57:12 +02:00
Julian Oes afafc541d8 mavlink: use send() instead of using reset flag
I think we can just directly use send() and don't need to use the
workaround of resetting the send flag to trigger one send.

Also, we don't need to override it if we don't need to check any params.
2020-06-03 17:57:12 +02:00
Julian Oes b54c44bd37 mavlink: don't send streams with interval 0
We only need to send them immediately if the interval is < 0 meaning
unlimited.
2020-06-03 17:57:12 +02:00
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 9e509a4bec navigator: RTL minor whitespace and style fixes 2020-06-02 22:08:55 -04:00
Daniel Agar aca6be8b5c navigator: RTL destination throttle dataman access 2020-06-02 22:08:55 -04:00
Daniel Agar 11585dfb67 ekf2: decrease default GPS horizontal velocity noise 2020-06-02 08:18:12 -04:00
Dusan Zivkovic 08fdc90175 mission: keep current heading if close to ROI while heading sp is invalid 2020-06-02 12:04:23 +02:00
Daniel Agar a9dacae57e sensors/vehicle_angular_velocity: limit scheduling to IMU_GYRO_RATEMAX 2020-06-01 15:08:50 -04:00
Daniel Agar 96f043cd62 sensors/vehicle_acceleration: limit scheduling to IMU_INTEG_RATE 2020-06-01 15:08:50 -04:00
Daniel Agar b36845330e ms5611: prevent starting as ms5607 type on ms5611 hardware
- an ms5611 using the ms5607 calculations will return impossibly high barometric pressure (~2000 mbar)
2020-06-01 11:31:55 -04:00
Daniel Agar b139f48fef sensors: throttle mavlink emergency log messages
- in rare situations sending these messages multiple times in close succession can actually cause a loop of additional sensor timeouts
2020-06-01 11:25:12 -04:00
Daniel Agar 51a36f0b61 sensors/vehicle_imu: improve initial sensor interval monitoring
- add perf counters for monitoring
2020-05-31 21:41:37 -04: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
Beat Küng 43279f18ba bmp388: fix variable shadowing warning 2020-05-29 09:54:18 -04:00
Dusan Zivkovic 1f57d63503 precland: set the previous position setpoint to invalid, in the position setpoint triplet 2020-05-29 09:18:43 +02:00
Dusan Zivkovic 7eee9deb4c mission: handle precision landing inactivation properly 2020-05-29 09:11:01 +02:00
Dusan Zivkovic a758ea1220 RTL: enable precision landing at the end of RTL, configurable by parameter 2020-05-29 09:11:01 +02:00
Dusan Zivkovic ed9e504695 precland: add a method to check if precland is activated 2020-05-29 09:11:01 +02: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
Daniel Agar 0ec48cfef3 ekf2: increase default baro noise 2 -> 3.5 m 2020-05-28 08:35:07 -04:00
Beat Küng 07b39ec7c0 bmp388: some cleanup
- avoid unnecessary sensor readout cycle during init
- check status register for data ready
2020-05-28 08:34:38 -04:00
Hamish Willee 14853539e3 CBRK_FLIGHTTERM: Does not affect takeoff failure safety detection (#14972)
* CBRK_FLIGHTTERM: Clarify does not affect takeoff failure safety detection

* FD_FAIL_P FD_FAIL_R - clarify apply on takeoff

* Improve param text

Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
2020-05-28 08:30:48 +02:00
Pandacoolcool 664c79742b navigator_main.cpp: don't reset wv enable status (#14901)
* navigator_main.cpp: don't reset wv enable status

* fix review
2020-05-27 15:49:04 +03:00
Daniel Agar c0bf5cc94c systemcmds/gpio: add module documentation 2020-05-27 07:35:27 +02:00
Daniel Agar 094fe269dc systemcmds/gpio: move usage description to bottom and fix formatting 2020-05-27 07:35:27 +02:00
Matthias Grob d92e66863a mc_pos_control: migrate MPC_*_VEL_* parameter to acceleration scaling
Before #14212 the velocity control gains used in the multicopter
position controller were defined as a scale between velocity error in
one axis (or it's integral and derivative respectively) and the unit
thrust vector. The problem with this is that the normalization of the
unit thrust vector changes per vehicle or even vehicle configuration
as 0 and 100% thrust get a different physical response. That's why
the gains are now defined as scale between velocity error
(integral/derivative) and the output acceleration in m/s².
2020-05-26 14:44:41 +02:00
Matthias Grob e482081f91 mc_att_control: grab attitude setpoint before processing estimate reset 2020-05-26 15:07:45 +03:00
Matthias Grob 12ee75700a mc_att_control: adapt setpoint on estimation reset
There was a gap where the attitude controller already used the estimate
with a new reference but the last known attitude setpoint was still based
on the old reference. This leads to a big glitch on reset because until
the attitude setpoint gets updated the error is wrong and as large as the
attitude delta of the reset.
2020-05-26 15:07:45 +03:00
Matthias Grob cf658494ad mc_attitude_control: keep last attitude setpoint as member
The last attitude setpoint that is known from the position controller
is now kept inside the AttitudeControl class such that we don't
keep the whole vehicle_attitude_setpoint struct and always copy over from
there to run an update step.
2020-05-26 15:07:45 +03:00
RomanBapst bd154bf33c FixedWingAttitudeControl: removed parachute from gimbal control group
- parachute is handled separately based on flight termination in px4io

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-05-25 11:44:35 -04:00
Daniel Agar ade8a13203 commander: CMD_COMPONENT_ARM_DISARM don't block disarm if maybe_landed 2020-05-25 11:43:14 -04:00
Matthias Grob 7b41ce4711 simulator: rename parameter variable according to convention 2020-05-25 11:04:24 +02:00
Matthias Grob 88c21337fa Make all battery sensor drivers report their sample interval
To make use of the time abstraction in the leaky integrator.
2020-05-25 11:04:24 +02:00
Matthias Grob 4dc9ca69ab battery: use AlphaFilter class
Replace the filtered value calculations with calls to the class.
This will allow time abstraction.
2020-05-25 11:04:24 +02: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