Commit Graph

224 Commits

Author SHA1 Message Date
Daniel Agar b88c8eb245 Jenkins: hardware stop commander before sensors module to avoid errors
- this is only done to silence timeouts during small benchmarks
2021-10-14 09:17:50 -04:00
Daniel Agar 12670b70f4
Jenkins: hardware quick cal skip sleeps 2021-10-11 15:21:43 -04:00
Daniel Agar 51758bd7e6
boards: delete unused variants 2021-10-05 23:14:04 -04:00
Daniel Agar 578d57a060
Jenkins: hardware disable sd_stress temporarily
- currently failing intermittantly when run on the test rack
2021-10-05 17:55:52 -04:00
Daniel Agar c271a9e3e6 add sd_stress to all boards and run on test rack 2021-10-04 17:38:31 -04:00
Daniel Agar 1325b9c876 Jenkins: hardware retry checkout if necessary 2021-10-04 12:54:01 -04:00
Daniel Agar 6d78054f50
mavlink USB auto start/stop on boards with VBUS
- no longer start sercon or mavlink usb by default
 - on USB connection (VBUS) monitor serial USB at low rate and start Mavlink if there's a HEARTBEAT or nshterm on 3 consecutive carriage returns
 - the mavlink USB instance is automatically stopped and serdis executed if USB is disconnected
 - skipping Mavlink USB (and sercon) saves a considerable amount of memory on older boards
2021-10-03 15:32:54 -04:00
Daniel Agar c1c86bc349 Jenkins: hardware clear ccache stats before compiling 2021-10-01 20:31:29 -04:00
Daniel Agar 3c8f1f2a50 Jenkins: reduce build agent cpu share 2021-10-01 18:18:51 -04:00
Daniel Agar f3a904c109
Jenkins: HIL increase timeout
- occasionally we have a considerable backlog
2021-09-29 20:37:07 -04:00
Daniel Agar cf5da66e9f Jenkins: hardware disable gyro auto cal and FFT before running tests 2021-09-21 19:13:30 -04:00
Daniel Agar 87db18c1a0 Jenkins: hardware don't allow board cleanup commands to fail build 2021-09-21 19:13:30 -04:00
Jukka Laitinen ffa5abbd65 ci: update container versions to 2021-09-08
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-09-09 09:43:15 +02:00
Daniel Agar 000765e9f0 NuttX mount procfs and binfs in px4 init 2021-09-08 10:21:24 -04:00
Daniel Agar 8c47a190ac Jenkins: hardware stop sensors module before mirobenchmarks
- ignore irrelevant sensor timeouts during microbenchmarks
2021-09-05 23:18:28 -04:00
Daniel Agar 92a48657e3 Jenkins: hardware tolerate listener command failure
- these are only for casually inspecting the system
2021-09-01 15:16:00 -04:00
Daniel Agar 86bd6a253b Jenkins: hardware test rebooting back to back multiple times 2021-09-01 15:16:00 -04:00
Daniel Agar 06c673a94f Jenkins: hardware move sd_bench to test section 2021-09-01 15:16:00 -04:00
Daniel Agar 347720e049 Jenkins: hardware always reset board when finished 2021-09-01 15:16:00 -04:00
Daniel Agar 6ee16156bb Jenkins: hardware only list relevant parameters 2021-09-01 15:16:00 -04:00
Daniel Agar 225bd2d5a3 Jenkins: hardware limit stackcheck and debug build cpu usage 2021-09-01 15:16:00 -04:00
Daniel Agar 3ff9295cbd Jenkins: hardware nxp_fmuk66-v3 limit IMU_GYRO_RATEMAX to save cpu 2021-09-01 15:16:00 -04:00
Daniel Agar 65b1a9648d Tools/HIL/run_nsh_cmd.py: fail if ERROR printed in output 2021-09-01 15:16:00 -04:00
Daniel Agar 369776cd4e Jenkins: hardware don't tolerate px4io status on known hardware 2021-09-01 15:16:00 -04:00
Daniel Agar 61931fcbbc Jenkins: hardware failure allow px4_fmu-v5_debug monitor firmware upload failure
- due to reported errors in NuttX low level drivers
2021-09-01 15:16:00 -04:00
Daniel Agar 9e0fa8e82b boards: set SENS_TEMP_ID defaults 2021-09-01 15:16:00 -04:00
Daniel Agar 29616ec387 Jenkins: remove modalai_fc-v1 temporarily
- board test harness needs to be repaired
2021-08-16 21:45:37 -04:00
Daniel Agar 93aa6e3f78 ekf2: baro bias publish minor cleanup
- naming consistency (estimator prefix as "namespace")
 - only publish if baro is available and bias is changing as a small logging optimization
 - avoid unnecessary copying (get const reference to status directly)
 - trivial code style fixes
2021-08-02 13:59:38 -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 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 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 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 4a0fa08953 Tools/HIL/run_nsh_cmd.py fail if command failed 2021-07-15 23:29:46 -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
Beat Küng b12b884f4c ci: update container version to 2021-05-04 2021-07-07 21:38:09 -04:00
Daniel Agar 904f827df0 Jenkins: increase timeout and build history 2021-05-16 15:59:56 -04:00
David Sidrane 92344b96b3 CI Update to 2021-04-29 2021-04-30 14:32:40 -04:00
Daniel Agar 58b40fbbb9 boards: move testing to dedicated test variants 2021-04-14 09:21:31 +02:00
Daniel Agar 39c96a8884 gps add device_id 2021-04-08 08:27:07 +02:00
Daniel Agar 695adbc037 Jenkins: hardware skip AUTOCNF, don't force px4io update, show configured parameters 2021-04-05 12:30:55 -04:00
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 b5267c0607 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
Daniel Agar 5634b68354 Jenkins: hardware print px4io status, pwm info for all outputs, pwm_out status 2020-04-15 22:48:24 -04:00
Daniel Agar d5e0a52f3f
Jenkins: increase history for remaining builds 2020-04-14 19:14:10 -04:00
Daniel Agar 60836eabd5
Jenkins HIL remove px4_fmu-v4_optimized
- this was interesting to monitor, but slows down the entire build with only one pixracer on the test rack
2020-04-13 13:48:28 -04:00
Daniel Agar 66eacd24bc
px4_fmu-v5_stackcheck: update stack sizes and add to Jenkins
- increase stack sizes to run cleanly under stackcheck
     - this is likely overkill for most boards, but using stackcheck to set our minimum ensures we have a very safe margin on regular builds and it's something we can currently afford
 - remove holybro_durandal-v1_stackcheck from test rack (there's only one unit)
2020-04-11 21:16:10 -04:00