Revision 510d0f10
Adafruit_BNO055.cpp | ||
---|---|---|
687 | 687 |
bool Adafruit_BNO055::isFullyCalibrated() { |
688 | 688 |
uint8_t system, gyro, accel, mag; |
689 | 689 |
getCalibration(&system, &gyro, &accel, &mag); |
690 |
if (system < 3 || gyro < 3 || accel < 3 || mag < 3) |
|
691 |
return false; |
|
692 |
return true; |
|
690 |
|
|
691 |
switch (_mode) { |
|
692 |
case OPERATION_MODE_ACCONLY: |
|
693 |
return (accel == 3); |
|
694 |
case OPERATION_MODE_MAGONLY: |
|
695 |
return (mag == 3); |
|
696 |
case OPERATION_MODE_GYRONLY: |
|
697 |
case OPERATION_MODE_M4G: /* No magnetometer calibration required. */ |
|
698 |
return (gyro == 3); |
|
699 |
case OPERATION_MODE_ACCMAG: |
|
700 |
case OPERATION_MODE_COMPASS: |
|
701 |
return (accel == 3 && mag == 3); |
|
702 |
case OPERATION_MODE_ACCGYRO: |
|
703 |
case OPERATION_MODE_IMUPLUS: |
|
704 |
return (accel == 3 && gyro == 3); |
|
705 |
case OPERATION_MODE_MAGGYRO: |
|
706 |
return (mag == 3 && gyro == 3); |
|
707 |
default: |
|
708 |
return (system == 3 && gyro == 3 && accel == 3 && mag == 3); |
|
709 |
} |
|
693 | 710 |
} |
694 | 711 |
|
695 | 712 |
/*! |
Also available in: Unified diff