getGyro and getAccel functions are applying incorrect scaling in sfe_lsm6dsv16x.cpp.
Lines 248-260 need to be updated to call the proper "convert..." functions. Currently the case LSM6DSV16X_4g: is calling the convert16gToMg function instead of the convert4gToMg function. This is true for 8g and 16g as well.
For example,
Line 248 in sfe_lsm6dsv16x.cpp needs to be updated from:
accelData->xData = convert16gToMg(tempVal[0]);
to:
accelData->xData = convert4gToMg(tempVal[0]);
Lines 295-322 in sfe_lsm6dsv16x.cpp needs to be updated to call the proper "convert..." functions
For example,
Line 295 needs to be updated from:
gyroData->xData = convert250dpsToMdps(tempVal[0]);
to:
gyroData->xData = convert125dpsToMdps(tempVal[0]);