06-20-2023 10:53 PM
Hi, All
After initialisation, I got the result as:
The oldest data was removed. Continue...
*** Accel(Raw and m/s2) Gyro(Raw and dps) data : 35 *******
ms2_X = 0.00, ms2_Y = -0.15, ms2_Z = 2.30
DPS_X = 16.54, DPS_Y = 15.56, DPS_Z = 521.67
******* Accel(Raw and m/s2) Gyro(Raw and dps) data : 36 *******
ms2_X = 0.00, ms2_Y = -0.15, ms2_Z = 2.30
DPS_X = 16.54, DPS_Y = 15.56, DPS_Z = 521.67
******* Accel(Raw and m/s2) Gyro(Raw and dps) data : 37 *******
ms2_X = 0.00, ms2_Y = -0.15, ms2_Z = 2.30
DPS_X = 16.54, DPS_Y = 15.56, DPS_Z = 521.67
******* Accel(Raw and m/s2) Gyro(Raw and dps) data : 1 *******
ms2_X = -0.00, ms2_Y = -0.00, ms2_Z = -0.00
DPS_X = -0.06, DPS_Y = -0.06, DPS_Z = -0.06
******* Accel(Raw and m/s2) Gyro(Raw and dps) data : 2 *******
ms2_X = -0.00, ms2_Y = -0.00, ms2_Z = -0.00
DPS_X = 15.56, DPS_Y = -15.20, DPS_Z = -0.06
******* Accel(Raw and m/s2) Gyro(Raw and dps) data : 3 *******
ms2_X = -0.00, ms2_Y = -0.00, ms2_Z = -0.00
DPS_X = 15.56, DPS_Y = -15.20, DPS_Z = -0.06
******* Accel(Raw and m/s2) Gyro(Raw and dps) data : 4 *******
I have following questions:
1. Is this the correct value or random value?
2. It seems that if my board doesn't move, the result keeps unchanged, and stop output. However, if I move my board, the data outputs, but sometimes no output, is that correct.
3. I use the module of:
bmi_accel_gyro(void)
and it check the interrupt status as:
while (indx <= limit)
{
/* To get the data ready interrupt status of accel and gyro. */
rslt = bmi2_get_int_status(&int_status, &bmi2_dev);
bmi2_error_codes_print_result(rslt);
/* To check the data ready interrupt status and print the status for 10 samples. */
if ((int_status & BMI2_ACC_DRDY_INT_MASK) && (int_status & BMI2_GYR_DRDY_INT_MASK))
{
/* Get accel and gyro data for x, y and z axis. */
rslt = bmi2_get_sensor_data(&sensor_data, &bmi2_dev);
bmi2_error_codes_print_result(rslt);
ssprintf("\n******* Accel(Raw and m/s2) Gyro(Raw and dps) data : %d *******\n", indx);
ssprintf("\n******* Accel(Raw and m/s2) Gyro(Raw and dps) data : %d *******\n", indx);
I am quite confused by the output results. Thanks in advance.
06-25-2023 03:48 AM
Hi victorheca01,
1. For your test result, ss the sensor moving or stationary?
2, 3. Use the data ready interrupt, and the data will be output according to the ODR settings. For example, at 100 Hz ODR, output data once every 10ms, refer to the data ready interrupt example https://github.com/boschsensortec/BMI270-Sensor-API/blob/master/bmi270_examples/accel_gyro/accel_gyr...