Commit Graph

5534 Commits

Author SHA1 Message Date
Daniel Agar 877c19704a rm3100: cleanup device interface on destruction 2020-08-14 09:25:47 +02:00
Daniel Agar f1e5b1d284 qmc5883: cleanup device interface on destruction 2020-08-14 09:25:47 +02:00
Daniel Agar 8252fea95b lis3mdl: cleanup device interface on destruction 2020-08-14 09:25:47 +02:00
Daniel Agar 03efea9d73 lis2mdl: cleanup device interface on destruction 2020-08-14 09:25:47 +02:00
Daniel Agar f8241f144c hmc5883: cleanup device interface on destruction 2020-08-14 09:25:47 +02:00
Daniel Agar 0bb5f2c2af uavcan: libuavcan submodule remove redundant libuavcan_drivers 2020-08-12 15:34:10 -04:00
Claudio Micheli 75ab105605 cm8jl65: avoid flooding console with errors if errno is EAGAIN
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2020-08-11 08:14:47 +02:00
Daniel Agar 97fc1db768 vehicle_local_position: rename yaw -> heading and add reset logic
- vehicle_global_position yaw removed (redundant)
2020-08-10 11:42:03 +02:00
Daniel Agar 454433c2ef mpu9250: mag relax scheduling and checks 2020-08-09 14:24:49 -04:00
Beat Küng bc9be2d040 frsky_telemetry: add support for inverted single-wire S.Port on F7 2020-08-06 00:08:23 -04:00
JacobCrabill b164174037 uavcan: stm32h7: Fix improper loopback handling
Fixes #15305
2020-08-05 12:42:27 -04:00
Beat Küng e28395a58b TRIG_MODE: update description to support 78 2020-08-05 09:02:58 +02:00
Beat Küng 316085c154 camera_capture: remove board-specific ifdef 2020-08-04 13:37:40 +02:00
Beat Küng 46208edfac fix camera_trigger: no need to check for '_pins[i] < num_gpios'
_pins[i] >= num_gpios is a valid config.
2020-08-04 13:37:40 +02:00
Beat Küng 002e671d3f fix pwm_out,dshot: set _num_outputs to 5 for mode_pwm5 2020-08-04 13:37:40 +02:00
Beat Küng 78e918ff3a fix pwm_out: respect _num_outputs for calling up_pwm_servo_set()
_num_outputs is set according to the mode_pwmX call, which is required
for camera triggering.
This fixes camera triggering via PWM, as it avoids overwriting the channel.
2020-08-04 13:37:40 +02:00
Daniel Agar 63a23957b1 rc/dsm: decode improvements
- always check system field for validity
 - reject any data outside of "servo position" valid range from Spektrum specification
 - properly support XPlus channels (12+)
 - debug message if channel count changes
2020-08-02 12:52:16 -04:00
Daniel Agar 9b12647ac4 px4io: delete broken test and unnecessary limit
- delete broken px4io test and if_test
 - delete px4io limit (a fixed 400 Hz limit was always set at boot)
2020-07-30 10:29:07 -04:00
Koby Aizer 60d767406a PAW3902: document that the driver is also compatible with PAW3903 module 2020-07-30 10:05:49 -04:00
Daniel Agar f7415c3354 optical_flow/paw3902: silence info output (info -> debug) 2020-07-29 11:58:54 -04:00
pengl-aee09 18eccb0cbd PAW3902: align mode change logic with the spec
1. The spec specifies that the mode change condition should be met for 10
   consecutive frames before changing to the next mode.
2. The spec (and comment) says that "PAW3902JF should not operate with Shutter < 0x01F4 in Mode 2" -
   however the if condition checked the reverse condition

Signed-off-by: Koby Aizer <koby.aizer@tg-17.com>
2020-07-28 21:29:43 -04:00
bazooka joe 8a3a71caed simplify the code to calculate signal_quality 2020-07-28 23:45:38 +01:00
bazooka joe 4d1c7b734c don't set quality to 0 for lidar lite v3hp, because the strength data is valid even for short distance 2020-07-28 23:45:38 +01:00
Daniel Agar aa7735c1c0 pwm_out: limit actuator control callbacks to primary groups
- add backup schedule at minimum PWM rate
 - fixes #15043
2020-07-23 09:45:04 -04:00
Daniel Agar 81f57bccb6 px4io: servorail_status -> px4io_status and log all flags 2020-07-21 09:56:13 -04:00
Matthias Grob 987826f1d4 mixer_module/tap_esc: fix usage of constrain() on input
I changed the input constraint in #15349 but screwed up the usage
because I was convinced it's püass by reference. I'll double check
for sure next time.
2020-07-20 09:23:42 +02:00
Daniel Agar 94a5a97dcc drivers/safety_button: only publish safety at 1 Hz or immeidately on change 2020-07-17 17:27:15 -04:00
Daniel Agar c6aafed9d0 px4io: only publish safety at 1 Hz or immeidately on change 2020-07-17 17:27:15 -04:00
Daniel Agar e2ad1bbc91 bmi055: accel periodically read temperature 2020-07-09 18:03:29 -04:00
Daniel Agar fa8ba09f50 drivers/imu/bosch/bmi055: remove interrupt latch
- the latch would actually cause more problems if the backup schedule hit
 - this reduces the number of cycles where the FIFO is actually empty at max rate (when there's only 1 sample in the FIFO expected)
2020-07-09 10:15:33 -04:00
Daniel Agar 194029d010 drivers/imu: Invensense & Bosch remove transfer perf counters
- we already have nearly equivalent data in every sensor publication with the (publication) timestamp and timestamp_sample
2020-07-09 10:12:37 -04:00
Beat Küng 405cb5038d sdp3x: introduce State enum
to avoid blocking the work queue during configuring.
2020-07-08 11:43:21 -04:00
Beat Küng fc1be6e0b1 sdp3x: add '-k' option to keep retrying even if probing fails
we have a setup where the sensor is connected via magnets, so the system
could boot without sensor initially attached.
2020-07-08 11:43:21 -04:00
Beat Küng 3cc394e6c7 sdp3x: improve robustness, try to reconfigure on transfer error 2020-07-08 11:43:21 -04:00
Beat Küng 795b9e938e drivers: add ST LPS33HW baro driver
Note: only tested on I2C
2020-07-06 10:13:11 -04:00
Beat Küng 5378d1468f lockstep_scheduler: add generic lockstep component API
allows components to register and ensure the lockstep cycle waits for
all components to be updated.
2020-06-23 11:53:55 -04:00
Beat Küng bb36b4a63f {dshot,pwm_out}: allow mode_pwm4 for boards with 5 outputs
Required on durandal if camera triggering is enabled.
2020-06-23 09:32:13 -04:00
Daniel Agar c6dd8bfcd6 imu/invensense/icm20649: minor cleanup to keep in sync with icm20948 2020-06-22 10:11:22 -04:00
Daniel Agar 4bcee8e13f magnetometers/akm: new standalone AKM AK8963 & AK09916 drivers 2020-06-22 10:11:22 -04:00
Daniel Agar 8c34f47b3d imu/invensense/mpu9250: sync with other recent invensense improvements
- clenaup ak8963 with simplifed setup and health check
2020-06-22 10:11:22 -04:00
Daniel Agar 22daa26955 msgs/sensor_mag: remove unused raw, add timestamp_asmple, shrink error count
- move mpu9250 sensitivity handling back to driver (this isn't common)
2020-06-22 10:11:22 -04:00
Daniel Agar d9102ce54c imu/invensense/icm20948: sync with other recent invensense improvements
- clenaup ak09916 with simplifed setup and health check
2020-06-22 10:11:22 -04:00
Daniel Agar 3f19335f08 drivers/imu/invensense: FIFO_MAX_SAMPLES include sensor_accel_fifo in sample size limit 2020-06-18 20:49:15 -04:00
Daniel Agar 56c86e77bd replace FIFOSample -> sensor_accel_fifo/sensor_gyro_fifo 2020-06-18 20:49:15 -04:00
JacobCrabill 78650bdbab UAVCAN: Fix STM32H7 message RAM for FDCAN2 2020-06-18 18:55:21 -04:00
JacobCrabill 62799d9aca UAVCAN: Add STM32H7 FDCAN Driver
Took the existing uavcan_stm32 driver and replaced all bxCAN code with
the equivalent for FDCAN following ST Reference Manual RM0433.

Note: There is still a bug somewhere in regards to FDCAN2 (probably
incorrect setup of the message RAM? Not sure.)  But (FD)CAN1 is fully
functional (Classic CAN only, no CAN-FD).

Also TODO: Configure CAN filters.  Right now there are no filters; all
incoming messages are accepted.
2020-06-18 18:55:21 -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 6c78c62d9d BMI088: accel get max rate from PX4Accelerometer 2020-06-15 10:19:14 -04:00
Daniel Agar e819f99064 new Bosch BMI055 IMU driver using FIFOs and DRDY
- accel & gyro FIFOs enabled
 - FIFO watermark on data ready interrupt
 - sensor side filtering completely disabled
 - gyro now respects `IMU_GYRO_RATEMAX` (up to 2 kHz)
 - saves a few % cpu (at default rate)
2020-06-15 10:19:14 -04:00
Daniel Agar daf75e40eb drivers/imu/invensense: simplify gyro range configuration 2020-06-15 09:36:21 -04:00