Commit Graph

5357 Commits

Author SHA1 Message Date
Beat Küng 1df0fe03d7 refactor mpu6000: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 571451942d refactor mpu9250: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 609eafd4cd refactor l3gd20: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 6cf4de9e02 refactor lsm303d: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 3423809cd9 refactor ism330dlc: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 2d6a9ae1fb lsm9ds1: cleanup + consistency with other drivers 2020-03-24 09:46:20 -04:00
Beat Küng 00280d55c2 refactor rm3100: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 2fa289bbad lsm9ds1_mag: cleanup + consistency with other drivers 2020-03-24 09:46:20 -04:00
Beat Küng 74db018012 refactor lsm303agr: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 4d511868e6 refactor lis3mdl: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 785f18ebf8 refactor bmi160: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 54da4997ad refactor bmi088: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng aad6fe6f03 refactor bma180: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 17761acd49 refactor adis16497: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 1f152d7d43 refactor adis16477: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng d15fa82841 refactor adis16448: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 7626be0485 refactor mpu9250: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 2f3174abb0 refactor icm20602: use driver base class 2020-03-24 09:46:20 -04:00
Daniel Agar 8738c26426 boards: enable NuttX SPI DMA buffers
- update to NuttX with stm32f4 and stm32f7 SPI DMA internal buffers
 - remove explicit DMA buffer allocations from new IMU drivers
 - restore original BOARD_DMA_ALLOC_POOL_SIZE
 - decrease SPI DMA thresholds based on fmu-v2/v3/v4/v5 bench testing
2020-03-22 19:24:26 -04:00
Daniel Agar b73ec18abb boards: add px4_fmu-v4 and px4_fmu-v5 optimized (-O3) build variants 2020-03-22 17:50:17 -04:00
JacobCrabill 1e5784609f UAVCAN Sensors: Improve error handling
Also add new 'generic' device types for UAVCAN sensors

Other misc. cleanup and style changes.
2020-03-21 12:39:29 -04:00
Jacob Crabill 693a47fca3 Update src/drivers/uavcan/sensors/baro.cpp
Use absolute-zero constant instead of 273.15f

Co-Authored-By: Daniel Agar <daniel@agar.ca>
2020-03-21 12:39:29 -04:00
JacobCrabill 4c8cfa140a UAVCAN: Overhaul SensorBridge drivers
Supposedly multiple sensor callbacks were supported; in reality, this
was not the case, as the mag SensorBridge in particular can only
calibrate one compass, leading to a race condition on which compass
appears first on the bus to get published and calibrated (with no
warning to the user that the 'wrong' compass is being used).

For sensors with existing generic driver classes (baro and mag) the
sensor bridges use these classes for the driver registration, and uORB
publication, and calibration interface (ioctl) handling.
2020-03-21 12:39:29 -04:00
JacobCrabill 79dc313260 uavcan: Add device IDs to baro, flow publishers
Can now see proper UAVCAN bus and unique device ID for barometer
instances; optical flow will also have the UAVCAN node ID assigned as
sensor ID.
2020-03-21 12:39:29 -04:00
JacobCrabill 71e4a36ba4 UAVCAN: GNSS sensor bridge: Support multiple pubs
UavcanGnssBridge did not support more than 1 GNSS callback/publisher.
This has now been fixed; it works the same as the baro, mag, and flow
sensor bridges.  The EKF2 still doesn't support more than 2 GPS
publishers, however.
2020-03-21 12:39:29 -04:00
Beat Küng 336745f9f7 tfmini: reduce sampling rate from 10kHz to 143Hz
10kHz sampling seems excessive, given that the sensor is expected to output
at 100Hz.

Also don't reschedule immediately in case we have not received any data.
2020-03-21 12:00:09 -04:00
Jacob Dahl b566de2c36 uavcannode: GPS add timestamp, covariance, and corrected integer overflow on lat/lon 2020-03-21 11:43:56 -04:00
Daniel Agar 1be959cba8 InvenSense ICM-40609-D IMU driver
This is another new InvenSense sensor with max output data rate of 32 kHz (both accel & gyro), on board anti-aliasing filter, and accel range 32G. Overall quite similar to the ICM-42688-P added in #14420, but with doubled accel range and without the optional high resolution output or clock sync.
2020-03-20 13:02:13 -04:00
Daniel Agar 46e5364580 InvenSense ICM-42688-P IMU driver
This is a new InvenSense sensor with max output data rate of 32 kHz (both accel & gyro), on board anti-aliasing filter, optional higher resolution output (18 bit accel, 19 bit gyro), and clock sync.
2020-03-20 13:01:02 -04:00
SalimTerryLi dc8e775d8f ADC: replace ioctl with uorb message (#14087) 2020-03-20 11:23:32 +01:00
Daniel Agar 6c513cf29d Update submodule GPS devices to latest Fri Mar 20 00:38:17 UTC 2020 (#14432)
- GPS devices in PX4/Firmware (daf8a9fb12097b09fa1291b16cfe88f10a53b193): https://github.com/PX4/GpsDrivers/commit/c25a8f22c43e22b7c23106470b08fb17678042ef
    - GPS devices current upstream: https://github.com/PX4/GpsDrivers/commit/0cd890ac60dbf6e535ccd966f98b85a33eddcc72
    - Changes: https://github.com/PX4/GpsDrivers/compare/c25a8f22c43e22b7c23106470b08fb17678042ef...0cd890ac60dbf6e535ccd966f98b85a33eddcc72

    0cd890a 2020-03-19 Daniel Agar - ubx: fix whitespace

Co-authored-by: PX4 BuildBot <bot@px4.io>
2020-03-19 21:20:38 -04:00
bazooka joe 7b37f329f0 batt_smbus fixes
fixed wrong calculation of max_cell_voltage
adding missed max_cell_voltage_delta
some code beautify
2020-03-19 09:34:02 +01:00
PX4 BuildBot 640c245c44 Update submodule devices to latest Wed Mar 18 12:38:39 UTC 2020
- devices in PX4/Firmware (5ba8a9f62ff93843185979b3881eb7125ffc42cc): https://github.com/PX4/GpsDrivers/commit/781d4f125580d88d24add83b97017e6d771d757f
    - devices current upstream: https://github.com/PX4/GpsDrivers/commit/c25a8f22c43e22b7c23106470b08fb17678042ef
    - Changes: https://github.com/PX4/GpsDrivers/compare/781d4f125580d88d24add83b97017e6d771d757f...c25a8f22c43e22b7c23106470b08fb17678042ef

    c25a8f2 2020-03-16 Nicolas Martin - ubx: fix baud rate search
2020-03-18 12:05:16 -04:00
Beat Küng d6bb5b3b9e i2c spi buses: enforce drivers to set default SPI/I2C bus frequency
Not a lot of drivers use the global default, which is somewhat arbitrary.
2020-03-17 23:31:17 -04:00
Beat Küng 8ebde51648 refactor hmc5883: use driver base class
Removes the calibration on startup, as these values were overwritten by
the system calibration values anyway.
So the only difference is that if all calibration scales were equal to 1,
the driver startup would have failed.
2020-03-17 23:31:17 -04:00
Beat Küng 8f3ba81c4a refactor atxxxx: use driver base class
and increase update rate to 20Hz
2020-03-17 23:31:17 -04:00
Beat Küng 20db735d77 refactor ak09916: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng 47b329cc54 refactor bmm150: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng e4bf535595 refactor bst telemetry: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng fb6ce09dc4 refactor pcf8583: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng bb4ff04caf refactor irlock: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng 1710cd9648 refactor px4flow: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng b6119c71df refactor paw3902: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng 82f92b56db batt_smbus: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng ec2de33547 lights: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng 692d262e0e refactor voxlpm: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng 832ccd262e refactor ina226: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng d6b9cfa3e2 pga460: fix documentation 2020-03-17 23:31:17 -04:00
Beat Küng 68ef14002a differential_pressure drivers: allow multiple instances of each driver
- the device path needs to be removed, as startup fails if it already
  exists
- sdp3x broadcasts a reset on startup, so do it only for the first I2C
  address
2020-03-17 23:31:17 -04:00
Beat Küng 3b7b2dc871 differential_pressure sensors: use driver base class 2020-03-17 23:31:17 -04:00