123 Commits

Author SHA1 Message Date
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
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
Daniel Agar
b73ec18abb
boards: add px4_fmu-v4 and px4_fmu-v5 optimized (-O3) build variants 2020-03-22 17:50:17 -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
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
be0a205438 refactor ist8310: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
3e71914fae refactor lsm9ds1+lsm9ds1_mag: 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