99 Commits

Author SHA1 Message Date
SalimTerryLi
25eca31e3a
New board Scumaker AirPi HAT for Raspberry Pi B series 2020-10-01 11:22:47 -04:00
SalimTerryLi
28a6e82698
Introduce new generic ADC driver for ADS1115 chip (#14437) 2020-09-14 11:03:40 -04:00
Daniel Agar
24125b3da4
magnetometer/qmc5883l: cleanup/rewrite driver (#14384) 2020-09-02 13:16:27 -04:00
Daniel Agar
fb149045e3
drivers/imu/invensense: new ICM42605 IMU driver 2020-08-25 13:07:59 -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
Daniel Agar
e34bdb4be9
move IMU integration out of drivers to sensors hub to handle accel/gyro sync
- IMU integration move from drivers (PX4Accelerometer/PX4Gyroscope) to sensors/vehicle_imu 
 - sensors: voted_sensors_update now consumes vehicle_imu
 - delete sensor_accel_integrated, sensor_gyro_integrated
 - merge sensor_accel_status/sensor_gyro_status into vehicle_imu_status
 - sensors status output minor improvements (ordering, whitespace, show selected sensor device id and instance)
2020-05-30 11:07:54 -04:00
Daniel Agar
951969ba00
drivers/imu/invensense: new ICM20948 driver on SPI with AK09916 mag 2020-05-22 00:09:30 -04:00
Beat Küng
7c4b5a03f6 drivers: add lis2mdl mag driver 2020-05-07 15:21:15 -04:00
Daniel Agar
c5eefc6b2e
new InvenSense ICM20649 IMU driver 2020-04-21 11:25:37 -04:00
Daniel Agar
9ae2f0ea96 bmi160: cleanup 2020-04-15 23:33:41 -04:00
Daniel Agar
06478d9997 delete obsolete SENSORIOCSPOLLRATE/SENSORIOCRESET and systemcmds/config 2020-04-15 23:33:41 -04:00
Daniel Agar
02f4ad61ec
I2C/SPI require device type in constructor 2020-04-01 12:24:22 -04:00
Daniel Agar
1cc8e4dc1a distance_sensor/vl53l0x: move to PX4Rangefinder and cleanup 2020-04-01 10:06:08 -04:00
Daniel Agar
f4e2cd36d4 add new invensense/mpu6500 driver for airmind mindpx 2020-03-25 01:05:38 -04:00
Daniel Agar
75370ebf42 invensense/mpu9250 add ak8963 support and other minor improvements
- mag enabled with -M when starting
 - always check FIFO count before transfer
 - interupt pin set active low and latch
 - relax retry timeout if configure failed
 - improve configured empty rate (sample rate) rounding
 - fix RegisterCheck
 - check FIFO count as part of full transfer and reset or adjust timing if necessary
 - rename DRV_MAG_DEVTYPE_MPU9250 -> DRV_MAG_DEVTYPE_AK8963
2020-03-25 01:05:38 -04:00
Daniel Agar
f5fe50f839 invensense/icm20608g driver minor improvements
- interupt pin set active low and latch
 - relax retry timeout if configure failed
 - improve configured empty rate (sample rate) rounding
 - fix RegisterCheck
 - check FIFO count as part of full transfer and reset or adjust timing if necessary
 - rename DRV_IMU_DEVTYPE_ICM20608 -> DRV_IMU_DEVTYPE_ICM20608G
2020-03-25 01:05:38 -04:00
Beat Küng
04cffce992 refactor aerofc_adc: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng
030ba24f53 refactor pca9685: 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
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
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
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
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
0924ff7fcf refactor vl53lxx: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
83b367f000 refactor teraranger: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
bbe15aa61a refactor srf02: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
a6ddf0e4b9 refactor sf1xx: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
f743585160 refactor mb12xx: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
7e3f40d1c2 refactor mappydot: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
1b1e1ba31f refactor ll40ls: use driver base class 2020-03-17 23:31:17 -04:00
Daniel Agar
422e89b1c0 iSentek IST8308 magnetometer driver 2020-03-15 12:27:01 -04:00
Beat Küng
b54e5a1c23 param: automatically update calibration ID params on import
This avoids the need for recalibration, and also cleans up other driver
ID's (merge separate accel/gyro).

The SPI address was previously set to a board-specific (arbitrary) value,
and is now set to 0. This will allow extending for multiple sensors of the
same type on the same bus.
2020-03-10 10:11:43 -04:00
Beat Küng
1851665fab boards: add new spi+i2c config
Chip-select and SPI initialization uses the new config, whereas the drivers
still use the existing defines.

The configuration in board_config.h can be removed after all drivers are
updated.
2020-03-10 10:11:43 -04:00
Daniel Agar
298d6d8703 ST LSM9DS1 9DOF IMU driver
- this is a replacement for df_lsm9ds1_wrapper on the Emlid Navio2 once DriverFramework is removed
2020-01-07 21:58:31 -05:00
Daniel Agar
aaf5670e7d
deprecate df_bmp280_wrapper and replace with in tree bmp280
- deprecate DriverFramework bmp280 driver (df_bmp280_wrapper)
 - update beaglebone blue and snapdragon flight eagle boards to use in tree bmp280
 - update posix (really just linux) and qurt I2C wrappers
 - tested on beaglebone blue
2020-01-05 13:33:12 -05:00
Daniel Agar
1a395fb6d9 ST ISM330DLC IMU driver 2019-12-03 16:16:49 -05:00
Daniel Agar
9b66cbd2d9 Infineon DPS310 Barometer
- used as the primary barometer on the mRo Control Zero F7
2019-12-02 00:51:01 -05:00
Beat Küng
3198610f85 src/platforms: move all headers to platforms/common/include/px4_platform_common
and remove the px4_ prefix, except for px4_config.h.

command to update includes:
for k in app.h atomic.h cli.h console_buffer.h defines.h getopt.h i2c.h init.h log.h micro_hal.h module.h module_params.h param.h param_macros.h posix.h sem.h sem.hpp shmem.h shutdown.h tasks.h time.h workqueue.h; do for i in $(grep -rl 'include <px4_'$k src platforms boards); do sed -i 's/#include <px4_'$k'/#include <px4_platform_common\/'$k/ $i; done; done
for in $(grep -rl 'include <px4_config.h' src platforms boards); do sed -i 's/#include <px4_config.h/#include <px4_platform_common\/px4_config.h'/ $i; done

Transitional headers for submodules are added (px4_{defines,log,time}.h)
2019-10-30 11:48:47 +01:00
modaltb
1e1549a169 Add support for Bosch BMP388 barometer 2019-10-15 23:33:49 -04:00