- 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>
- 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
- 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)
- fmu-v5 debug and stackcheck builds now need to be CONSTRAINED_FLASH to fit
- delete unused holybro_durandal-v1_stackcheck build (also CONSTRAINED_FLASH)
- 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>
- inconsistency checks now run continuously instead of only preflight
- keep inconsistencies for all sensors
- add per sensor data validator state as overall health flag
- 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)
- 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
- 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)
- /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
- 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)
- split out integrated data into new standalone messages (sensor_accel_integrated and sensor_gyro_integrated)
- publish sensor_gyro at full rate and remove sensor_gyro_control
- limit sensor status publications to 10 Hz
- remove unused accel/gyro raw ADC fields
- add device IDs to sensor_bias and sensor_correction
- vehicle_angular_velocity/vehicle_acceleration: check device ids before using bias and corrections
- fixed df_ltc2946_wrapper battery dependency
- fixed px4::atomic fetch_add for QuRT
- updated PX4 QuRT SPI wrapper to set bus frequency
- renamed "qurt-default" configs to just "qurt"
- instrumenting PX4 Matrix and Param methods is too burdensome
- partially restore px4_fmu-v5_stackcheck and holybro_durandal-v1_stackcheck to match default configs
This target was never fully supported and is heavily dependent on a number of DriverFramework drivers that have no in tree equivalents (bebop bus, flow, rangefinder, etc). Deleting this will make it easier to fully drop DriverFramework shortly.
Durandal:Fix PLL settings
durandal-v1:Move I2C123, I2C4 to HSI.
Not liking using HSI but, F7 has, and in reality there is no
requerment for accuracy.
durandal-v1:board config set 400kHz on card probe
durandal-v1:Board SDMMC Clock Not greater then 25 mHz
durandal-v1:Fix PLL3 configuration typo and value
CI build config for holybro_durandal-v1
durandal-v1:Kconfig - add knob to ensure ARCH_MATH_H is kept
Upstream changes added ARCH_HAVE_MATH_H to protect from archs
without math.h from causing isses for users setting
CONFIG_ARCH_MATH_H and getting errors. PX4 provides a math.h
and we need CONFIG_ARCH_MATH_H set. So this Selects
ARCH_HAVE_MATH_H perserving CONFIG_ARCH_MATH_H a defconfig
Track master LED removal
durandal-v1: bmi055 -> bmi088
bmi088 is what the board uses
durandal-v1:add PX4IO support
durandal-v1 rc.board_sensors: start baro
durandal-v1: remove segway module
durandal:Run at 480 Mhz
durandal-v1: build thermal control module
durandal-v1: enable IMU thermal control by default
durandal-v1:Track upstream adc start moved to rc.board_sensors
durandal-v1:Track upstream mavlink start moved to rc.board_mavlink
* bump container tags to 2019-10-04
* docker_run: update container name and tag
* generate_microRTPS_bridge.py: force FastRTPSGen to version 1.0 if the result of 'fastrtpsgen -version' command is not a number
* CI: temporarly disable avoidance and safe landing tests
* CI: try to revive tiltrotor test
* adds a work_queue systemcmd that will bring a tree view of all active work queues and work items
* WorkQueues now track attached WorkItems and will shutdown when the last WorkItem is detached
* refactor ekf analysis part 1: move plotting to functions
* add plot_check_flags plot function
* put plots in seperate file
* use object-oriented programming for plotting
* move functions for post processing and pdf report creation to new files
* add in_air_detector and description as a csv file
* refactor metrics and checks into separate functions
* refactor metrics into seperate file, seperate plotting
* ecl-ekf tools: re-structure folder and move results table generation
* ecl-ekf-tool: fix imports and test_results_table
* ecl-ekf tools: bugfix output observer tracking error plot
* ecl-ekf-tools: update batch processing to new api, fix exception handling
* ecl-ekf-tools: use correct in_air_detector
* ecl-ekf-tools: rename csv file containing the bare test results table
* ecl-tools: refactor for improving readability
* ecl-ekf tools: small plotting bugfixes
* ecl-ekf tools: small bugfixes in_air time, on_ground_trans, filenames
* ecl-ekf-tools: fix amber metric bug
* ecl-ekf-tools: remove custom function in inairdetector
* ecl-ekf-tools: remove import of pandas
* ecl-ekf-tools: add python interpreter to the script start
* ecl-ekf-tools pdf_report: fix python interpreter line
* px4-dev-ros-kinetic: update container tag to 2019-02-13
* ecl-ekf-tools python interpreter line: call python3 bin directly
* ecl-ekf-tools: change airtime from namedtuple to class for python 3.5
* ecl-ekf-tools: update docker image px4-dev-ros-kinetic
* ecl-ekf-tools: fix memory leak by correctly closing matplotlib figures