Daniel Agar and : bresch
f3e2a197ad
move vehicle at rest detection ekf2 -> land_detector
...
- move vehicle at reset detection ekf2 -> land_detector
- ekf_unit: reduce init period
- Fake fusion is when at rest is quite strong and makes the variance reduce rapidly. Reduce the amount of time we wait before checking if the variances are still large enough.
- ekf_unit: reduce minimum vel/pos variance required after init
- Fake pos fusion has a low observation noise, making the vel/pos variances reduce quickly.
Co-authored-by:: bresch <brescianimathieu@gmail.com >
2022-02-01 17:50:19 -05:00
Daniel Agar
e387f302f9
mavlink: streams/COMMAND_LONG don't send internal vehicle_commands
2022-02-01 09:15:10 -05:00
Daniel Agar
999737ddd5
ekf2: refactor mag control
...
- remove class _mag_sample_delayed
- update mag fusion call graph to use mag sample delayed functionally
- Ekf::resetMagHeading()
- use low pass mag directly, but check if valid (magnitude)
- MAG_FUSE_TYPE_INDOOR treat like auto if heading required
2022-01-31 11:47:10 -05:00
Daniel Agar
ad447ab223
commander: respect control mode for prearm requirements
...
- preflight tolerate ekf2 warnings if not in an attitude/velocity/position mode (eg manual or acro)
2022-01-31 09:48:37 -05:00
Daniel Agar
90358f078f
add odometry reset counter (ekf2, mavlink, etc)
2022-01-31 09:19:36 -05:00
Daniel Agar
274d0d65c6
lib/cdev/posix: increase max FDs 256->512
2022-01-28 17:30:53 -05:00
Daniel Agar
0104b84289
logger: PX4_SITL log all ekf2 publications at full rate for replay
2022-01-28 07:46:54 +01:00
Daniel Agar
d2ce9a8560
ROMFS: rc.replay fix ulog_params argument
2022-01-28 07:46:54 +01:00
Daniel Agar
49d9d1c987
ekf2: only set fault status bad_acc_clipping if clipping frequently
2022-01-27 09:59:50 -05:00
Daniel Agar
f499749c23
ekf2: mag field strength check respect requirements
...
- requires valid mag data (_mag_data_ready)
- respect mag_fusion_type (including MAG_FUSE_TYPE_INDOOR)
2022-01-27 09:05:13 -05:00
Daniel Agar
ae3070bbf1
ekf2: make filter update period configurable
...
- introduces new parameter EKF2_PREDICT_US to configure the filter
update period in microseconds
- actual filter update period will be an integer multiple of IMU
2022-01-26 10:57:09 -05:00
Daniel Agar
3f25349eb9
commander: don't reject VEHICLE_CMD_DO_SET_ACTUATOR
2022-01-25 18:44:58 -05:00
Daniel Agar
8d03e71c16
drivers/magnetometer/bosch/bmm150: init and self test improvements
...
- if self test fails consistently proceed with startup, but report failure
2022-01-24 16:16:03 -05:00
Daniel Agar
8217e0f335
drivers/magnetometer/bosch/bmm150: add self test fail perf counter to status
2022-01-24 13:06:32 -05:00
Daniel Agar
5ded1aedcb
sensors/vehicle_angular_velocity: add IMU_GYRO_DNF_HMC to configure number of ESC RPM notch filter harmonics
2022-01-24 09:23:03 -05:00
Daniel Agar
07e6c274d5
uavcan/uavcannode: bridge LogMessage and PX4 ORB_ID(log_message_s)
2022-01-23 20:21:39 -05:00
Daniel Agar
4de9c598fa
bmm150: retry probe up to 3 times
2022-01-21 15:51:43 -05:00
Daniel Agar
7cb8ed3a1f
sensors/vehicle_gps_position: don't work with 64 time with 32 bit floats
2022-01-21 09:18:49 -05:00
Daniel Agar
446729566d
platforms/nuttx: px4io_serial always cleanup DMA before next bus exchange
...
- this really shouldn't be necessary, but worst case it's harmless and
much better than potentially falling out of the sky
2022-01-19 18:00:18 -05:00
Daniel Agar
92a5bbe97f
ekf2: improve ring buffer sizing and dynamically allocate
2022-01-19 09:04:53 -05:00
Daniel Agar
36605bfff6
sensors: lower SENS_MAG_RATE default
...
- reduce estimator 3D mag fusion cpu load (-3% on Pixhawk4)
2022-01-19 08:51:57 -05:00
Daniel Agar
dd6b7fa98f
sensors: switch status PX4_INFO -> PX4_INFO_RAW
2022-01-18 15:00:18 -05:00
Daniel Agar
b1d2a0cc4e
sensors: simplify timestamp data validator handling
2022-01-18 14:57:18 -05:00
Daniel Agar
8067207ea6
px4_work_queue: rename serial port WQs
2022-01-18 14:56:15 -05:00
Daniel Agar
7eee949a81
Jenkins: hardware tolerate irrelevant uorb status failure
2022-01-18 12:23:05 -05:00
Daniel Agar
548b7d5ece
sensors/vehicle_imu: on calibration change don't resume in flight calibration learning immediately
2022-01-18 11:22:41 -05:00
Daniel Agar
ece09064c4
parameters: perform verification pass twice
...
- on NuttX with MTD storage this is to ensure we are verifying what's
actually stored on ramtron or eeprom, not just what's cached by bchlib
2022-01-18 09:47:28 -05:00
Daniel Agar
2fb82789fe
lib/wind_estimator: pass q_att as const reference
2022-01-17 16:59:28 -05:00
Daniel Agar
98a9748bb8
drivers/dshot: use uORB::PublicationMulti for ORB_ID(esc_status)
...
- there can be multiple different outupt modules publishing esc_status (eg dshot & uavcan)
2022-01-14 12:17:49 -05:00
Daniel Agar
81ecd130fc
uavcan: ESC publish esc_status in callback instead of timer
...
- this ensures every ESC status gets published with minimal latency
- also prevents publishing ORB_ID(esc_status) when there's no actual
data (bug)
2022-01-14 12:17:49 -05:00
Daniel Agar
bb1177d504
sensor_calibration: refactor and centralize calibration slot logic
...
- centralize logic for selecting a preferred calibration slot
- automatically use existing calibration slot if it exists, otherwise
find first available slot, with a preference for a requested index
- existing commander calibration methods rewrite all calibration slots
to match current sensor ordering
2022-01-12 16:16:26 -05:00
Daniel Agar
463513f31f
Jenkins: hardware disable auto cal before on board tests
2022-01-11 11:47:02 -05:00
Daniel Agar
2eec7842ae
sensors/vehicle_imu: fix SENS_IMU_AUTOCAL saving logic
...
- on cycles that don't check for updated calibraton (estimated bias) we
check if there's anything valid to save (when disarmed)
2022-01-11 11:47:02 -05:00
Daniel Agar
cc1fee525a
lib/sensor_calibration: handle calibration slot change on parameter update
2022-01-10 17:16:50 -05:00
Daniel Agar
ab547bb982
sensors/vehicle_angular_velocity: RPM notch don't fully disable if first harmonic frequency drops below minimum frequency
...
- keep higher frequency harmonics enabled per ESC
- cleanup timestamp handling (timeouts, etc)
2022-01-10 14:51:29 -05:00
Daniel Agar
b58922a5d7
sensors/vehicle_angular_velocity: notch filters automatically reset on sufficient parameter change
2022-01-10 14:51:29 -05:00
Daniel Agar
7d632254be
NotchFilter push initialization/reset into filter
...
- this simplifies the reset by allowing a notch filter to reset as
needed
- improves cascade initialization, on reset each filter will reset
properly from the previous
2022-01-10 14:51:29 -05:00
Daniel Agar
2e2ac36cab
drivers/uavcan: make firmware server available on both CAN1/CAN2 always (if enabled)
...
- uavcan firmware server no longer shuts down when arming (nodes might restart in flight)
- always handle UAVCAN parameters with or without the FW server active
- remove legacy ESC enumeration in FW server
2022-01-10 11:13:02 -05:00
Daniel Agar
d9e7315420
sensors: automatically set initial accel/gyro calibration if stable bias available
2022-01-10 10:46:37 -05:00
Daniel Agar
e731fcdbc0
sensors (accel/gyro/mag) determine if external with device id
2022-01-10 10:31:07 -05:00
Daniel Agar
45040be669
ekf2: accel/gyro/mag sensor cal minor cleanup
...
- cleanup obsolete comments
- remove debug helpers
- add additional variance requirements to mag bias stable (matching accel & gyro)
2022-01-10 09:55:59 -05:00
Daniel Agar
c3ca40a98f
drivers/px4io: delete monitor command
...
- the px4io console isn't even connected on most flight controllers
2022-01-10 09:51:11 -05:00
Daniel Agar
e5d49f6fff
drivers/px4io: delete unused detect
2022-01-10 09:51:11 -05:00
Daniel Agar
d077ca15fb
delete PWM_SERVO_SET, PWM_SERVO_SET_MODE, systemcmds/motor_ramp, and pwm_out test
2022-01-10 09:51:11 -05:00
Daniel Agar
df44df2df6
delete systemcmds/esc_calib
...
- this is redundant with commander esc_calibration
2022-01-10 09:51:11 -05:00
Daniel Agar
03bdc460d8
drivers/px4io: PWM_SERVO_GET_FAILSAFE_PWM don't get registers directly
2022-01-10 09:51:11 -05:00
Daniel Agar
d3301ba826
delete PWM_SERVO_GET_TRIM_PWM
2022-01-10 09:51:11 -05:00
Daniel Agar
8de59dad32
delete PWM_SERVO_SET_TERMINATION_FAILSAFE
2022-01-10 09:51:11 -05:00
Daniel Agar
1739ecc981
delete PWM_SERVO_SET_FORCE_FAILSAFE
2022-01-10 09:51:11 -05:00
Daniel Agar
649d3e3f55
delete PWM_SERVO_SET_DISABLE_LOCKDOWN/PWM_SERVO_GET_DISABLE_LOCKDOWN
2022-01-10 09:51:11 -05:00
Daniel Agar
b7ed4fd3e0
delete PWM_SERVO_SET_DISARMED_PWM
2022-01-10 09:51:11 -05:00
Daniel Agar
551a31ce2f
delete PWM_SERVO_SET_FAILSAFE_PWM
2022-01-10 09:51:11 -05:00
Daniel Agar
daa925137c
boards: move default battery calibration defines to parameter defaults
2022-01-10 09:49:36 -05:00
Daniel Agar
78b3d22471
lib/mixer_module: consume output_limit library
2022-01-10 11:59:55 +01:00
Daniel Agar
71d8b15b73
commander: fix COM_HOME_EN missing case
...
- VEHICLE_CMD_COMPONENT_ARM_DISARM is yet another path that calls set_home_position()
2022-01-09 20:52:07 -05:00
Daniel Agar
0b1402afe2
Tools/HIL/test_airframes.sh enable all mavlink and GPS
2022-01-08 18:11:43 -05:00
Daniel Agar
6c97700eaa
move sensor calibration parameters to yaml
2022-01-07 19:00:41 -05:00
Daniel Agar
c17a9e8003
sensors/vehicle_imu: refactor SensorCalibrationUpdate() to separate accel/gyro cal saving
2022-01-07 09:40:51 -05:00
Daniel Agar
aec97e0020
sensors: minor IMU bias saving updates
...
- sensors/vehicle_imu: reset learned cal on any calibration change
during parameter update
- sensors/vehicle_imu: cleanup logic estimated bias -> calibration offset
saving
- don't invalidate saved calibration (the point is to keep the last valid)
- remove old debug code, etc
- sensors/vehicle_imu: notify parameter changes if accel or gyro
calibration has changed
- lib/sensor_calibration: add calibrated() and calibration_index()
getters, keep Accelerometer/Gyroscope/Magnetometer in sync
2022-01-07 09:40:51 -05:00
Daniel Agar
30ccfdb2ed
sensors/vehicle_magnetomeer: fix copyright year
2022-01-06 20:27:56 -05:00
Daniel Agar
170849c8f8
ekf2: expand accel bias stability criteria
2022-01-04 13:57:49 -05:00
Daniel Agar
e835a7c4ea
boards: enable readline history and tab completion on newer boards
2022-01-03 10:44:32 -05:00
Daniel Agar
9d1558af25
ekf2: selector use status timestamp for timeout rather than timestamp_sample (delayed time horizon)
...
- update stale checks for publication to use hrt elapsed time from
timestamp sample
2022-01-03 09:20:44 -05:00
Daniel Agar
333edfe12f
ekf2: use delayed IMU timestamp for publication's timestamp_sample
2022-01-03 09:20:44 -05:00
Daniel Agar
35502c249d
ekf2: don't use Vectors for height innovations (baro, rng, etc)
2022-01-03 09:20:20 -05:00
Daniel Agar
75bb2f8dd2
Jenkins: hardware temporarily tolerate sd_bench failures on px4_fmu-v5_debug
2022-01-02 14:47:52 -05:00
Daniel Agar
673d4544d1
parameters: verify param backup after export
2022-01-02 10:46:34 -05:00
Daniel Agar
8e26b33009
tinybson: file write error add more detail
2022-01-02 10:46:34 -05:00
Daniel Agar
80ef6e19df
tinybson: explicitly append int32 or int64
2022-01-02 10:46:34 -05:00
Daniel Agar
9cbb5c9920
parameters: fix export shutdown locking
...
- in NuttX bchlib keeps a sector sized buffer that might not be written
out to RAMTRON until the file is closed
2022-01-02 10:46:34 -05:00
Daniel Agar
2153710917
Tools/HIL/monitor_firmware_upload.py don't fail on any ERROR
...
- on first boot we only care that it completes (gets to nsh prompt)
2022-01-02 10:05:30 -05:00
Daniel Agar
c421bff73c
Tools/HIL: use pyserial spy:// to log all serial traffic and dump on failure
2022-01-01 22:25:29 -05:00
Daniel Agar
7df1721d32
ROMFS: rcS disable simplistic SD I/O test
...
- this was added when trying to identify SD card issues at boot and
trigger a format, but didn't provide any value
2022-01-01 18:43:27 -05:00
Daniel Agar
f76aa0e772
cmake: NuttX ARMV7M_STACKCHECK skip ekf2
...
- px4_fmu-v5_stackcheck switch from icm20689 -> bmi055 (lower rate)
- this is to make performance tolerable
2022-01-01 18:43:27 -05:00
Daniel Agar
e9283d90cc
systemcmds/netman: fix code style
2022-01-01 18:40:47 -05:00
Daniel Agar
0029317e55
Jenkins: hardware additional reboots no longer required
2022-01-01 14:06:05 -05:00
Daniel Agar
439ad7daea
Jenkins: hardware disable calib_delay (too slow) and manual SD format
2022-01-01 12:10:28 -05:00
Daniel Agar
501474993e
Tools/HIL: default to USB UART if available
2022-01-01 10:49:30 -05:00
Daniel Agar
77b65ee564
boards: px4_fmu-v5_debug disable stack check
...
- this is redundant with px4_fmu-v5_stackcheck
2021-12-31 19:34:18 -05:00
Daniel Agar
247b975675
Tools/HIL: disable XON/XOFF, consistent timeouts, proper input buffer clear
2021-12-31 19:28:40 -05:00
Daniel Agar
03371f8522
NuttX with bch flush backport
2021-12-31 10:59:56 -08:00
Daniel Agar
1b6700592b
parameters: require valid BSON document size
2021-12-30 16:36:23 -05:00
Daniel Agar
3514458f42
Tools/HIL/test_airframes.sh: dump all parameter storage after bootup to verify contents
2021-12-30 12:43:00 -05:00
Daniel Agar
b06215d038
Tools/HIL/test_airframes.sh: run param dump after save to verify BSON
2021-12-30 11:11:14 -05:00
Daniel Agar
6706d9b434
Jenkins: always fully clean git workspace
2021-12-29 17:14:11 -05:00
Daniel Agar
6d0339ba0c
I2CSPIDriverBase: sensor start failure ERROR if internal, WARN if external
2021-12-28 11:05:35 -05:00
Daniel Agar
990d7c159d
pwm_out: cleanup and prep for linux compatibility
2021-12-28 11:04:00 -05:00
Daniel Agar
10f4a2e91f
boards: omnibus_f4sd_default disable systemcmds to save flash
2021-12-27 12:19:55 -05:00
Daniel Agar
3ef9c2d16c
boards: holybro_kakutef7_default disable modules/gyro_calibration to save flash
2021-12-27 12:19:55 -05:00
Daniel Agar
d94767ef88
cmake: NuttX use cygwin friendly path for linker script
2021-12-27 12:19:12 -05:00
Daniel Agar
3f17acdcc9
boards: mro_ctrl-zerl-h7-oem pin fixes (sync with mro_ctrl-zero-h7)
2021-12-27 09:25:21 -05:00
Daniel Agar
0f4e1dd9f9
boards: mro ctrl-zero-h7 pin fixes
2021-12-27 09:25:21 -05:00
Daniel Agar
236794235a
parameters: export empty BSON document even if there are no parameters to save
...
- otherwise a 'param reset_all' won't be saved until a parameter is changed
2021-12-27 09:17:00 -05:00
Daniel Agar
33d7b42040
parameters: import quietly retry if there's no data (as a precuation)
2021-12-27 09:17:00 -05:00
Daniel Agar
20d3e6f4e1
parameters: add simple BSON verification pass after export
2021-12-27 09:17:00 -05:00
Daniel Agar
98d706772e
boards: px4_fmu-v2_rover disable events module to save flash
2021-12-24 20:06:13 -05:00
Daniel Agar
712353ea56
gyro_calibration: increase required samples (to be more conservative)
...
- make sure variance is checked across all available sensors
2021-12-24 19:53:44 -05:00
Daniel Agar
3f3836afa8
parameters: simplify import mark_unsaved and don't fail bson decode unnecessarily
2021-12-24 14:32:40 -05:00
Daniel Agar
d1cd4904dc
parameters: param_value_is_default avoid locking if value unchanged
2021-12-24 14:32:40 -05:00
Daniel Agar
c0b8f2952c
parameters: param_get_default_value avoid locking if value is static default
2021-12-24 14:32:40 -05:00