Commit Graph
215 Commits
Author SHA1 Message Date
Florian Achermann d4ee5a52c9 Adjust lower bound for CAL_AIR_TUBED_MM to 1.5 mm
Below 1.5 mm the tube pressure drow compensation will result in unrealistic compensation factors causing the measured airspeed to be too high.
In addition sensirion recommends a diameter of 1.8 mm or larger for the tubes.
2021-07-09 16:10:21 +02:00
Lorenz Meier 2be482c5ae Sensors: New parameter for baro priority
This allows to give external barometers priority if they are present.
2021-02-14 11:17:28 +01: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 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 00e955cc3e rotations: sync rotation enum, SENS_BOARD_ROT, CAL_MAGx_ROT with MAV_SENSOR_ORIENTATION 2020-09-22 11:10:31 -04:00
Daniel Agar a04412fc1f sensors: add SENS_IMU_MODE to optionally skip IMU voting/selection 2020-09-15 10:15:39 -04:00
Hamish Willee 979243f38f params: make parameter units more consistent (#15502) 2020-08-24 11:33:08 +02:00
Daniel Agar 6f6efd60b7 boards: centralize optional external I2C sensor start
- configured with new parameter SENS_EXT_I2C_PRB
2020-06-10 09:04:13 -04:00
Daniel Agar 0eca583ecf sensors: move baro aggregation to new sensors/vehicle_air_data 2020-03-12 19:06:34 -04:00
Daniel Agar 2410b31662 sensors: move accel filtering to sensors/vehicle_acceleration
I've added a queue depth of 4 for sensor_accel and sensor_gyro. This is initially added because it's not always possible for the `vehicle_acceleration` to keep up with every publication of the primary accelerator as it runs in the same thread as ekf2, various controllers, etc. 

Later this mechanism will be used in a few areas
 - rate limit `vehicle_angular_velocity` and `vehicle_acceleration` without missing any raw data
 - move IMU integration to `vehicle_imu` and out of the actual driver threads, eliminating the need for sensor_accel_integrated and sensor_gyro_integrated
 - integrate raw gyro synchronized with optical flow measurements
2020-01-29 16:13:38 -05:00
Daniel Agar 24f0c2d72a sensors: move gyro filtering to sensors/vehicle_angular_velocity
- gyro filtering (low-pass and notch) only performed on primary gyro in `sensors/vehicle_angular_velocity` instead of every gyro in `PX4Gyroscope`
 - sample rate is calculated from actual updates (the fixed value was slightly wrong in many cases, and very wrong in a few)
 - In the FIFO case the array is now averaged and published in `sensor_gyro` for filtering downstream. I'll update this in the future to use the full FIFO array (if available), but right now it should be fine.
2020-01-27 10:05:33 -05:00
Daniel Agar 697dbfb9f8 sensors/vehicle_imu: incremental step towards multi-EKF 2020-01-22 18:04:29 -05:00
Mathieu Bresciani 5adf23a6a8 Add gyroscope notch filter - IMU_GYRO_NF_(FREQ|BW)
* NotchFilter: add NotchFilter template and test for float type
* NotchFilterTest: add test for Vector3f notch filter
* PX4Gyroscope: add notch filter with IMU_GYRO_NF_(FREQ|BW) parameters to
set the notch center frequency and bandwidth
2020-01-06 16:53:36 -05:00
Mohammed Kabir 00d00fdca9 drivers: heater: fix module build and startup
- Startup was broken due to unnecessary cyclic check probably introduced during transition to work_queues
- Module never used other than on Teal One which had a hacky heater input GPIO, this enables usage on general boards

drivers: heater: reduce verbosity and simplify commandline options

- We prefer the linux way of only reporting errors and staying quiet when everything is functioning as designed
- Most of the commandline options just read out the values of the system parameters, and one can just check the parameter values directly.

sensor_params: make thermal control parameters system parameters

heater_params: make thermal control parameters system parameters

drivers: heater: remove pin control hacks

- px4_arch_configgpio(GPIO_HEATER_OUTPUT) directly inits the heater pin to OFF, and as a PUSHPULL (TTL totem pole) OUTPUT

drivers: heater: set default device ID to 0
2019-11-16 11:43:42 +01:00
Julien Lecoeur 7bea81f02c Add board orientation ROLL_90_YAW_270 2019-09-05 20:41:32 -07:00
Daniel Agar 9bc19fd732 IMU_GYRO_RATEMAX add common options 2019-09-02 23:53:26 -05:00
Daniel Agar 4d9f2bf776 add IMU_GYRO_RATEMAX to optionally limit gyro control publication rate 2019-09-02 20:06:50 -04:00
Daniel Agar 06cf801121 SENS_BARO_QNH set reboot_required
- fixes https://github.com/PX4/Firmware/issues/12866
2019-09-02 13:40:34 -04:00
bresch 6d8d8e3c88 MC gyro cutoffs - Reduce IMU_GYRO_CUTOFF to 30Hz and disable MC_DTERM_CUTOFF.
A low gyro cutoff is needed for most medium/large size drones as the structural natural and blade-pass frequencies are low.
A higher value is still desirable for small platforms surch as racers
or well isolated autopilots and should be tuned by the user.
Specific values for config files are untouched.
The cutoff filter for the D term is disabled here as the required
cutoff frequency for the default D term of the rate controller is higher
than the gyro cutoff. In that case, enabling the D term cutoff would
just add some undesired phase lag to the derivative.
2019-05-07 12:15:51 +02:00
Daniel Agar c415477caf calibration parameter category consistency 2018-08-03 16:48:49 +02:00
Mohammed Kabir b3c5e53333 Unify optical flow height limiting 2018-06-09 13:38:04 +02:00
Beat Küng 2bcc5cf3e5 imu filter defaults: set IMU_GYRO_CUTOFF to 80 and MC_DTERM_CUTOFF to 30
tested on at least 5 different vehicles, including AeroFC. The values
should be conservative, good setups (with low vibrations) can increase
these values even further.

increasing IMU_GYRO_CUTOFF allows for better tuning gains (increased P).
2018-03-13 20:54:49 +01:00
Andreas Antener 198708ba2e rotation: updated board rotation meta data 2018-02-28 10:08:58 +01:00
Beat Küng 54d1395206 IMU_GYRO_CUTOFF, IMU_ACCEL_CUTOFF: reduce minimum to 0, allowing to disable filtering 2018-02-19 17:02:31 +01:00
Daniel Agar 5b80adeadb move SENS_EN_MB12XX to mb12xx driver 2018-02-10 20:37:47 -05:00
Daniel Agar dbb3621bdb move SENS_EN_TFMINI to tfmini driver 2018-02-10 20:37:47 -05:00
Daniel Agar 3e2c9d1113 move SENS_EN_LEDDAR1 to leddar_one driver 2018-02-10 20:37:47 -05:00
Daniel Agar 23be7d4f96 move SENS_EN_SF1XX to sf1xx driver 2018-02-10 20:37:47 -05:00
Daniel Agar fb29ea0079 move SENS_EN_TRANGER to teraranger driver 2018-02-10 20:37:47 -05:00
Daniel Agar 8a67b5b447 move SENS_EN_SF0X to sf0x driver 2018-02-10 20:37:47 -05:00
Daniel Agar f6a37d8c74 move SENS_EN_LL40LS to ll40ls driver 2018-02-10 20:37:47 -05:00
José Roberto de Souza d0baf95df3 drivers: Add LeddarOne lidar driver
More information: https://leddartech.com/modules/leddarone/
2018-02-08 11:26:26 +01:00
Paul Riseborough 1e9361572f sensors: Add parameter for flow sensor minimum range 2018-01-29 22:30:34 +01:00
Ayush 9f2bb6c7f9 Added support for TFmini-LiDAR 2018-01-01 17:38:41 +01:00
Daniel Agar ed7f333fe8 sensors delete disabled ATT_VIBE_THRESH (#8372) 2017-11-26 17:25:45 -05:00
Florian Achermann a5cc4bcd08 Update SDP3x Airspeed Correction (#8242)
Update the model for the standard configuration based on the model from Sensirion and add also an option to do the tube pressure loss correction from Sensirion for other configurations.
2017-11-22 22:03:26 -05:00
Daniel Agar e1e3c9fca9 sensors split accel/gyro/mag calibration parameters 2017-10-29 16:24:31 +01:00
Daniel Agar 8b7de092a2 sensors delete unused CAL_BOARD_ID 2017-10-29 16:24:31 +01:00
James Goppert e72769c924 Imu filter (#7606)
* Add adjustable driver level cutoff freq for accel/gyro.

* Fix copy and paste error.

* Updated print_info.

* imu filter minor cleanup
2017-09-25 13:55:56 -04:00
Lorenz Meier 0780e430fd Sensors params: Adjust tube length to better default 2017-09-19 09:01:11 -07:00
Lorenz Meier 1880abdac5 Airspeed: Base sensor model on device ID from sensor 2017-09-19 09:01:11 -07:00
Lorenz Meier b59aefc989 Airspeed measurement: Add accurate models for dynamic pressure
This allows to get very accurate readings from the SDP3x sensor series from Sensirion using a complete sensor model.
2017-09-19 09:01:11 -07:00
Mateusz Sadowski e439070f25 drivers: refactor trone driver to work with Evo
This commit changes old trone driver into a generic
TeraRanger driver that supports both TeraRanger One
and TeraRanger Evo.

As a part of the change a new parameter was created
SENS_EN_TRANGER that allows to specify the following
modes of operation:

0 - sensors disabled
1 - autodetect sensors
2 - use TeraRanger One rangefinder
3 - use TeraRanger Evo rangefinder

Signed-off-by: Mateusz Sadowski <msadowski90@gmail.com>
2017-09-15 12:07:16 +01:00
Mateusz Sadowski d5f8a300df Revert "drivers: add support for TeraRanger Evo"
This reverts commit d1da112334a875d83abbd04c50fd3bed3b069886.
2017-09-15 12:07:16 +01:00
Mateusz Sadowski ee72931190 drivers: add support for TeraRanger Evo
This commit adds i2c support for TeraRanger Evo sensor
by Terabee

Signed-off-by: Mateusz Sadowski <msadowski90@gmail.com>
2017-09-15 12:07:16 +01:00
tops4u 2b700975f2 Added basic support for Lightware SF20/LW20 I2C connected LIDAR Devices 2017-09-09 17:36:59 +01:00
Daniel Agar 928fdf34a6 sensors move THR_MDL_FAC and MOT_SLEW_MAX to px4fmu 2017-08-09 22:28:05 +02:00
Daniel Agar 95631439f1 sensors move PWM params to pwm_params.c 2017-08-09 22:28:05 +02:00
Daniel Agar 110d2968d8 sensors move RC params to rc_params.c 2017-08-09 22:28:05 +02:00
sanderux 220bd82b93 Per channel PWM disarmed values 2017-08-09 22:28:05 +02:00