diff --git a/src/main/drivers/accgyro_mma845x.c b/src/main/drivers/accgyro_mma845x.c index 9161a690c2..d5d06119db 100644 --- a/src/main/drivers/accgyro_mma845x.c +++ b/src/main/drivers/accgyro_mma845x.c @@ -84,10 +84,6 @@ bool mma8452Detect(acc_t *acc) bool ack = false; uint8_t sig = 0; - // Not supported with this frequency - if (hse_value == 12000000) - return false; - ack = i2cRead(MMA8452_ADDRESS, MMA8452_WHO_AM_I, 1, &sig); if (!ack || (sig != MMA8452_DEVICE_SIGNATURE && sig != MMA8451_DEVICE_SIGNATURE)) return false; diff --git a/src/main/sensors/initialisation.c b/src/main/sensors/initialisation.c index 87c009ce97..4c79e06f9b 100755 --- a/src/main/sensors/initialisation.c +++ b/src/main/sensors/initialisation.c @@ -219,16 +219,15 @@ retry: acc_params.dataRate = 800; // unused currently #ifdef NAZE if (hardwareRevision < NAZE32_REV5 && adxl345Detect(&acc_params, &acc)) { - accHardware = ACC_ADXL345; accAlign = CW270_DEG; - } #else if (adxl345Detect(&acc_params, &acc)) { - accHardware = ACC_ADXL345; - } #endif - if (accHardwareToUse == ACC_ADXL345) - break; + accHardware = ACC_ADXL345; + accHardware = ACC_ADXL345; + if (accHardwareToUse == ACC_ADXL345) + break; + } ; // fallthrough #endif #ifdef USE_ACC_MPU6050 @@ -245,11 +244,14 @@ retry: #endif #ifdef USE_ACC_MMA8452 case ACC_MMA8452: // MMA8452 - if (mma8452Detect(&acc)) { - accHardware = ACC_MMA8452; #ifdef NAZE + // Not supported with this frequency + if (hardwareRevision < NAZE32_REV5 && mma8452Detect(&acc)) { accAlign = CW90_DEG; +#else + if (mma8452Detect(&acc)) { #endif + accHardware = ACC_MMA8452; if (accHardwareToUse == ACC_MMA8452) break; }