Commit Graph

128 Commits

Author SHA1 Message Date
Daniel Agar
ad934b4911 icm20948 i2c passthrough driver for ak09916 magnetometer (Here+ GPS/compass)
- include icm20948 on most boards by default
 - create more test variants for default boards near flash limit (cuav_nora_test, cuav_x7pro_test, holybro_durandal-v1_test)
2021-04-04 21:18:16 -04:00
Daniel Agar
2257c3767e simple gyro auto calibration module 2021-03-15 09:46:47 +01:00
Daniel Agar
f8eaa6e46b ROMFS handle bl_update generically
- include all available legacy bootloaders
2021-03-11 00:38:18 +01:00
Paul Riseborough
4465c4fbf6 ekf2: Publish and log EKF warning and information events (NEW msg estimator_event_flags)
* msg: Add estinator information and warning events message (estimator_event_flags)
 * ekf2: publish information and warning events
 * logger: log estimator_event_flags
 * update ecl submodule to latest

Co-authored-by: Daniel Agar <daniel@agar.ca>
2021-03-07 16:16:48 -05:00
Daniel Agar
573034aa8e Jenkins hardware print ORB_ID(sensor_selection) 2021-03-05 10:56:54 -05:00
Daniel Agar
5c27c47746 Jenkins hardware limit px4_fmu-v5 to generic quadcopter at default rates
- the same boards are used for stackcheck and debug builds which are cpu constrained
2021-02-19 09:27:38 -05:00
Daniel Agar
ce64951578 parameter_update.msg: add basic status info 2021-02-12 08:27:47 -05:00
Daniel Agar
7f76666fe9 Jenkins: hardware avoid unnecessary checkout 2021-02-11 23:04:26 -05:00
Daniel Agar
9d90529e7f Jenkins hardware print vehicle_status and vehicle_status_flags 2021-02-05 20:11:13 +01:00
Daniel Agar
8b8adbf48e Jenkins hardware reduce IMU_GYRO_RATEMAX on some boards 2021-01-31 21:26:26 -05:00
Daniel Agar
b1e85b0b04 Jenkins hardware add CUAV X7 Pro 2021-01-31 19:48:00 -05:00
Daniel Agar
61d7be82cc Jenkins hardware add CubePilot CubeOrange 2021-01-31 18:51:32 -05:00
Daniel Agar
0c58d12216 mavlink: receiver estimate total lost messages 2021-01-31 11:41:56 +01:00
Daniel Agar
763c3b8fda boards: start enabling multi-EKF by default on F7/H7 2021-01-10 17:56:34 +01:00
Daniel Agar
bc1e9f72f7 Jenkins hardware temporarily remove px4_fmu-v2 2021-01-04 09:30:47 -05:00
Daniel Agar
4f62355dec msg: new estimator_status_flags message for more accessible ekf2 status logging
- log all estimator (ekf2) flags as separate booleans in a new dedicated low rate message (only publishes at 1 Hz or immediately on any change)
 - this is a bit verbose, but it avoids the duplicate bit definitions we currently have across PX4 msgs, ecl analysis script, flight review, and many other custom tools and it's much easier for casual log review in FlightPlot, PlotJuggler, csv, etc
 - for compatibility I've left estimator_status filter_fault_flags, innovation_check_flags, and solution_status_flags in place, but they can gradually be removed as tooling is updated

Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
2020-12-29 11:27:21 -05:00
Daniel Agar
053bf7e732 Jenkins HIL tolerate certain failures
- px4_fmu-v5 debug and stackcheck builds initial configuration is best effort
 - nxp_fmuk66-v3 allow overall tests command to fail due to intermittent serial console issues
2020-11-13 21:50:13 -05:00
Daniel Agar
174c5c5797 Jenkins HIL fmu-v5 debug and stackcheck attempt to config conservative defaults before flashing
- keep minimal rate for expensive fmu-v5 debug and stackcheck builds
2020-11-13 18:03:09 -05:00
Daniel Agar
dd3c1a3653 Tools/HIL: relax command retry for now 2020-11-13 18:03:09 -05:00
Daniel Agar
3924792c20 Jenkins: HIL improve run_tests.py and run_nsh_cmd.py helper
- switch to python3
 - run_nsh_cmd.py return error if command fails
 - decrease timeout in checking for output
 - Jenkins hardware tests tolerate certain command failures that aren't available on all boards (flash constrained, etc)
2020-11-10 22:45:50 -05:00
Daniel Agar
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
David Sidrane
46f0388fc7 Reanable BL Update - Reverts b5267c06073023893d5a11b9011ef009b5291097 2020-09-29 23:44:24 -04:00
Daniel Agar
faccb0d948 Jenkins: HIL script minor improvements
- periodically send newline while checking for output or command completion (back to nsh prompt)
 - mtd test
 - fix adc test (now board_adc)
2020-09-28 16:41:28 -04:00
Daniel Agar
8b26b84fd1 Jenkins: hardware disable holybro durandal bootloader update
- this is currently bricking the board
2020-09-21 22:51:11 -04:00
Daniel Agar
d61fd0e4ca update all px4-dev-base and px4-dev-nuttx container usage uniformly 2020-09-18 13:03:07 -04:00
Matthias Grob
ce9954a919 param: enable reseting specific parameters from shell
Renaming previous "param reset" to "param reset_all".
2020-09-08 12:03:41 +02:00
Daniel Agar
60d613ea04 sensors: sensor_preflight_imu -> sensors_status_imu and run continuously
- inconsistency checks now run continuously instead of only preflight
 - keep inconsistencies for all sensors
 - add per sensor data validator state as overall health flag
2020-09-06 22:06:13 -04:00
Daniel Agar
023f6d3983 NuttX cpuload monitoring optimization
- Nuttx only process all suspend & resume scheduling notes when top is running, otherwise only track IDLE
 - convert cpuload and print load to c++
 - delete unused fields from print_load struct
 - update hrt_store_absolute_time (previous unused)
2020-09-05 14:35:50 -04:00
Daniel Agar
f7c364de37 Jenkins hardware print estimator and sensor messages 2020-09-04 10:48:26 -04:00
Daniel Agar
7c2bb6a983 Jenkins: hardware increase timeout 2020-09-02 09:00:34 -04:00
Daniel Agar
c76cdaf8a8 commander: mag calibration add simple offset only quick cal using GPS & attitude 2020-08-21 10:12:13 -04:00
Daniel Agar
971b1e4b4d sensors: move mag aggregation to new VehicleMagnetometer WorkItem
- purge all reminaing magnetometer IOCTL usage
 - mag calibration add off diagonal (soft iron) scale factors
2020-08-21 10:12:13 -04:00
Daniel Agar
d92ddffa5d commander: add simple accelerometer quick calibration 2020-08-21 10:12:13 -04:00
Daniel Agar
7354e39893 Jenkins HIL remove mRo Control Zero
- there are issues with the particular harware on the rack (an early prototype)
2020-07-26 19:36:44 -04:00
Daniel Agar
81f57bccb6 px4io: servorail_status -> px4io_status and log all flags 2020-07-21 09:56:13 -04:00
Daniel Agar
e79ccd1333 Jenkins: hardware print vehicle_air_data 2020-07-17 09:42:19 -04:00
Daniel Agar
f0ceb44f6c Jenkins: hardware print cpuload 2020-07-16 15:11:53 -04:00
Daniel Agar
38fa913fed Jenkins: holybro durandal-v1 switch to generic multicopter with dshot 2020-07-07 18:59:04 -04:00
Daniel Agar
8763d71bf0 Jenkins: set IMU_GYRO_RATEMAX to 4kHz on holybro_durandal-v1_default 2020-07-07 01:29:48 -04:00
Daniel Agar
2af72c05b5 Jenkins: set IMU_GYRO_RATEMAX to 2kHz on px4_fmu-v5_default 2020-07-06 22:17:17 -04:00
Daniel Agar
b277840233 boards: create px4_fmu-v5_debug build with assertions enabled 2020-07-06 11:13:15 -04:00
Daniel Agar
d360919789 Jenkins: hardware mRo Control Zero skip tests for now
- not quite ready for this one
2020-06-29 11:14:22 -04:00
Daniel Agar
27cf3c7c75 Jenkins hardware add mRo Ctrl Zero F7 2020-06-23 23:40:43 -04:00
Daniel Agar
d927d80509 Jenkins hardware ignore nxp_fmuk66-v3 status failures
- this particular hardware on the test rack has a flaky console
2020-06-20 18:53:10 -04:00
Daniel Agar
f55ed0992c accel and gyro calibration refactor and cleanup
- remove all remaining IOCTLs for accel and gyro and handle all calibration entirely in sensors module with parameters
 - sensor_accel and sensor_gyro are now always raw sensor data
 - calibration procedures no longer need to first clear existing values before starting
 - temperature calibration (TC) remove all scale (SCL) parameters
    - gyro and baro scale are completely unused
    - regular accel calibration scale can be used (CAL_ACC*_xSCALE) instead of TC scale
2020-06-17 22:50:09 -04:00
Daniel Agar
a1b0634258 Jenkins HIL test fix sensor timeouts
- stop logger when running tests
 - decrease test priorities
 - hrt test don't flush output
2020-06-04 22:09:07 -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
Daniel Agar
297e4dd589 Jenkins hardware uORB top print all once 2020-05-07 09:31:15 +02:00
Daniel Agar
604258ec71 Jenkins: hardware rack show df, mount, sensor_combined, vehicle_imu per board 2020-05-06 10:51:59 -04:00
Daniel Agar
7bbb7e6b24 Jenkins: hardware print more status and cleanup SD card
- /proc meminfo and uptime
 - gps status, ekf2 status, attitude, local position
 - try to force update px4io on a few boards
 - set SDLOG_DIRS_MAX 1 on board cleanup to minimize usage
2020-04-16 16:01:50 -04:00