Daniel Agar and Matthias Grob
0618f048f2
commander: use control mode flags and cleanup arm_disarm
...
- keep `vehicle_control_mode` last state in commander and use appropriate flags in place of various main_state and nav_state checks
- consolidate scattered arming requirements in `arm_disarm()`
- there were a number of different requirements from arming via RC vs Mavlink that don't make any sense
- if geofence enabled require valid home before arming
- throttle requirements for manual modes
- remove unnecessary mavlink feedback that differs between arming interfaces (mavlink vs RC)
- let the preflight/prearm checks respond directly in most cases
Co-authored-by: Matthias Grob <maetugr@gmail.com >
2021-02-15 12:03:21 -05:00
Daniel Agar
40a452dcd2
ekf2: selector improve timeout handling and reporting
...
- relax estimator_status timeout unless attitude hasn't published recently
2021-02-14 21:08:56 -05:00
Daniel Agar
fb2a199621
delete unmaintaned mkblctrl driver
2021-02-14 10:38:15 +01:00
Daniel Agar
ce552a3364
navigator: RTL don't get invalid params
2021-02-13 00:34:56 +01:00
Daniel Agar
1981519aad
L1 position controller: use double precision floating point for all lat/lon
2021-02-12 21:59:56 +01:00
Daniel Agar
f61d8539cb
fw_pos_control_l1: add takeoff minimum pitch parameter
...
- remove mavlink mechanism for setting minimum pitch
2021-02-12 13:57:15 -05:00
Daniel Agar
15e76ad993
PWM12 mode for pwm_out and dshot
2021-02-12 09:19:18 -05:00
Daniel Agar
0614789db3
tests: add simple parameter custom default testing
2021-02-12 08:27:47 -05:00
Daniel Agar
e6bc6438e8
ROMFS: airframes use new param default mechanism
2021-02-12 08:27:47 -05:00
Daniel Agar
b67aa77d29
ROMFS: use new param default mechanism
2021-02-12 08:27:47 -05:00
Daniel Agar
a257120e8d
boards: use new param default mechanism
2021-02-12 08:27:47 -05:00
Daniel Agar
ce64951578
parameter_update.msg: add basic status info
2021-02-12 08:27:47 -05:00
Daniel Agar
b8b13bb882
parameters runtime defaults
2021-02-12 08:27:47 -05:00
Daniel Agar
da1a38b44e
parameters: merge generated files ito single static constexpr header
...
- store parameter type and if volatile separately (saves kilobytes of flash)
- use Bitset for tracking active and changed parameters
- use atomic for autosave_enabled flag
- compile at ${MAX_CUSTOM_OPT_LEVEL} (-O2 on non flash constrained boards)
2021-02-12 08:27:47 -05:00
Daniel Agar
c3172a91d9
ekf2: try reselecting distance_sensor on timeout
2021-02-12 08:25:27 -05:00
Daniel Agar
5db906314a
uavcan: stm32h7 driver silence debug output
2021-02-11 23:08:17 -05:00
Daniel Agar
dcb35e9a8c
Update submodule mavlink v2.0 to latest Fri Feb 12 00:38:48 UTC 2021
2021-02-11 23:06:40 -05:00
Daniel Agar
8a0bf15b9e
boards: CUAV X7Pro fix BMI088 orientation
2021-02-11 23:05:48 -05:00
Daniel Agar
7f76666fe9
Jenkins: hardware avoid unnecessary checkout
2021-02-11 23:04:26 -05:00
Daniel Agar
c63107bb57
uORB: tests increase priorities to minimize failures with stackcheck/debug enabled
...
- also relax the maximum mean by 50%
2021-02-11 22:58:57 -05:00
Daniel Agar
cb7aabf932
fw_pos_control_l1: cleanup body velocity and acceleration usage
...
- minimize storing unnecessary state (msg copies)
2021-02-12 00:41:39 +01:00
Daniel Agar
5b44bd67bb
ist8310: fix 16 times average configuration
2021-02-11 13:18:13 -05:00
Daniel Agar
7e18cffc5f
Update submodule mavlink v2.0 to latest Thu Feb 11 12:41:13 UTC 2021
2021-02-11 12:51:22 -05:00
Daniel Agar
a76e429b1a
calibration parameters volatile (offsets and scale factors)
...
- anything set vehicle side should be volatile and excluded from the
param hash
2021-02-10 09:01:47 +01:00
Daniel Agar
9f00fd2796
move PWM params to lib
2021-02-09 08:57:00 +01:00
Daniel Agar
8f0918a16b
boards: remove unused linker __param section
2021-02-08 23:22:48 -05:00
Daniel Agar
58ca575871
UAVCAN v1 bridge
...
- NuttX stm32f4/stm32f7 uses character device driver
- NuttX kinetis and s32k uses socketcan
2021-02-07 17:18:45 +01:00
Daniel Agar
1848ac3bc7
mavlink: receiver accept ODOMETRY MAV_ESTIMATOR_TYPE_UNKNOWN for legacy support
2021-02-07 09:51:05 -05:00
Daniel Agar
f461481548
Revert "mavlink: ODOMETRY handler accept all other estimator_types for now"
...
This reverts commit b216714d56 .
2021-02-07 09:51:05 -05:00
Daniel Agar
b216714d56
mavlink: ODOMETRY handler accept all other estimator_types for now
2021-02-06 22:32:20 +01:00
Daniel Agar
d67a84d941
boards: holybro can-gps-v1 fix bosch bmm150 path
2021-02-06 15:56:11 -05:00
Daniel Agar
41b0f83c0c
drivers/magnetometer: Bosch BMM150 rewrite
...
- same pattern as other new drivers (state machine, checked register mechanism, no sleeps, etc)
- self test has been rolled into regular startup sequence
- still I2C only, but will be expanded in the future
- configure to high accuracy preset
2021-02-06 12:50:23 -05:00
Daniel Agar
61e935105f
Update submodule mavlink v2.0 to latest Sat Feb 6 00:38:29 UTC 2021
2021-02-05 20:20:50 -05:00
Daniel Agar
9d90529e7f
Jenkins hardware print vehicle_status and vehicle_status_flags
2021-02-05 20:11:13 +01:00
Daniel Agar
6633ff5089
commander: vehicle_status_flags add attitude and angular velocity
2021-02-05 20:11:13 +01:00
Daniel Agar
3f1ca4dfc9
Update submodule mavlink v2.0 to latest Wed Feb 3 18:41:38 UTC 2021
2021-02-03 18:41:02 -05:00
Daniel Agar
a2442ffb48
board: enable UAVCAN sensors by default on F7/H7
2021-02-02 09:01:12 +01:00
Daniel Agar
a9a8a95c44
drivers/distance_sensor: add drivers_rangefinder linking dependency
...
- fixes https://github.com/PX4/PX4-Autopilot/issues/16715
2021-02-01 09:25:23 -05:00
Daniel Agar
78dff6adcb
boards: add CONSTRAINED_MEMORY build option
...
- currently the main change is that it reduces the max number of ORB multi instances to 4, but usage will be expanded as needed
- limits number of EKF2 multi instances to 2.
- enabled on all cortex m4 boards
2021-02-01 08:56:22 +01:00
Daniel Agar
d1a3590aac
PWM: transition PWM_{MIN,MAX,DISARMED,RATE} -> PWM_MAIN
2021-02-01 08:53:33 +01:00
Daniel Agar
8b8adbf48e
Jenkins hardware reduce IMU_GYRO_RATEMAX on some boards
2021-01-31 21:26:26 -05:00
Daniel Agar
3b71e8e62d
boards: cubepilot fix BAT2_V_DIV param default typo
2021-01-31 21:16:42 -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
5097d531bf
mavlink: send LINK_NODE_STATUS
2021-01-31 15:02:30 +01:00
Daniel Agar
4cbbd0ebf3
mavlink: receiver estimate total lost messages
2021-01-31 15:02:30 +01:00
Daniel Agar
bb7dd0cf00
modules/sih: move to px4 work queue (wq:rate_ctrl)
...
- respect IMU_GYRO_RATEMAX for configured interval
- optionally compile at higher optimization level per board (${MAX_CUSTOM_OPT_LEVEL})
2021-01-31 12:56:45 +01:00
Daniel Agar
470f24037e
systemcmds/param: use PX4_INFO_RAW directly (delete qurt special case)
2021-01-31 11:43:47 +01:00
Daniel Agar
9e112dd48b
platforms: px4 log build string then print (fputs)
2021-01-31 11:43:47 +01:00
Daniel Agar
0c58d12216
mavlink: receiver estimate total lost messages
2021-01-31 11:41:56 +01:00
Daniel Agar
b30bd7f589
drivers: no longer any need to advertise immediately (baro, mag, rangefinder)
2021-01-31 11:35:46 +01:00
Daniel Agar
6a4835bbcc
sensors: vehicle_magnetometer combine extra _vehicle_magnetometer_pub
2021-01-30 21:50:01 -05:00
Daniel Agar
ce76c84ce2
sensors: vehicle_magnetometer respect publication rate limit SENS_MAG_RATE
2021-01-30 21:50:01 -05:00
Daniel Agar
318c7e83b3
support up to PWM 14
...
- generate PWM_MAIN 1-14
- generate PWM_AUX 1-8
- generate PWM_EXTRA 1-8
- px4io and pwm_out directly read configuration parameters
- only available and active physical outputs are actually shown for configuration
- overall saves flash despite adding many new parameters
2021-01-30 15:55:53 +01:00
Daniel Agar
e7f2195a9b
ekf2: error if unable to copy every sensor publication
2021-01-29 22:12:29 -05:00
Daniel Agar
f0d1f1d679
boards: disable BDMA on STM32H7 for now
2021-01-28 21:16:23 +01:00
Daniel Agar
cf43d07f70
uavcannode: refactor into separate publishers and subscribers
2021-01-27 20:57:23 -05:00
Daniel Agar
c033681c56
uavcannode: add parameter default value
2021-01-27 13:11:41 -05:00
Daniel Agar
1b9d68abd5
parameters: add new param_get_default_value()
2021-01-27 13:11:41 -05:00
Daniel Agar
53a14e847d
drivers/rc_input: support RC_RSSI_PWM_CHAN
2021-01-26 18:19:52 -05:00
Daniel Agar
3b26b7adaf
sensors: magnetometer preserve original mag cal offset for status message
2021-01-26 16:04:10 -05:00
Daniel Agar
15cbe8c09a
px4_work_queue: wq:nav_and_controllers increase stack 1730 -> 1760 bytes
2021-01-26 16:03:37 -05:00
Daniel Agar
b422da45ec
boot_app_shared automatically generate UAVCAN bootable image
2021-01-26 10:21:29 -08:00
Daniel Agar
347c185967
UAVCAN bootloader merge duplicate boot_app_shared
2021-01-26 10:21:29 -08:00
Daniel Agar and Kenneth Thompson
e656c9c13f
drivers/uavcannode: Add a simple parameter server (simpler version for merging) ( #16649 )
...
* drivers/uavcannode: Add a simple parameter server
Added a simple parameter server using the libuavcan ParamServer class.
The parameter server exposes a selection of PX4 parameters via UAVCAN.
Also, Increased the stack size of the uavcan work queue in order to
prevent a stack overflow.
* uavcannode: fetch all active PX4 parameters
Co-authored-by: Kenneth Thompson <ken@flyvoly.com >
2021-01-26 10:19:20 -08:00
Daniel Agar
d1dfa26903
consume all available queued vehicle_commands
2021-01-26 12:00:18 -05:00
Daniel Agar
d5c7e243a9
vehicle_command: increase queue depth 4 -> 8
...
- prevent slower modules from missing commands
2021-01-26 12:00:18 -05:00
Daniel Agar
350ebf5a1f
boards: CUAV CAN GPS flash based parameters
2021-01-26 08:06:54 -08:00
Daniel Agar
39ef2fd0b7
delete unused struct pwm_output_rc_config
2021-01-25 10:55:57 -05:00
Daniel Agar
75f02d64b6
delete unused PWM_SERVO_SET_SBUS_RATE
2021-01-25 10:55:57 -05:00
Daniel Agar
2b0a047f0c
delete unused DSM_BIND_POWER_UP
2021-01-25 10:55:57 -05:00
Daniel Agar
439c573242
delete unused PWM_SERVO_SET_TRIM_PWM
2021-01-25 10:55:57 -05:00
Daniel Agar
2ff69a4456
delete unused PWM_SERVO_SET_COUNT
2021-01-25 10:55:57 -05:00
Daniel Agar
18bac6aff5
ROMFS: posix rcS set EXTRA_MIXER_MODE
2021-01-21 11:26:23 -05:00
Daniel Agar
e0b33ba842
mavlink: temporarily disable ACTUATOR_OUTPUT_STATUS stream by default
...
- the presence of this stream appears to be causing the MAVSDK tests to fail and needs to be investigated
2021-01-21 11:25:42 -05:00
Daniel Agar
9a066959d4
delete empty src/lib/DriverFramework
2021-01-20 14:15:49 -05:00
Daniel Agar
ac8f4e3c48
mc_pos_control: only update constraints if topic updated
...
- update failsafe constraints
2021-01-19 14:44:42 +01:00
Daniel Agar
77b21680fb
sync ctrlalloc boards and add to CI
2021-01-18 11:25:37 -05:00
Daniel Agar
311a2bd3e8
update ctrlalloc airframe location
2021-01-18 11:25:37 -05:00
Daniel Agar
3e5e5ab1d5
control_allocator and angular_velocity_controller throttle parameter_update subscription
2021-01-18 11:25:37 -05:00
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