Commit Graph
100 Commits
Author SHA1 Message Date
Daniel Agar 7ccfc91dfc github actions add timeout-minutes 2021-07-21 12:51:00 -04:00
Daniel Agar b1eb762753 drivers/imu: set sample timestamp from interrupt (if available)
- minor scheduling improvements
   - if expected number of samples larger than expected adjust timestamp sample and save sample for next iteration
   - when scheduling via data ready interrupt (with no FIFO watermark) count continuously without clearing
2021-07-21 02:19:11 -04:00
Daniel Agar 949fef1f3b boards: px4_fmu-v5_optimized disable optical_flow drivers to save flash 2021-07-20 21:43:48 -04:00
Daniel Agar 14274ab071 boards: px4_fmu-v5_optimized disable pwm_input to save flash 2021-07-19 16:53:45 -04:00
Daniel Agar 10f4fc7783 ekf2: don't print distance_sensor selection unless there are multiple options 2021-07-19 12:17:12 -04:00
Daniel Agar 1a222bf06e Tools/HIL/run_nsh_cmd.py handle missing echo, but cmd succeeded 2021-07-19 11:53:54 -04:00
Daniel Agar 87610957a4 flight_mode_manager: pass deltas on estimator reset 2021-07-19 09:34:07 -04:00
Daniel Agar d79eea0c41 Jenkins: HIL flash bootloaders
- add new jlink_upload_bootloader helper target
2021-07-18 23:33:00 -04:00
Daniel Agar 4c59997ff4 Jenkins: HIL attempt to set certain parameters initially
- attempt to minimize issues on heavily loaded debug and stackcheck builds
 - disable systemcmds/bl_update on debug and stackcheck fmu-v5
2021-07-18 21:25:00 -04:00
Daniel Agar 774ad80ba0 systemcmds/tests: split out microbenchmarks and remove obsolete tests
- reorganize Jenkins HIL tests
2021-07-18 18:02:33 -04:00
Daniel Agar 0101934f47 ekf2: multi-EKF instance message INFO -> DEBUG 2021-07-18 18:02:33 -04:00
Daniel Agar 0ad65738db gyro_calibration: reset on any parameter change
- perform fresh calibration once system has settled
2021-07-18 18:02:33 -04:00
Daniel Agar 9ac860ac33 ekf2: test fix double promotion warnings 2021-07-18 15:49:53 -04:00
Daniel Agar 9087ba2259 world_magnietc_model: update to latest and fix code style
- minimize test_geo_lookup.cpp optimization to improve compile times
2021-07-18 15:49:53 -04:00
Daniel Agar eeb73fdbe6 ekf2: resetting IMU bias message INFO -> DEBUG 2021-07-17 10:57:09 -04:00
Daniel Agar 36dea8487c Jenkins: HIL remove redundant board_adc test 2021-07-17 10:57:09 -04:00
Daniel Agar bc79ea54dc Jenkins: HIL lower quick cal sleep time before checking parameters 2021-07-17 10:57:09 -04:00
Daniel Agar 858a30df21 systemcmds/tests: replace warnx -> PX4_INFO 2021-07-17 10:57:09 -04:00
Daniel Agar 209fde9ff3 Tools/HIL: console print timestamps 2021-07-17 10:57:09 -04:00
Daniel Agar 847b3b5b64 Tools/HIL/nsh_param_set.py bump timeout slightly 2021-07-16 22:18:07 -04:00
Daniel Agar 5a046cae7e Tools/HIL: fix terminal colors (ANSI escape codes) 2021-07-16 21:37:48 -04:00
Daniel Agar f80f0e6c7e Jenkins: HIL set CCACHE_NOHASHDIR and remove obsolete "make sizes" 2021-07-16 21:06:07 -04:00
Daniel Agar cbf6c97682 Jenkins: HIL print dmesg output only on boards with enough memory 2021-07-16 19:33:27 -04:00
Daniel Agar 8c6ade0fc8 Tools/HIL: color output (ERROR, WARN, etc) 2021-07-16 19:33:27 -04:00
Daniel Agar 7f4ffcef93 Jenkins: HIL add separate status for flash constrained boards 2021-07-16 19:33:27 -04:00
Daniel Agar e61d8d6e7e Tools/HIL: add nsh_param_set.py and use on test rack 2021-07-16 19:33:27 -04:00
Daniel Agar ae0438e8f5 Jenkins: HIL no longer tolerate SD failures 2021-07-16 19:33:27 -04:00
Daniel Agar 65745a3676 purge broken qurt support and atlflight boards 2021-07-16 08:53:36 -04:00
Daniel Agar 4a0fa08953 Tools/HIL/run_nsh_cmd.py fail if command failed 2021-07-15 23:29:46 -04:00
Daniel Agar c8e6d93cc0 ekf2: backend apply code style (generated code still exempt) 2021-07-15 21:15:41 -04:00
Daniel Agar 12ad7b17ce Makefile: add all_variants_@ helper target and consolidate github actions builds 2021-07-15 21:09:50 -04:00
Daniel Agar fcf0d3536f NuttX debug jlink scripts minor improvements
- script return non-zero exit if there's a failure
 - upload script look for both gdb-multiarch and arm-none-eabi-gdb
2021-07-15 17:07:51 -04:00
Daniel Agar 2cf66a5d8f ekf2: move EKF out of ecl 2021-07-15 10:38:24 -04:00
Daniel Agar 883624d915 lib/geo: move from ecl 2021-07-15 10:38:24 -04:00
Daniel Agar 6f6d3f98a6 wind_estimator: move from ecl and consolidate airspeed selector 2021-07-15 10:38:24 -04:00
Daniel Agar fedf8f0266 world_magnetic_model: move from ecl 2021-07-15 10:38:24 -04:00
Daniel Agar b5430c22c4 AlphaFilter: move from ecl -> mathlib 2021-07-15 10:38:24 -04:00
Daniel Agar 645fb2ff8c Update submodule mavlink v2.0 to latest Thu Jul 15 00:38:28 UTC 2021 2021-07-14 21:54:54 -04:00
Daniel Agar 7f2acb6d59 consume PX4 ecl submodule and preserve all history 2021-07-14 07:00:52 -04:00
Daniel Agar 18dcec43d3 github actions: add standalone ecl builds and testing 2021-07-13 19:01:19 -04:00
Daniel Agar ad11927661 ROMFS: delete redundant wing mixers
- these are nearly identical with slightly different scaling and haven't been tested for years
2021-07-13 21:12:11 +02:00
Daniel Agar 06cd1c79dd logger: limit distance_sensor to 2 instances 2021-07-13 14:11:42 -04:00
Daniel Agar 3924f0ef30 ROMFS: delete Hobbyking Micro PCB 2021-07-13 14:07:45 -04:00
Daniel Agar dbaed99626 cmake remove git_ecl target 2021-07-13 10:03:06 -04:00
Daniel Agar a5f7406211 Merge entire PX4/ECL submodule and history into PX4-Autopilot 2021-07-13 10:01:09 -04:00
Daniel Agar cd1e04d034 delete ecl submodule 2021-07-13 09:54:02 -04:00
Daniel Agar d8704cee67 platforms: px4 log build string then print (fputs) 2021-07-10 13:14:49 -04:00
Daniel Agar 552ec4a37c Jenkins: hardware test rack remove Holybro Durandal
- IMUs on this particular unit no longer function
2021-07-10 12:02:45 -04:00
Daniel Agar 62144c6b6b optical_flow/paw3902: minor improvements
- configure a backup schedule when using motion interrupt otherwise the
sensor will stop publishing entirely in the dark
 - as a precaution issue full reset if sensor is stuck in a bad state
(no vaid data for an extended period)
 - update light mode change criteria to match datasheet exactly
2021-07-10 09:46:56 -04:00
Daniel Agar d01cec192f Makefile: remove check_px4_fmu-v2_lpe 2021-07-09 11:54:06 -04:00
Daniel Agar c5b1fe86ca delete deprecated BAT_* parameters 2021-07-08 22:19:12 -04:00
Daniel Agar 23688d8234 monocypher submodule point to px4 branch 2021-07-08 13:54:34 -04:00
Daniel Agar bcfed93c57 github actions: fix airframe_metadata 2021-07-08 13:11:53 -04:00
Daniel Agar e4983ab88c px4_platform_common: atomic support larger types with critical sections (on NuttX) 2021-07-08 10:56:25 -04:00
Daniel Agar 1ee3484827 drivers/gps: close port if configure fails
- open if necessary at beginning of each iteration
2021-07-06 22:01:24 -04:00
Daniel Agar 1b5e65df04 gyro_fft: change default length 1024 -> 512 to decrease latency
- change default FFT length (1024 -> 512)
      - this doubles the update rate because half the number of samples are required for each
 - decrease number of peaks (4 -> 3)
      - so far 3 seems to be sufficient on most vehicles
 - increase median filter window (3 -> 5)
 - decrease SNR requirement (likely needs to be configurable)
2021-07-06 21:54:18 -04:00
Daniel Agar ca4932cfc0 EKF: initialize vertical position and velocity variables
- otherwise checkVerticalAccelerationHealth() can fail if GPS or EV
aren't available to correctly set vertical velocity fusion time and
innovation ratio
2021-07-06 17:11:16 -04:00
Daniel Agar a5ee28883a gyro_fft: track FFT peaks and median filter frequency 2021-07-06 12:32:25 -04:00
Daniel Agar 9524e8ec03 drivers/px4io: mirror PWM_MAIN_OUT support 2021-07-05 21:23:04 -04:00
Daniel Agar 6dd0a58302 [at24c] free perf counter if px4_at24c_initialize fails
- add driver prefix to perf counter naming
2021-07-05 21:22:08 -04:00
Daniel Agar 0aa14deb5d drivers/distance_sensor/broadcom/afbrs50: minimize IRQ_LOCK()/IRQ_UNLOCK() calls 2021-07-01 10:47:53 -04:00
Daniel Agar 33bf4e0303 EKF: set uninitialized vel/pos/hgt test ratios to NAN
- ensure valid min is numerically larger than 0 (float32)
2021-06-30 09:30:44 -04:00
Daniel Agar d87cd171f4 sensors/vehicle_imu: continue integrating gyro if there's a gap in data
- minor improvement that helps to determine the sensor publication rate
as soon as possible
2021-06-30 09:13:49 -04:00
Daniel Agar 7ddcb7fe3c adis16470: disable debug 2021-06-30 01:01:07 -04:00
Daniel Agar 982692f5ed ekf2: selector handle NAN test ratios as uninitilaized
- requires https://github.com/PX4/PX4-ECL/pull/1020
2021-06-29 21:36:24 -04:00
Daniel Agar f08a22934e boards: px4_fmu-v4_test remove deleted drivers/tap_esc 2021-06-29 21:27:29 -04:00
Daniel Agar f0d8d53da6 sensors/vehicle_imu: minor IMU integration improvements
- IMU integrator set max dt based on final return size (uint16)
 - improve integration consuming gyro as needed then integrate all available accel until caught up
 - increase required number of samples for sensor rate measurement (online Welford mean)
2021-06-29 10:43:09 -04:00
Daniel Agar 3fcd323f6a drivers/imu/invensense: store offset registers on configure, trigger reset on any change
- this can catch subtle failures that occur after self hours of continuous operation on some units
2021-06-29 10:33:03 -04:00
Daniel Agar 76a8617529 sensors: fix IMU init race condition
- IMU init requires valid published data (device ids, etc)
 - orb_group_count will include advertised instances before data is published, so this can't be used to throttle IMU init attempts
2021-06-17 10:38:33 -04:00
Daniel Agar 500c45e798 uORB: Subscription check if uORB::Manager instance is valid
- this is necessary if uORB::Subscription is used with static storage
duration
2021-06-17 08:07:24 +02:00
Daniel Agar 0c303f03f4 Update submodule mavlink v2.0 to latest Mon Jun 14 00:39:13 UTC 2021 2021-06-13 21:30:10 -04:00
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