Hi, we have a recording of 9 axis data acquired using a BMI160 in corresponding units (rad/s for gyro, g for acceleration, T for magnetic field). We'd now like to fuse the existing data using BSXLite in a non-realtime manner (yes, it is very unusual use-case). To do that, we need to convert the 9 axis data back to raw integer format, but it is not clear how. We can configure the BSXLite for acccelerometer by: bsx_set_accrange(1); // BSX_ACCRANGE_4G and then convert accelerometer recoding acc_=acc/4.0*(2^15) For the gyro, this would be done analogously bsx_get_gyrorange(&init_status); // 500 Dps
gyro_=rad2deg(gyro)/500*2^15 but the linker reports "undefined reference to `bsx_get_gyrorange', 'bsx_set_gyrorange'" although these signatures exists in BsxFusionLibrary.h. For the magnetometer, the range doesn't seem to be configurable at all. It is not clear what the units are? I'm guessing mag_=mag/±2500μT*2^15 I presume that these parameters are determined by the "ConfigStrings", but we couldn't find their meaning in the library guide pdf. Could you provide some help on how to determine the sensing ranges for all modalities?
... View more