void MPU9150::getAccelScaled(float *ax, float *ay, float *az) {
	int16_t a1, a2, a3;
	getAcceleration(&a1, &a2, &a3);
	uint8_t rangeMode = getFullScaleAccelRange();
	int fullScaleRange;
	switch (rangeMode) {
	case (0) :
		fullScaleRange = ACCEL_FCR_2;
		break;
	case (1) :
		fullScaleRange = ACCEL_FCR_4;
		break;
	case (2) :
		fullScaleRange = ACCEL_FCR_8;
		break;
	case (3) :
		fullScaleRange = ACCEL_FCR_16;
		break;
	default:
		fullScaleRange = ACCEL_FCR_2;
		break;
	}
	*ax = normalize(a1, fullScaleRange);
	*ay = normalize(a2, fullScaleRange);
	*az = normalize(a3, fullScaleRange);
}
Esempio n. 2
0
int CurieIMUClass::getAccelerometerRange()
{
    int range;

    switch (getFullScaleAccelRange()) {
        case BMI160_ACCEL_RANGE_2G:
            range = 2;
            break;

        case BMI160_ACCEL_RANGE_4G:
            range = 4;
            break;

        case BMI160_ACCEL_RANGE_8G:
            range = 8;
            break;

        case BMI160_ACCEL_RANGE_16G:
        default:
            range = 16;
            break;
    }

    return range;
}
Esempio n. 3
0
int CurieIMUClass::getAccelerometerRange()
{
    return getFullScaleAccelRange();
}