Daniel Agar
328c5cb1cf
mavlink: properly cleanup instance on exit
2021-06-09 10:58:34 -04:00
Daniel Agar
251f1a069b
ekf2: update message lost error messages to perf counters
...
- only allocate these perf counters if data source is present
2021-06-08 20:12:17 -04:00
Daniel Agar
47b9016f5e
I2CSPIDriverBase: print rotation and i2c address if set
2021-06-08 09:27:21 +02:00
Daniel Agar
578c003c13
ekf2: selector handle uninitalized test ratios
...
- choose the best instance regardless of tilt or yaw alignment
2021-06-07 08:56:37 -04:00
Daniel Agar
4f850c7cd0
sensors: preserve all valid calibration parameters even if sensor currently missing
...
- mark calibration slots active for first N sensors found
- calibration procedure don't bother resetting unused slots
2021-06-07 08:50:32 -04:00
Daniel Agar
2ccd86102b
ekf2: add command line option to manually select instance
2021-06-07 08:47:17 -04:00
Daniel Agar
4f8f1a5f7e
mavlink: streams HEARTBEAT fix code style
2021-06-04 20:43:25 -04:00
Daniel Agar
d31a45a62d
github actions SITL test run standard_vtol with address sanitizer
2021-06-04 13:27:42 -04:00
Daniel Agar
470c3cfa6e
mavlink: streams HEARTBEAT fix vehicle_control_mode copy
2021-06-04 15:19:34 +02:00
Daniel Agar
db1657fa84
sensors/vehicle_magnetometer: apply current compensation regardless of arming state
...
- simplify update on mag compensation type change
2021-06-03 10:08:19 -04:00
Daniel Agar
284375efc3
px4io: only update PWM MAX/MIN/DIS/FAIL/REV once
...
- Updating PWM params on param change was interfering with VTOL
parameter settings (e.g. PWM_MIN is set by VTOL at init, and
was then overwritten here after an arbitrary param change).
2021-06-03 00:52:05 -04:00
Daniel Agar
c6d5bd868e
boards: px4_fmu-v6x_default disable LPE to save flash
2021-06-02 09:12:24 -04:00
Daniel Agar
5f775b508f
boards: enable CONFIG_OTG_ID_GPIO_DISABLE on all F7/H7
2021-06-01 15:19:15 -04:00
Daniel Agar
d430e13401
sensors: wait for real sample rate to initialize LowPassFilter2p
2021-06-01 08:58:10 -04:00
Daniel Agar
438b0abc7a
mathlib: Biquad filters use internal fields for parameter update
2021-06-01 08:58:10 -04:00
Daniel Agar
9661eddef8
mathlib: LowPassFilter2p initialize b0 to 1 for safety
2021-06-01 08:58:10 -04:00
Daniel Agar
e52c0ceca5
Update submodule mavlink v2.0 to latest Tue Jun 1 00:39:07 UTC 2021
2021-05-31 21:11:01 -04:00
Daniel Agar
806b462935
px4_work_queue: increase UART stack
2021-05-31 14:49:40 -04:00
Daniel Agar
5831494164
boards: px4_fmu-v2_default disable gyro_calibration module to save flash
...
- this doesn't impact regular gyro calibration
2021-05-31 12:11:53 -04:00
Daniel Agar
90e106ede3
boards: cuav_x7pro_test disable LPE to save flash
2021-05-31 10:26:45 -04:00
Daniel Agar
5493d96d17
mathlib: merge LowPassFilter2p, LowPassFilter2pArray, and LowPassFilter2pVector3f
...
- fix reset for direct form 2
- push NAN checks out to filter users
2021-05-31 10:26:45 -04:00
Daniel Agar
2a792ca201
gyro_fft: add simple SNR requirement and reduce number of peaks
2021-05-31 10:26:45 -04:00
Daniel Agar
3269ee8df1
sensors/vehicle_angular_velocity: accumualted notch filtering and reset improvements
...
- apply sensor scaling immediately to keep things simple (FIFO vs regular)
- inline filter helpers (minor performance improvement)
- dynamic notch filtering
- reorder by axis (applied per axis)
- don't remove notch filters immediately if ESC or FFT data times out
- constrain notch filter frequency and bandwidth to safe range (minimum bandwidth for flaot precision, Nyquist, etc)
- add safe constraint on dt
2021-05-31 10:26:45 -04:00
Daniel Agar
561cfca4f9
fake_imu: add fake ESC status for testing dynamic notch filters
2021-05-31 10:26:45 -04:00
Daniel Agar
f25a70a674
mathlib: Notchfilter updates
...
- merge NotchFilterArray into regular NotchFilter (apply vs applyArray)
- only use direct form 1 to prevent reset confusion
- safe default field initialization
- update VehicleAngularVelocity usage
2021-05-31 10:26:45 -04:00
Daniel Agar
055b5404c3
sensors/vehicle_imu: switch to WelfordMean library and other improvements
...
- use WelfordMean library to determine sensor sample rate average
- if gyro samples exceeds queue depth, instead round to nearest even integer to ease scheduling
- force update if publication latency is falling behind
- remove redundant sample interval perf counters
- status print accel & gyro interval standard deviation
2021-05-31 10:05:10 -04:00
Daniel Agar
3340fca332
sensors/vehicle_imu: move accel & gyro updates to separate methods
2021-05-31 10:05:10 -04:00
Daniel Agar
a5979e16be
sensors/vehicle_imu: move publish to separate method
2021-05-31 10:05:10 -04:00
Daniel Agar
0b9e4a5902
sensors/vehicle_imu: Integrator simplify and make header only
2021-05-31 10:05:10 -04:00
Daniel Agar
51f738e54c
boards: bootloader.cmake trivial whitespace cleanup
2021-05-28 23:56:20 -04:00
Daniel Agar
ad534561d3
commander: only play safety change tunes if initialized
2021-05-27 10:13:49 +02:00
Daniel Agar
af71b2e3ab
commander: fix COM_DISARM_PRFLT parameter description typos
2021-05-26 21:48:41 -04:00
Daniel Agar
b264577daa
sensors/vehicle_acceleration: require valid sample rate before running
...
- this fixes a minor edge case when you only have a single accelerometer and haven't made any parameter changes, the sensor sample rate (used for filtering) might not have been updated from default
2021-05-24 21:39:42 -04:00
Daniel Agar
22838f491a
ekf2: replace mag missed error message with perf count
...
- this error is primarily useful when significant gaps in magnetometer are present, otherwise the occasional gaps at startup, etc are distracting in regular usage
2021-05-24 20:52:07 -04:00
Daniel Agar
0fc98b2793
move IMU_GYRO_FFT_EN parameter to developer category
...
- these need more work and testing before we should encourage wider usage
2021-05-24 18:59:32 -04:00
Daniel Agar
e18b1c0355
mpu9250: tolerate missing/mismatching FIFO samples if I2C slave mag active
...
- when the mpu9250 mag is active it disrupts IMU sampling
- this change modifies the simple mpu9250 FIFO integrity checks (comparing duplicate accel samples) to tolerate these samples that don't match if the mag is active
- fixes #17615
2021-05-24 11:22:13 -04:00
Daniel Agar
6549017993
navigator: GeofenceBreachAvoidance remove duplicate type alias
2021-05-23 17:51:08 -04:00
Daniel Agar
8327335fa4
Update submodule mavlink v2.0 to latest Sat May 22 00:38:27 UTC 2021
2021-05-22 13:35:50 -04:00
Daniel Agar
61e972ba35
px_uploader.py remove special pyserial checks that fail on some platforms
2021-05-21 08:56:12 +02:00
Daniel Agar
9969edfabc
mavlink: STATUSTEXT stream use perf count for missed messages
...
- don't send stale messages
- process all queued messages until tx buffer is full
2021-05-20 10:39:11 -04:00
Daniel Agar
10f33cdd35
boards: px4_fmu-v6x_default re-enable top and free up flash
2021-05-18 16:22:02 -04:00
Daniel Agar
e498023d0f
ist8308: improve configuration
...
- disable noise suppression filter
- select more appropriate dynamic range
- carefully set and clear all ODR, DR, and OSRCNTL bits
- retry in probe multiple times
2021-05-18 13:20:21 -04:00
Daniel Agar
820a442fe3
drivers/imu/analog_devices/adis16448: minor fixes and compatibility with older model
...
- increase SPI stall time slightly
- tolerate mag self test failure (could be due to local magnetic field)
- register configuration compatible with older ADIS16448AMLZ
- don't publish duplicate accel/gyro
- only allocate CRC perf counter if using CRC
2021-05-18 12:44:37 -04:00
Daniel Agar
db3c89b1e3
Update submodule mavlink v2.0 to latest Tue May 18 00:50:40 UTC 2021
2021-05-17 21:53:36 -04:00
Daniel Agar
c3884b5bc1
fake_imu (formally fake_gyro) updates for testing gyro filtering
...
- fake_imu now publishes sine sweeps over 10 seconds
- accel is also published so that fake IMU can be selected when the only option
2021-05-17 20:26:25 -04:00
Daniel Agar
39c90c8fc9
Update submodule GPSDrivers to latest Mon May 17 12:38:15 UTC 2021
2021-05-17 19:25:45 -04:00
Daniel Agar
87b861d0f0
IMU_GYRO_CUTOFF and IMU_DGYRO_CUTOFF increase default slightly
2021-05-17 17:37:52 +02:00
Daniel Agar
3a3cc33d69
drivers/optical_flow/paw3902: require >= 10 valid consecutive readings before deciding mode changes
...
- improve mode change requirements comments
- reduce verified read/write retries (these are mostly wasting time)
2021-05-16 20:29:06 -04:00
Daniel Agar
904f827df0
Jenkins: increase timeout and build history
2021-05-16 15:59:56 -04:00
Daniel Agar
ecf2cd3afb
CAN node STM32F7 support and Freefly RTK GPS CAN node
2021-05-16 13:10:02 -04:00
Daniel Agar
ad0482155e
ROMFS: reduce LOGGER_BUF default to 8 kB on older boards
2021-05-12 17:06:33 +02:00
Daniel Agar
c49c8932de
commander: mag_calibration fail immediately if no mags available
2021-05-08 13:03:42 +02:00
Daniel Agar
dfb4ec56b1
Makefile: clean and distclean updates
...
- update clean to recurse all build directories and use build system clean
- git clean is used to remove submodule generated build artifacts that
are left in the source tree
- distclean now discards all build directories and any gitignored
filess that were generated in source directories (but not top level)
2021-05-08 12:29:16 +02:00
Daniel Agar
f15eefcc95
ekf2: selector increase status rate before potential instance change
2021-05-07 22:38:47 -04:00
Daniel Agar
9419f9c5e8
Update submodule mavlink v2.0 to latest Thu May 6 12:39:02 UTC 2021
2021-05-06 13:52:43 -04:00
Daniel Agar
177ee4cbca
drivers/optical_flow/paw3902: properly discard samples after mode change
...
- respect mode 2 shutter requirements from datasheet (should not operate with Shutter < 0x01F4 in Mode 2)
- sensor reset is handled by mode change
2021-05-05 21:48:01 -04:00
Daniel Agar
b1ebd16c61
ekf2: improve selector reset handling
...
- handle reset count rollover (uint8_t)
- compute full reset delta if primary estimator instance has changed or if we missed a reset
2021-05-05 21:45:13 -04:00
Daniel Agar
c1d3be4258
Makefile: keep git clean for submodules to resolve incomplete dependency problems
2021-05-04 21:22:56 -04:00
Daniel Agar
68a9e981b1
boards: px4_fmu-v5_optimized disable temperature_compensation to save flash
2021-05-04 21:20:32 -04:00
Daniel Agar
f5b6656a6c
cmake: set MAX_CUSTOM_OPT_LEVEL to -O3 if Release
2021-05-04 21:20:32 -04:00
Daniel Agar
3b7ce61901
px4_work_queue: increase wq:rate_ctrl stack slightly
2021-05-04 17:40:56 -04:00
Daniel Agar
3ec40a5956
collision_prevention: fix CP_GO_NO_DATA parameter type
2021-05-04 16:41:32 -04:00
Daniel Agar
3348869ae1
Makefile: git clean properly preserve project files (.project, .cproject, etc)
2021-05-04 09:49:50 -04:00
Daniel Agar
e78a4287f9
parameters: attempt import multiple times
2021-05-02 13:48:16 -04:00
Daniel Agar
3b24abaa1b
Makefile: clean use git clean to delete all gitignore files recursively
2021-05-02 13:47:54 -04:00
Daniel Agar
feebb24106
logger: skip multi-EKF logging if CONSTRAINED_MEMORY
2021-05-02 13:47:28 -04:00
Daniel Agar
b4e0a8396e
Tools/process_sensor_caldata.py - median filter sensor data
...
- this makes it a bit easier to see what's going on now that the raw sensor data (sensor_accel, sensor_gyro) is completely unfiltered
2021-05-02 13:42:09 -04:00
Daniel Agar
5ec5a12f5e
Tools/setup: update ubuntu.sh with current NuttX dependencies
2021-05-02 13:10:47 -04:00
Daniel Agar
6e2343a485
Jenkins: fix new px4io/px4-dev-nuttx-focal container tag
2021-05-02 12:34:48 -04:00
Daniel Agar
92dc1a71a6
github actions delete MAVROS avoidance tests
...
- these aren't currently running properly on github actions, but continue to use build resources
2021-05-02 11:44:06 -04:00
Daniel Agar
165420598e
Update submodule mavlink v2.0 to latest Sat May 1 00:38:27 UTC 2021
2021-05-01 19:17:28 -04:00
Daniel Agar
186bc2bda4
Update submodule GPSDrivers to latest Sat May 1 00:38:31 UTC 2021
2021-05-01 10:31:09 -04:00
Daniel Agar
64688b04d8
boards: mro pixracerpro set BOARD_SUPPORTS_RC_SERIAL_PORT_OUTPUT instead of RC_SERIAL_SINGLEWIRE
2021-04-29 21:06:39 -04:00
Daniel Agar
c266c3e43a
parameters: remove unnecessary param_get_system_default_value() locking
2021-04-26 09:49:15 +02:00
Daniel Agar
6e9e503ee6
sensors/vehicle_imu: accel clipping warning minor improvements
...
- no warning if accel is disabled
- threshold increased 100 -> 1000 (only warn if severe ongoing clipping)
- more generic warning message (vehicle isn't necessarily in air flying)
2021-04-25 17:03:43 -04:00
Daniel Agar
8478d1ea37
sensors/vehicle_angular_velocity: properly handle filter reset on FIFO data scale changes
...
For the sake of efficiency (at 8 kHz) all filtering is performed on the raw data before the calibration and rotation is applied to only the final output. As a result we have to be a bit more careful when switching between sensors or in cases where the gyro scale factor changes (eg icm42688p 20 bit data rescaled to fit in int16 output).
2021-04-25 14:20:32 -04:00
Daniel Agar
ed0fa99198
icm42688p: limit to 8 kHZ for now
2021-04-24 20:23:19 -04:00
Daniel Agar
59b70a881d
commander: temporarily increase worker thread stack substantially
2021-04-23 22:13:12 -04:00
Daniel Agar
c71a228f15
Tools/setup: macos use pip as python3 module
2021-04-23 16:47:49 -04:00
Daniel Agar
f9d8c613b0
px4_work_queue: increase nav_and_controllers stack
2021-04-21 07:34:13 +02:00
Daniel Agar
38bc46fd1a
re-add RC_MAP_RATT_SW (unused) and mark active for QGC
2021-04-16 13:07:02 -04:00
Daniel Agar
2492fb35e4
rc_update: require consecutive valid input_rc before publishing
2021-04-15 16:40:54 -04:00
Daniel Agar
5c4582ccce
rc: dsm allow full range
2021-04-15 18:27:33 +02:00
Daniel Agar
58b40fbbb9
boards: move testing to dedicated test variants
2021-04-14 09:21:31 +02:00
Daniel Agar
047fb13922
IMU_GYRO_RATEMAX: enforce reasonable constraint and update metadata
2021-04-13 20:26:57 -04:00
Daniel Agar
2d15c96b9b
ekf2: Multi-EKF let new instance schedule itself immediately on successful init
...
- this is to minimize missed sensor data (and unnecessary error output) between EKF2 construction and once it actually starts running
2021-04-13 14:24:46 -04:00
Daniel Agar
6a4c589c62
examples/work_item: add ModuleParams and more uORB::Subscription example usage
2021-04-13 14:23:36 -04:00
Daniel Agar
aa22407d87
drivers/pwm_out: only print rates if changed
2021-04-13 09:55:21 +02:00
Daniel Agar
a07bccc046
boards: modalai simplify defaults with new parameter defaults mechanism (AUTOCNF replacement)
2021-04-12 21:27:53 -04:00
Daniel Agar
f44f497e3f
parameters: better handle export failures and retry
2021-04-12 21:26:50 -04:00
Daniel Agar
edc445a1b2
parameters: tinybson fill total document length for bson compatibility
2021-04-12 21:26:50 -04:00
Daniel Agar
f0f16b9cc5
mavlink: streams fix SCALED_IMU size reporting
2021-04-12 13:02:10 -04:00
Daniel Agar
39c96a8884
gps add device_id
2021-04-08 08:27:07 +02:00
Daniel Agar
31b9efdaeb
sensors/vehicle_imu: increase threshold for clipping warning
2021-04-06 15:42:26 -04:00
Daniel Agar
f33fee99c1
ROMFS: init.d-posix/airframes migrate EKF2_GPS_MASK -> SENS_GPS_MASK
2021-04-06 13:48:40 -04:00
Daniel Agar
e05a4badf8
ROMFS: rcS start uavcan earlier
...
- starting this earlier is a minor improvement for things like lights and buzzers on UAVCAN or parameter sync over mavlink
2021-04-06 09:48:11 -04:00
Daniel Agar
4189eb11f5
simulator: GPS populate all sensor_gps fields (alt_ellipsoid, etc)
2021-04-06 09:44:18 -04:00
Daniel Agar
015849b402
mathlib: LowPassFilter2p and NotchFilter add magnitude response getter
2021-04-05 22:47:30 -04:00
Daniel Agar
f9460107d0
cleanup PWM param naming inconsistencies
2021-04-05 22:41:06 -04:00
Daniel Agar
436a6fce38
Update submodule mavlink v2.0 to latest Tue Apr 6 00:39:07 UTC 2021
2021-04-05 22:28:10 -04:00