diff --git a/src/main/drivers/accgyro_adxl345.c b/src/main/drivers/accgyro_adxl345.c index 293b6de312..ce73e5f57c 100755 --- a/src/main/drivers/accgyro_adxl345.c +++ b/src/main/drivers/accgyro_adxl345.c @@ -65,10 +65,6 @@ bool adxl345Detect(drv_adxl345_config_t *init, acc_t *acc) bool ack = false; uint8_t sig = 0; - // Not supported with this frequency - if (hse_value == 12000000) - return false; - ack = i2cRead(ADXL345_ADDRESS, 0x00, 1, &sig); if (!ack || sig != 0xE5) return false; diff --git a/src/main/sensors/initialisation.c b/src/main/sensors/initialisation.c index 4e3f546111..a020058486 100755 --- a/src/main/sensors/initialisation.c +++ b/src/main/sensors/initialisation.c @@ -56,6 +56,10 @@ #include "sensors/compass.h" #include "sensors/sonar.h" +#ifdef NAZE +#include "hardware_revision.h" +#endif + extern float magneticDeclination; extern gyro_t gyro; @@ -191,12 +195,16 @@ retry: case ACC_ADXL345: // ADXL345 acc_params.useFifo = false; 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; -#ifdef NAZE - accAlign = CW270_DEG; -#endif } +#endif if (accHardwareToUse == ACC_ADXL345) break; ; // fallthrough