133 Commits

Author SHA1 Message Date
David Sidrane 84dd8839a2 i2c_spi_buses:Track NuttX change to getopts avoid name collision
NuttX #defined optarg and getopt to move to TLS. This fixes the
  name collision.
2021-06-16 17:07:47 +02:00
David Sidrane 2feb096fb9 vtrantech Rename to match V1.1 vcm5883->vcm1193l 2021-05-26 11:24:11 -04:00
Daniel Agar e498023d0f ist8308: improve configuration
- disable noise suppression filter
 - select more appropriate dynamic range
 - carefully set and clear all ODR, DR, and OSRCNTL bits
 - retry in probe multiple times
2021-05-18 13:20:21 -04:00
David Sidrane 4acc18ca60 Add VCM5883 Magnetometer
Fix LSB/G
2021-05-18 12:57:46 -04:00
Daniel Agar a9b47558b1 magnetometer/lsm9ds1_mag: fix register typo and refactor to new style with state machine and configuration monitoring 2021-03-26 14:23:25 -04:00
Daniel Agar 5b44bd67bb ist8310: fix 16 times average configuration 2021-02-11 13:18:13 -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 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
garfieldG 3fb8f5df62 drivers/lsm303agr: fixed bug incorrectly assembling signed 16 bit integer from bytes 2021-01-05 21:37:08 -05:00
Silvan Fuhrer 4ed3ecea41 lis2mdl: reduce update rate from 50Hz to 20Hz to reduce spikes
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-10-15 09:55:40 +02:00
SalimTerryLi af84f449c7 isentek/ist8310: support starting with custom i2c address 2020-09-06 09:06:05 -04:00
Daniel Agar bf41574b1d isentek/ist8308: set sensor_mag error count and fix bitwise AND 2020-09-03 07:50:43 +02:00
Daniel Agar 24125b3da4 magnetometer/qmc5883l: cleanup/rewrite driver (#14384) 2020-09-02 13:16:27 -04:00
Daniel Agar 7569722821 iSentek IST8310 magnetometer rewrite
- simple state machine to reset, configure, etc
 - checked register mechanism (sensor will reset itself on configuration error)
 - configured in 16 bit mode (1320 LSB/Gauss instead of 330 LSB/Gauss)
 - adjusted orientation handling in driver to match datasheet as closely as possible
     - in many external compass units the rotation was wrong and very difficult to actual determine how to set correctly
2020-09-02 13:14:45 -04:00
Daniel Agar 60a7f7f9f2 isentek/ist8308: small style and consistency cleanup 2020-08-25 13:46:04 -04:00
Daniel Agar 27f23ac290 move initial sensor priority to parameters and purge ORB_PRIORITY
- CAL_ACCx_EN -> CAL_ACCx_PRIO
 - CAL_GYROx_EN -> CAL_GYROx_PRIO
 - CAL_MAGx_EN -> CAL_MAGx_PRIO
2020-08-21 10:12:13 -04:00
Daniel Agar 971b1e4b4d sensors: move mag aggregation to new VehicleMagnetometer WorkItem
- purge all reminaing magnetometer IOCTL usage
 - mag calibration add off diagonal (soft iron) scale factors
2020-08-21 10:12:13 -04:00
Daniel Agar 0ff4fad95c rm3100: remove read error message 2020-08-17 09:36:05 -04:00
Daniel Agar 38db7c8b00 lis3mdl: remove read error message 2020-08-17 09:36:05 -04:00
Daniel Agar 84895724cd lis2mdl: remove read error message 2020-08-17 09:36:05 -04:00
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 4bcee8e13f magnetometers/akm: new standalone AKM AK8963 & AK09916 drivers 2020-06-22 10:11:22 -04:00
Daniel Agar 8d48e49ef9 cmake build lis2mdl with all magnetometers 2020-05-07 15:21:15 -04:00
Beat Küng 7c4b5a03f6 drivers: add lis2mdl mag driver 2020-05-07 15:21:15 -04:00
Beat Küng 8d722ac74b bmm150: add self-test 2020-05-06 09:37:56 -04:00
Beat Küng 71b942392d bmm150: cleanup, slightly increase data accuracy
- increased REP_XY and REP_Z: improves accuracy a bit, while increasing
  measurement time (still allows to go to 50Hz, previous max was 100Hz)
- avoid extra transfer in measure()
- extend regdump output
- general code style cleanup
2020-05-06 09:37:56 -04:00
Beat Küng 1175c08829 bmm150: more explicit data conversion & reduce to 30Hz
- 30Hz is the sensors max update rate in continous mode
  (though not in forced mode as we are using it)
- 30Hz allows to increase the quality of the measurements
2020-05-06 09:37:56 -04:00
rfu adb032d2e5 drivers: up_udelay -> px4_usleep 2020-05-04 09:49:23 +02:00
rfu 90c3819df5 fxos8701cq + fxas21002c: add support for I2C 2020-05-04 09:49:23 +02:00
mcsauder 6548fde024 Whitespace cleanup to quiet new blank line at EOF git hook. 2020-04-15 23:00:39 -04:00
Daniel Agar 02f4ad61ec I2C/SPI require device type in constructor 2020-04-01 12:24:22 -04:00
Daniel Agar cfc087c6ad rm3100: move to PX4Magnetometer and cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar a59aa865da qmc5883: move to PX4Magnetometer and cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar ade52d612b lsm9ds1_mag: minor cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar c9c08d00c3 lsm303agr: move to PX4Magnetometer and cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar 5f6f1c554b lis3mdl: move to PX4Magnetometer and cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar cf12969a29 ist8310: move to PX4Magnetometer and cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar 1c333cb664 isentek/ist8308: minor cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar 7e173048bb ak09916: minor cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar 613168b598 hmc5883: move to PX4Magnetometer and cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar 9899748d12 bmm150: move to PX4Magnetometer and cleanup 2020-04-01 10:07:08 -04:00
Beat Küng 82c7908a2d fix ist8310: pass I2C address to I2CSPIDriver
since it is configurable.
2020-03-30 15:55:24 -04:00
Daniel Agar 532ccd18ad refactor qmc5883: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng ee49e500e7 refactor ist8308: use driver base class 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