Daniel Agar
cbb2fa440b
sensors/vehicle_angular_velocity: only allocate dynamic notch perf counters if enabled (IMU_GYRO_DYN_NF)
2021-03-08 10:35:48 -05:00
Daniel Agar
fddcb73802
sensors/vehicle_angular_velocity: dynamic notch filter support ESC RPM (untested)
2021-03-05 10:56:54 -05:00
Daniel Agar
d5d5b7d82e
sensors/vehicle_angular_velocity: add perf counters
2021-03-05 10:56:54 -05:00
Daniel Agar
00b3b3678b
sensors/vehicle_angular_velocity: gyro dynamic notch filters updated from onboard FFT
2021-03-05 10:56:54 -05:00
Daniel Agar
c9a2d0ed34
IMU_GYRO_RATEMAX set system default to 400 Hz
...
- MC default is still 800 Hz
2021-03-02 10:08:49 -05:00
Daniel Agar
9d0c966b15
sensors: publish sensor_selection initially regardless of SENS_IMU_MODE
...
- in multi-EKF mode the EKF selector becomes repsonsible for sensor
selector rather than the sensors module
- this updates the sensors module to still make the initial primary IMU
selection on startup before the EKF selector (including if the
estimators never fully initialize)
2021-02-27 20:19:05 +01:00
Daniel Agar
6482120d9a
sensors/vehicle_angular_velocity: use full raw FIFO data (sensor_gyro_fifo) if available
2021-02-25 10:06:17 -05:00
Daniel Agar
5f3e883f2c
sensors/vehicle_imu: vehicle_imu_status include accel/gyro full raw FIFO sample rate
2021-02-24 08:13:53 -05:00
Lorenz Meier
2be482c5ae
Sensors: New parameter for baro priority
...
This allows to give external barometers priority if they are present.
2021-02-14 11:17:28 +01:00
Daniel Agar
a76e429b1a
calibration parameters volatile (offsets and scale factors)
...
- anything set vehicle side should be volatile and excluded from the
param hash
2021-02-10 09:01:47 +01:00
bazooka joe
8834741be8
gps blending make test to work without templated gps_blending class
2021-02-06 12:59:04 +01:00
bazooka joe
8087fac3fc
gps_blending add protection against accessing non-exist array item
2021-02-06 12:59:04 +01:00
bazooka joe
a0d500b30a
changing gps_blending to be non-template class
...
because there is no multiple instance types on singular machine
2021-02-06 12:59:04 +01:00
Julian Oes
be3cdc0439
sensors: correct comment logic
...
By removing the no the comment matches the implementation (which I think
makes sense).
2021-02-04 10:14:44 +01:00
Daniel Agar
6a4835bbcc
sensors: vehicle_magnetometer combine extra _vehicle_magnetometer_pub
2021-01-30 21:50:01 -05:00
Daniel Agar
ce76c84ce2
sensors: vehicle_magnetometer respect publication rate limit SENS_MAG_RATE
2021-01-30 21:50:01 -05:00
Daniel Agar
318c7e83b3
support up to PWM 14
...
- generate PWM_MAIN 1-14
- generate PWM_AUX 1-8
- generate PWM_EXTRA 1-8
- px4io and pwm_out directly read configuration parameters
- only available and active physical outputs are actually shown for configuration
- overall saves flash despite adding many new parameters
2021-01-30 15:55:53 +01:00
bresch
cdd6df4e27
VehicleGPSPosition: remove unused "using"
2021-01-30 11:32:47 +01:00
bresch
6abbbdeb4b
gps blend: add parameter to select the primary instance
2021-01-30 11:32:47 +01:00
bresch
889602ed5e
gps blend: always pass through GpsBlending class for selection
2021-01-30 11:32:47 +01:00
bresch
b4051b62a3
gps blend: add failover logic and unit test
...
also remove dependency to hrt library
2021-01-30 11:32:47 +01:00
bresch
9bff7a1c41
gps blend: add selector unit tests
2021-01-30 11:32:47 +01:00
bresch
1dbf4957df
vehicle gps pos: remove useless gps_updated array
2021-01-30 11:32:47 +01:00
bresch
b60bfb920c
gps blend: add initial working test
2021-01-30 11:32:47 +01:00
bresch
1cde5074ea
gps blend: move definition to header file
2021-01-30 11:32:47 +01:00
bresch
1333664a14
gps blend: move blending logic to class
2021-01-30 11:32:47 +01:00
Claudio Micheli
c2a68debd9
add jamming_state to gps sensor module
...
Signed-off-by: Claudio Micheli <claudio@auterion.com >
2021-01-30 11:26:42 +01:00
Daniel Agar
3b26b7adaf
sensors: magnetometer preserve original mag cal offset for status message
2021-01-26 16:04:10 -05:00
Ricardo Marques
e817fb83f5
pwm_extra: Add PWM_EXTRA parameters.
...
Signed-off-by: Ricardo Marques <marques.ricardo17@gmail.com >
2021-01-18 15:43:28 +01:00
Daniel Agar
a0d8d5ac74
sensors/vehicle_gps_position: untangle and remove unnecessary state
2021-01-13 20:17:49 -05:00
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
b9a721726d
sensors/vehicle_magnetometer: respect calibration offset update success
...
- the magnetometer calibration offset setter returns false if the new offset change is negligible
2021-01-08 15:34:48 -05:00
Daniel Agar
bf330a51b2
sensors/vehicle_magnetometer: reduce offset update message length to fit
2021-01-08 01:22:31 -05:00
Daniel Agar and Paul Riseborough
88f8da27ef
save learned mag bias per sensor (Multi-EKF support)
...
- handle saving the mag bias per sensor (across all estimator instances using that mag) in sensors/vehicle_magnetometer
- this is now saving back to the actual mag calibration CAL_MAGn_OFF{X,Y,Z}
- ekf2 reset mag mag bias on any magnetometer or calibration change
- use Kalman filter scheme to update stored mag bias parameters using all available bias estimates for that sensor
Co-authored-by: Paul Riseborough <gncsolns@gmail.com >
2021-01-07 09:54:13 -05:00
Daniel Agar
98cff94702
px4_work_queue: directly support SITL lockstep
...
- the purpose is to ensure that every WorkItem (and WorkItems scheduled
by WorkItems) is allowed to run to completion every step
- per workqueue register a lockstep component whenever a work item is
added (if not already registered)
- once the work queue is empty unregister component
2021-01-04 09:38:05 +01:00
Daniel Agar
9f57df75e8
remove rotation 41 (ROLL_270_YAW_180)
...
- duplicate of 31 (ROLL_90_PITCH_180)
2020-12-28 11:07:08 +01:00
Daniel Agar
409ea2ac02
mavlink: parameters manually mark active minimal QGC set on first send
2020-12-27 13:54:03 -05:00
Daniel Agar
c7db0942ba
sensors: vehicle_imu don't round measured accel and gyro sample rates
2020-12-16 10:12:27 -05:00
Daniel Agar
bf5ee99952
sensors: acceleration always get accel rate from vehicle_imu_status
...
- sensor rate is used for control data low pass and notch filters
2020-12-16 10:12:27 -05:00
Daniel Agar
7038cb8518
sensors: angular_velocity always get gyro rate from vehicle_imu_status
...
- sensor rate is used for control data low pass and notch filters
2020-12-16 10:12:27 -05:00
Daniel Agar
ee9ce1087a
IMU_DGYRO_CUTOFF add conservative default (0 Hz -> 30 Hz)
2020-11-13 21:26:35 -05:00
Daniel Agar
2c874f1cd9
ekf2 selector fix SITL lockstep
...
- ekf2 selector don't register lockstep until first attitude publication
- sensors module register lockstep component
- enable multi-EKF2 in SITL
2020-10-28 09:42:41 -04:00
Daniel Agar
91da194bd7
sensors/vehicle_gps_position: only register callbacks once topic published
...
- this avoids creating unnecessary uORB device nodes for GPS instances that might never exist
2020-10-27 18:40:57 -04:00
Daniel Agar and Paul Riseborough
0f411d6820
Multi-EKF support (ekf2)
...
- ekf2 can now run in multi-instance mode (currently up to 9 instances)
- in multi mode all estimates are published to alternate topics (eg estimator_attitude instead of vehicle_attitude)
- new ekf2 selector runs in multi-instance mode to monitor and compare all instances, selecting a primary (eg N x estimator_attitude => vehicle_attitude)
- sensors module accel & gyro inconsistency checks are now relative to the mean of all instances, rather than the current primary (when active ekf2 selector is responsible for choosing primary accel & gyro)
- existing consumers of estimator_status must check estimator_selector_status to select current primary instance status
- ekf2 single instance mode is still fully supported and the default
Co-authored-by: Paul Riseborough <gncsolns@gmail.com >
2020-10-27 10:56:11 -04:00
Beat Küng
ff3008c051
calibration: add SYS_FAC_CAL_MODE parameter
...
If set, stores calibration parameters in separate storage /fs/mtd_caldata.
2020-10-12 15:22:26 +02:00
Daniel Agar
dfbaf6607a
sensors/vehicle_imu: continue integrating queued raw data if falling behind
2020-10-10 12:30:26 -04:00
Daniel Agar
eecf2e7a1e
sensors: allow up to 4 accels, gyros, and baros and add configurable rotations for accel & gyro
2020-10-08 19:01:44 -04:00
Silvan Fuhrer
8f858d95e6
Rename equivalent airspeed (EAS) to calibrated airspeed (CAS)
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2020-10-06 09:31:58 +02:00
Daniel Agar
f01c4e769f
sensors/vehicle_imu: vehicle_imu_status add mean accel/gyro
...
- this makes it slightly easier to gather long term data for an Allan Variance
- fixes https://github.com/PX4/Firmware/issues/6250
2020-10-05 22:18:03 -04:00
Daniel Agar
c9c20666a2
sensors: sanity check differential pressure temperature ( #15845 )
...
- if valid temperature unavailable then use ICAO Standard Atmosphere 15 degrees celcius
2020-09-29 09:35:34 -04:00