Daniel Agar
dab90f86a4
drivers/gps: limit to ublox only flash constrained targets
2021-01-18 09:30:01 +01:00
Daniel Agar
e4d223f098
boards: CUAV Nora fix BMI088 orientation
2021-01-17 23:19:18 -05:00
Daniel Agar
1ec10bfcc6
boards: disable CONFIG_ARMV7M_LAZYFPU again ( #16573 )
...
- this was causing hard faults on the CUAV Nora and possibly other boards, disabling everywhere until we fully understand the root cause
2021-01-17 22:40:21 -05:00
Daniel Agar
3abe2e82d1
mpu9250: create dedicated i2c version and delete legacy driver
...
- update crazyflie and bbblue usage
- eventually this should be merged with the SPI version after interface
changes are made
2021-01-17 16:11:19 -05:00
Daniel Agar
c9a7894230
boards: bitcraze crazyflie fix boot
...
- add console to USART3 for now
2021-01-17 16:11:19 -05:00
Daniel Agar
4d7b875ee2
flight_mode_manager: merge with flight_tasks
2021-01-17 15:46:30 +01:00
Daniel Agar
420ceb76fc
cmake: NuttX generated vscode launch.json requires DEBUG_DEVICE found
2021-01-14 10:32:26 -05:00
Daniel Agar
52b07a932a
github actions build and store cannode uavcan firmware
2021-01-14 08:52:38 -05:00
Daniel Agar
e96571b45d
uavcannode: GPS working on cuav_can-gps-v1
...
- use sensor_gps directly from sensor rather than vehicle_gps_position (aggregated value)
2021-01-13 22:06:46 -05:00
Daniel Agar
d8e8e23947
vscode: add cuav_can-gps-v1_canbootloader variant
2021-01-13 22:06:46 -05:00
Daniel Agar
58909b208d
boards: cuav can-gps-v1 add safety button and LED
2021-01-13 22:06:46 -05:00
Daniel Agar
a894ca30e8
cmake: add STM32F412CE debug helper
2021-01-13 22:06:46 -05:00
Daniel Agar
a0d8d5ac74
sensors/vehicle_gps_position: untangle and remove unnecessary state
2021-01-13 20:17:49 -05:00
Daniel Agar
bc8ec5d1f5
uavcannode: support optical_flow
2021-01-13 19:35:28 -05:00
Daniel Agar
a57b9f9381
delete drv_baro.h, drv_mag.h, drv_range_finder.h, drv_device.h and purge UAVCAN CDev usage
2021-01-12 22:04:52 -05:00
Daniel Agar
7f5fae91b0
boards: mro ctrl zero f7 fix default power module calibration
2021-01-12 16:51:05 -05:00
Daniel Agar
48f125f150
estimated IMU bias preflight checks
...
- commander preflightcheck use estimator_sensor_bias message instead of EKF state index magic number
- ekf2 publish estimated bias limits in estimator_sensor_bias
- preflightcheck only error if bias estimate exceeds half of configured limit (delete COM_ARM_EKF_AB and COM_ARM_EKF_GB parameters)
2021-01-12 09:09:42 +01:00
Daniel Agar
cb74cb8692
boards: enable CONFIG_ARMV7M_LAZYFPU everywhere
2021-01-12 09:04:38 +01:00
Daniel Agar
abec2bd8df
msg: estimator_status_flags shorten fields
...
- previously this message exceeded the logger total field length (1500 bytes)
2021-01-11 11:49:51 -05:00
Daniel Agar
04f9ada500
ekf2: selector improve fallback selection when the primary becomes unhealthy
...
- if an ekf instance becomes unhealthy prefer switching to the next best healthy instance on a different IMU
2021-01-11 09:38:26 -05:00
Daniel Agar
967d35a6b6
rate limit most parameter_update subscriptions
...
- parameter updates can be quite expensive because they trigger nearly all modules to reload all of their parameters immediately
- limit modules from updating faster than once per second
2021-01-10 21:09:15 -05:00
Daniel Agar
70e503cb91
rotation: use Dcmf for all rotations that aren't direct swaps
...
- increase optimization to ${MAX_CUSTOM_OPT_LEVEL} (max per board)
2021-01-10 18:08:41 -05:00
Daniel Agar
f73d93ef6c
ekf2: selector improve status reporting
...
- publish estimator_selector_status at minimal rate or immediately on change
- log all estimator_selector_status updates
2021-01-10 19:25:53 +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
662f177830
ekf2: multi instance numbering consistent with uORB publication instances
2021-01-09 13:20:26 -05:00
Daniel Agar
c3fc96fd42
uORB::PublicationMulti add get_instance()
2021-01-09 13:20:26 -05:00
Daniel Agar
c6af260a41
log_message increase queue depth 2->4
2021-01-09 11:04:32 -05:00
Daniel Agar
b9a721726d
sensors/vehicle_magnetometer: respect calibration offset update success
...
- the magnetometer calibration offset setter returns false if the new offset change is negligible
2021-01-08 15:34:48 -05:00
Daniel Agar
bf330a51b2
sensors/vehicle_magnetometer: reduce offset update message length to fit
2021-01-08 01:22:31 -05:00
Daniel Agar and Paul Riseborough
88f8da27ef
save learned mag bias per sensor (Multi-EKF support)
...
- handle saving the mag bias per sensor (across all estimator instances using that mag) in sensors/vehicle_magnetometer
- this is now saving back to the actual mag calibration CAL_MAGn_OFF{X,Y,Z}
- ekf2 reset mag mag bias on any magnetometer or calibration change
- use Kalman filter scheme to update stored mag bias parameters using all available bias estimates for that sensor
Co-authored-by: Paul Riseborough <gncsolns@gmail.com >
2021-01-07 09:54:13 -05:00
Daniel Agar
6c9072720e
invensense/icm42688p: use full 20 bit data, increase ODR, disable all filters
2021-01-06 17:03:39 -05:00
Daniel Agar and PX4 BuildBot
b94e346488
Update submodule sitl_gazebo to latest Tue Jan 5 12:40:40 UTC 2021 ( #16493 )
...
- sitl_gazebo in PX4/Firmware (850d0bc588 ): https://github.com/PX4/PX4-SITL_gazebo/commit/054e0a1be67b715ca1802397082e7814a1427f52
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/44de4acc3f9cf9e44db58006f99ea190d217017a
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/054e0a1be67b715ca1802397082e7814a1427f52...44de4acc3f9cf9e44db58006f99ea190d217017a
44de4ac 2021-01-02 Lorenz Meier - Update README.md
Co-authored-by: PX4 BuildBot <bot@px4.io >
2021-01-05 19:34:11 +01:00
Daniel Agar
bc1e9f72f7
Jenkins hardware temporarily remove px4_fmu-v2
2021-01-04 09:30:47 -05:00
Daniel Agar
98cff94702
px4_work_queue: directly support SITL lockstep
...
- the purpose is to ensure that every WorkItem (and WorkItems scheduled
by WorkItems) is allowed to run to completion every step
- per workqueue register a lockstep component whenever a work item is
added (if not already registered)
- once the work queue is empty unregister component
2021-01-04 09:38:05 +01:00
Daniel Agar
95dd2f7e8d
rc/dsm: remove system field check, add new validity checks
...
- unfortunately we can't depend on the system field due to potential
external binding and non-genuine Spektrum equipment
- reject any DSM frame with duplicate channels
- add 16 channel mask
- tighten valid PWM range 990-2010us (±100% travel is 1102-1898µs)
- update RCTest rejected frame count
2021-01-01 14:26:36 +01:00
Daniel Agar
d7b89ecc86
boards: px4/fmu-v5 disable px4io in rc.board_defaults
...
- avoid keeping this kind of logic in the common rcS
2021-01-01 14:12:26 +01:00
Daniel Agar
404f74f996
boards: mro/pixracerpro add flight_mode_manager
2020-12-30 10:25:08 -05:00
Daniel Agar
49d4cc7d5b
commander: CMD_NAV_LAND/CMD_NAV_PRECLAND reply RESULT_ACCEPTED unless transition is denied
2020-12-30 12:05:41 +01:00
Daniel Agar
91f5f26618
commander: main_state_transition call trivial style fixes
2020-12-30 00:26:14 +01:00
Daniel Agar and Mathieu Bresciani
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
adb98d5702
mavlink: move HIL_ACTUATOR_CONTROLS to separate streams header
2020-12-28 11:09:46 +01:00
Daniel Agar
3b20310e9c
mavlink: move POSITION_TARGET_GLOBAL_INT to separate streams header
2020-12-28 11:09:46 +01:00
Daniel Agar
672a1c90aa
mavlink: move POSITION_TARGET_LOCAL_NED to separate streams header
...
- position type_mask
2020-12-28 11:09:46 +01:00
Daniel Agar
6b1d02feb7
mavlink: move RC_CHANNELS to separate streams header
2020-12-28 11:09:46 +01:00
Daniel Agar
48be6962d1
mavlink: move MANUAL_CONTROL to separate streams header
2020-12-28 11:09:46 +01:00
Daniel Agar
629d03b684
mavlink: move TRAJECTORY_REPRESENTATION_WAYPOINTS to separate streams header
2020-12-28 11:09:46 +01:00
Daniel Agar
5762c3b356
mavlink: move NAV_CONTROLLER_OUTPUT to separate streams header
2020-12-28 11:09:46 +01:00
Daniel Agar
9f57df75e8
remove rotation 41 (ROLL_270_YAW_180)
...
- duplicate of 31 (ROLL_90_PITCH_180)
2020-12-28 11:07:08 +01:00
Daniel Agar
a66cb0cbaf
mavlink: check TX buffer before processing command ack
2020-12-28 11:05:42 +01:00
Daniel Agar
ceadcd74d0
mavlink: CAMERA_TRIGGER stream check free tx buf before send
2020-12-28 11:03:53 +01:00
Daniel Agar
ae706537b8
mavlink: CAMERA_IMAGE_CAPTURED stream check free tx buf before send
2020-12-28 11:03:53 +01:00
Daniel Agar
27b631e827
mavlink: ADSB_VEHICLE stream check free tx buf before send
2020-12-28 11:03:53 +01:00
Daniel Agar
0d72b47571
mavlink: COLLISION stream check free tx buf before send
2020-12-28 11:03:53 +01:00
Daniel Agar
dcb897307d
mavlink: HEARTBEAT stream check free tx buf before send
2020-12-28 11:03:53 +01:00
Daniel Agar
02a08c42b7
tests: perf don't bother printing all perf counters
2020-12-27 15:29:45 -05:00
Daniel Agar
12bf035642
uORB: tests limit latency to only orb_test_medium and remove some unnecessary output
2020-12-27 15:29:45 -05:00
Daniel Agar
409ea2ac02
mavlink: parameters manually mark active minimal QGC set on first send
2020-12-27 13:54:03 -05:00
Daniel Agar
092060cde2
posix: improve error out for mlockall() and pthread_create
...
- add strerror
- mlockall skipped in lockstep builds (ENABLE_LOCKSTEP_SCHEDULER)
2020-12-27 12:43:32 -05:00
Daniel Agar
48da0055a1
boards: add initial mRo Pixracer Pro (M10064C) support
2020-12-27 12:12:15 -05:00
Daniel Agar
92afe45f7f
vtol_att_control: improve readability of fill_actuator_outputs()
...
- vtol standard pass through landing gear for MC and flaps for FW
2020-12-24 09:29:17 -05:00
Daniel Agar
c05c213042
mavlink: ALTITUDE stream initialize local_pos
2020-12-18 08:32:04 +01:00
Daniel Agar
74083d6bd1
optical_flow/paw3902: minor improvements
...
- verify register writes
- cleanly reset on lighting mode changes as per the datasheet
- perf counters for mode switches and other errors
- cleanly reset on false motion detection
- minimize sleep on reset
- allowing setting custom rotation yaw angle directly on command line with -Y (ignoring SENS_FLOW_ROT)
- enable LED output
2020-12-16 20:04:46 -05:00
Daniel Agar
43b4cf39bd
sitl_gazebo build single threaded
...
- building sitl_gazebo in parallel within a parallel PX4 build isn't load balanced
2020-12-16 19:45:08 -05:00
Daniel Agar
4d30f327f9
Github Actions: skip Mavros tiltrotor mission for now ( #16405 )
2020-12-16 17:34:32 +01:00
Daniel Agar
a152fb65cb
parameters: remove unnecessary duplicated shutdown lock in param_save_default()
...
- param_export already takes the shutdown lock
2020-12-16 10:50:05 -05:00
Daniel Agar
c7db0942ba
sensors: vehicle_imu don't round measured accel and gyro sample rates
2020-12-16 10:12:27 -05:00
Daniel Agar
bf5ee99952
sensors: acceleration always get accel rate from vehicle_imu_status
...
- sensor rate is used for control data low pass and notch filters
2020-12-16 10:12:27 -05:00
Daniel Agar
7038cb8518
sensors: angular_velocity always get gyro rate from vehicle_imu_status
...
- sensor rate is used for control data low pass and notch filters
2020-12-16 10:12:27 -05:00
Daniel Agar
336176b2f0
Mavlink FLIGHT_INFORMATION fix arming time (ms -> us) and add takeoff time
...
- fixes https://github.com/PX4/PX4-Autopilot/issues/16393
2020-12-16 09:38:05 -05:00
Daniel Agar
8e14e13369
README.md update PX4/Firmware -> PX4/PX4-Autopilot
2020-12-15 20:27:03 -05:00
Daniel Agar
0433f4d33c
land_detector: decrease default LNDFW_AIRSPD_MAX 8 -> 6 m/s
2020-12-11 21:58:43 +01:00
Daniel Agar
ae2b1a265c
commander: POSCTL optical flow aiding continue updating GPOS validity
...
- updating the global position validity should happen regardless of
being in manual position control mode with only optical flow
- condition_global_position_valid needs to be accurate to adjudicate
main state changes (eg going into AUTO MISSION)
2020-12-11 15:33:50 -05:00
Daniel Agar
6bda8af97c
commander: merge duplicated position and velocity validity checks
2020-12-11 15:33:50 -05:00
Daniel Agar
5cd4a9c73f
commander: global position validity respect local position xy_valid
2020-12-11 15:33:50 -05:00
Daniel Agar and Matthias Grob
ef6209ba03
new manual_control_switches msg (split out of manual_control_setpoint) ( #16270 )
...
- split out switches from manual_control_setpoint into new message manual_control_switches
- manual_control_switches published at minimal rate (~ 1 Hz) or immediately on change
- simple switch debounce in rc_update (2 consecutive identical decodes required)
- manual_control_switches logged at full rate rather than sampled at (5-10% of messages logged)
- manual_control_setpoint publish at minimal rate unless changing
- commander handle landing gear switch for manual modes
- processing of mode_slot and mode_switch is now split so we only do one or the other (not both)
- a future step will be to finally drop mode_switch and accompanying switches entirely
Co-authored-by: Matthias Grob <maetugr@gmail.com >
2020-12-11 12:11:35 -05:00
Daniel Agar
25ef76b3b8
navigator: fix LOITER_TO_ALT
...
- this was overzealously removed in https://github.com/PX4/PX4-Autopilot/pull/15677
2020-12-11 16:28:08 +01:00
Daniel Agar
d44e537084
ekf2: update to new ecl to fix fault status getter
...
- estimator_status filter_fault_flags was broken because the union within ecl/EKF has exceeded 16 bits
2020-12-10 12:45:41 -05:00
Daniel Agar and PX4 BuildBot
cf010f44d0
Update submodule sitl_gazebo to latest Wed Dec 9 00:39:59 UTC 2020 ( #16354 )
...
- sitl_gazebo in PX4/Firmware (cd1ffa63cd ): https://github.com/PX4/PX4-SITL_gazebo/commit/e01ba8f78c185fab0b0ceb1e6407b5e1cc7c07d4
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/19981d61cfe656d2985fef5285b4a4d14f3be199
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/e01ba8f78c185fab0b0ceb1e6407b5e1cc7c07d4...19981d61cfe656d2985fef5285b4a4d14f3be199
19981d6 2020-12-08 Flavio Tonelli - Fix plugin misspelling (#665 )
Co-authored-by: PX4 BuildBot <bot@px4.io >
2020-12-09 08:43:45 +01:00
Daniel Agar
cd1ffa63cd
commander: auto transition to LOITER if disarmed with no RC only requires a valid global position
2020-12-08 18:26:03 -05:00
Daniel Agar
82746af07a
ekf2: use new IMU and mag bias and variance getters in ecl/EKF
...
- reset IMU bias on calibration change (only works with multi-ekf)
- standardize PX4_INFO/PX4_WARN/PX4_ERR output for multi-ekf with instance number
- https://github.com/PX4/PX4-ECL/pull/924
2020-12-08 16:06:18 -05:00
Daniel Agar
8f5f564c05
commander: preflightcheck only report failure once per sensor type
...
- either way the user action is to recalibrate, so we might as well try
to minimize the noise/annoyance
2020-12-08 13:18:22 -05:00
Daniel Agar
681590c510
ekf2: multi-ekf force initial selection (and sensor_selection publication)
...
- depending on the particular sensor configuration and startup timing we were getting an initial sensor_selection publication without valid accel & gyro device ids (only applies to Multi-EKF)
- fix faulty accel and gyro device ids
- initialize unused test ratio fields to NAN for logging clarity
2020-12-07 21:37:24 -05:00
Daniel Agar and PX4 BuildBot
5e6189ee5a
Update submodule mavlink v2.0 to latest Fri Dec 4 00:39:20 UTC 2020
...
- mavlink v2.0 in PX4/Firmware (dce7cfbddefe53fd0381582121883134a4df1b73): https://github.com/mavlink/c_library_v2/commit/1de17e039b27c541ccdb9ed214ea41aaaf180ae0
- mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/8f481688d70541e8f91ee8c4fc233ca70cd7fad9
- Changes: https://github.com/mavlink/c_library_v2/compare/1de17e039b27c541ccdb9ed214ea41aaaf180ae0...8f481688d70541e8f91ee8c4fc233ca70cd7fad9
Co-authored-by: PX4 BuildBot <bot@px4.io >
2020-12-03 23:49:28 -05:00
Daniel Agar
cc979d2249
Update submodule GPSDrivers to latest Fri Dec 4 00:39:25 UTC 2020
...
- devices in PX4/Firmware (1303a8f17c5174a02b1c3ed22acd88da499e5a53): https://github/commit/0bf63c9820f4af997d0a48743dcc1008d119e49c
- devices current upstream: https://github/commit/5afc11588b2b6ec0861ecf9ef673c7a9e2109129
- Changes: https://github/compare/0bf63c9820f4af997d0a48743dcc1008d119e49c...5afc11588b2b6ec0861ecf9ef673c7a9e2109129
5afc115 2020-11-30 Beat Küng - gps_helper: define M_PI_F if not defined (was missing for ubx)
2020-12-03 23:48:29 -05:00
Daniel Agar
01620420fa
ekf2: update to latest ecl with RingBuffer minor improvements
...
- includes https://github.com/PX4/PX4-ECL/pull/938
2020-12-03 21:17:22 -05:00
Daniel Agar
378c0b5093
parameters: find and get perf counters aren't threadsafe
2020-12-02 10:11:42 -05:00
Daniel Agar
e69aea0a9b
parameters: don't keep in memory if set to default
2020-12-02 10:11:42 -05:00
Daniel Agar
c305774fae
commander: move vehicle_status into class
2020-12-02 10:20:50 +01:00
Daniel Agar
b7de10fca3
commander: move vehicle_status_flags to class
2020-12-02 10:20:50 +01:00
Daniel Agar
dc435c4c90
commander: control_status_leds() use _armed directly
2020-12-02 10:20:50 +01:00
Daniel Agar
8ac2581d7b
commander: handle_command() use _armed directly
2020-12-02 10:20:50 +01:00
Daniel Agar
741a0b43e8
commander: move mavlink_log_pub into class
2020-12-02 10:20:50 +01:00
Daniel Agar
a03b91c01e
commander: move answer_command() to class
2020-12-02 10:20:50 +01:00
Daniel Agar
d5dc7e2873
commander: move actuator_armed state into class
2020-12-02 10:20:50 +01:00
Daniel Agar
85f3ab1960
rc_update: only decode if RC input is stable (channel count and source)
2020-12-01 09:40:24 -05:00
Daniel Agar
d654be761c
ms4525: remove old voltage corrections
...
- this isn't correct for all boards and we now have airspeed scale
factor estimation
2020-12-01 09:34:47 -05:00
Daniel Agar
ec9f8998a7
commander: limit mode switch re-evaluation logic on estimate validity changes
...
- re-evaluating mode switches on altitude or position validity change can create confusing when also relying on mode changes via mavlink
- limiting this logic to only apply when disarmed solves the original problem (respecting initial switch position) without introducing potential problems mid-flight
- fixes https://github.com/PX4/PX4-Autopilot/issues/16235
2020-11-25 21:14:55 -05:00
Daniel Agar
5e855c6747
commander: preflightcheck and calibration remove hash (#) from mavlink message
...
- QGroundControl is reading these as "Hash" and I don't think it's ambiguous if removed
2020-11-23 21:56:23 -05:00
Daniel Agar
71306f7f83
update all container tags to 2020-11-18
2020-11-19 13:37:57 -05:00
Daniel Agar
1425d87640
boards: px4_fmu-v5 sync all defconfigs
2020-11-19 11:21:47 -05:00