We are using BHI260AP + BMM150 in our product. We would like to get the 9dof quaternion from the sensor.
The datasheet 13.3.3 said the BSX library can use the soft iron calibration matrix to improve the estimation accuracy. We have successfully read the 3x3 SIC matrix in 72 bytes from bhi260. Could you please provide more information about the SIC matrix ? For example, how is the SIC matrix value coded? LSB or MSB first? and what is scale? max and min of the value?
Solved! Go to Solution.
The FW, driver and SDK are aviable on the product page of BHI260AP and also on bosch's official github.
These informations regarding to SIC matrix are also presented iin the datasheet of BHI260AB. We use both bhi260ab and bhi260ap in our products, could please provide information about this?
You could see it in data sheet, the SIC matrix use a BSX internal binary data format and are not inteded to be interpreted by the host. Driver code supported get and set operation.
int8_t bhy2_get_sic_matrix(uint8_t *sic_matrix, uint16_t matrix_len, uint32_t *actual_len, struct bhy2_dev *dev);
int8_t bhy2_set_sic_matrix(const uint8_t *sic_matrix, uint16_t matrix_len, struct bhy2_dev *dev);
Thanks for the replay,
We have read this note and found those functions in the driver. But could you confirm that the bhi260AP/AB firmware takes care of both HARD iron and SOFT iron calibration? We did not find this information in the datasheet. Another sensor like BNO055 from Bosch takes care only of hard iron calibration and we must load a soft iron matrix into the sensor. This is why we think the SIC matrix should be sent to BHI260AP/AB.
Moreover, we have found these CSV files in bhi260ap/ab sdk, which contain the sic matrix for different boards and phones. The value in the fies "bsx4configSerialization_SENSORHUB_SIC_BMM150_SHUTTLE_BHI260.csv" is exactly what we read from the sensor using "bhy2_get_sic_matrix()". So we think the sic matrix should be generated by ourself for each device, then loaded into the BHI260.
Please give us more information regarding the soft/hard iron calibration of magnetometer.
Thanks for your help