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
This commit is contained in:
Daniel Agar
2020-09-02 13:14:45 -04:00
committed by GitHub
parent 6ff361479c
commit 7569722821
21 changed files with 706 additions and 674 deletions

View File

@@ -16,3 +16,6 @@ ms5611 -s -b 4 start
# SPI6 (internal)
icm20649 -s -b 6 -R 2 start
ms5611 -s -b 6 start
# External compass on GPS1/I2C1: standard CUAV GPS/compass puck (with lights, safety button, and buzzer)
ist8310 -X -b 1 -R 10 start

View File

@@ -17,3 +17,6 @@ ms5611 -s -b 4 start
# SPI6 (internal)
icm20649 -s -b 6 -R 2 start
ms5611 -s -b 6 start
# External compass on GPS1/I2C1: standard CUAV GPS/compass puck (with lights, safety button, and buzzer)
ist8310 -X -b 1 -R 10 start

View File

@@ -12,7 +12,10 @@ bmi088 -A -R 2 -s start
bmi088 -G -R 2 -s start
# internal compass
ist8310 -I start
ist8310 -I -R 10 start
# Baro on internal SPI
ms5611 -s start
# External compass on GPS1/I2C1: standard Holybro GPS/compass puck (with lights, safety button, and buzzer)
ist8310 -X -b 1 -R 10 start

View File

@@ -39,7 +39,7 @@ px4_add_board(
#lights/rgbled
lights/rgbled_ncp5623c
#magnetometer # all available magnetometer drivers
magnetometer/ist8310
magnetometer/isentek/ist8310
#mkblctrl
#optical_flow # all available optical flow drivers
#osd

View File

@@ -16,7 +16,10 @@ bmi055 -A -R 2 -s start
bmi055 -G -R 2 -s start
# internal compass
ist8310 -I start
ist8310 -I -R 10 start
# Baro on internal SPI
ms5611 -s start
# External compass on GPS1/I2C1 (the 3rd external bus): standard Holybro GPS/compass puck (with lights, safety button, and buzzer)
ist8310 -X -b 3 -R 10 start

View File

@@ -21,7 +21,7 @@ px4_add_board(
#irlock
#magnetometer # all available magnetometer drivers
magnetometer/hmc5883
magnetometer/ist8310
magnetometer/isentek/ist8310
#optical_flow/px4flow
#protocol_splitter
pwm_out_sim

View File

@@ -12,7 +12,7 @@ fi
mpu9250 -s -R 0 start
ist8310 -I -R 4 start
ist8310 -I -R 14 start
ll40ls start -X

View File

@@ -21,7 +21,7 @@ px4_add_board(
#irlock
#magnetometer # all available magnetometer drivers
magnetometer/hmc5883
magnetometer/ist8310
magnetometer/isentek/ist8310
#optical_flow/px4flow
protocol_splitter
pwm_out_sim

View File

@@ -28,7 +28,7 @@ bmi055 -A -R 2 -s start
bmi055 -G -R 2 -s start
# internal compass
ist8310 -I start
ist8310 -I -R 10 start
# Baro on internal SPI
ms5611 -s start

View File

@@ -15,8 +15,11 @@ icm20689 -s -R 2 start
bmi055 -A -R 2 -s start
bmi055 -G -R 2 -s start
# internal compass
ist8310 -I start
# Baro on internal SPI
ms5611 -s start
# internal compass
ist8310 -I -R 10 start
# External compass on GPS1/I2C1 (the 3rd external bus): standard Holybro Pixhawk 4 or CUAV V5 GPS/compass puck (with lights, safety button, and buzzer)
ist8310 -X -b 3 -R 10 start

View File

@@ -40,7 +40,7 @@ px4_add_board(
lights/rgbled_ncp5623c
#lights/rgbled_pwm
#magnetometer # all available magnetometer drivers
magnetometer/ist8310
magnetometer/isentek/ist8310
optical_flow # all available optical flow drivers
#pwm_input
pwm_out_sim

View File

@@ -29,7 +29,7 @@ px4_add_board(
lights/rgbled_ncp5623c
magnetometer/bmm150
magnetometer/lis3mdl
magnetometer/ist8310
magnetometer/isentek/ist8310
optical_flow # all available optical flow drivers
pca9685
pwm_input