1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-25 17:25:20 +03:00

Enabled switch fallthrough checking by compiler

This commit is contained in:
Martin Budden 2017-11-24 07:08:44 +00:00
parent 9dda8c4f18
commit 671382234a
20 changed files with 100 additions and 58 deletions

View file

@ -26,6 +26,7 @@
#include "common/axis.h"
#include "common/filter.h"
#include "common/utils.h"
#include "config/config_reset.h"
#include "config/feature.h"
@ -136,9 +137,10 @@ retry:
switch (accHardwareToUse) {
case ACC_DEFAULT:
; // fallthrough
case ACC_ADXL345: // ADXL345
FALLTHROUGH;
#ifdef USE_ACC_ADXL345
case ACC_ADXL345: // ADXL345
acc_params.useFifo = false;
acc_params.dataRate = 800; // unused currently
if (adxl345Detect(&acc_params, dev)) {
@ -148,10 +150,11 @@ retry:
accHardware = ACC_ADXL345;
break;
}
FALLTHROUGH;
#endif
; // fallthrough
case ACC_LSM303DLHC:
#ifdef USE_ACC_LSM303DLHC
case ACC_LSM303DLHC:
if (lsm303dlhcAccDetect(dev)) {
#ifdef ACC_LSM303DLHC_ALIGN
dev->accAlign = ACC_LSM303DLHC_ALIGN;
@ -159,10 +162,11 @@ retry:
accHardware = ACC_LSM303DLHC;
break;
}
FALLTHROUGH;
#endif
; // fallthrough
case ACC_MPU6050: // MPU6050
#ifdef USE_ACC_MPU6050
case ACC_MPU6050: // MPU6050
if (mpu6050AccDetect(dev)) {
#ifdef ACC_MPU6050_ALIGN
dev->accAlign = ACC_MPU6050_ALIGN;
@ -170,10 +174,11 @@ retry:
accHardware = ACC_MPU6050;
break;
}
FALLTHROUGH;
#endif
; // fallthrough
case ACC_MMA8452: // MMA8452
#ifdef USE_ACC_MMA8452
case ACC_MMA8452: // MMA8452
if (mma8452Detect(dev)) {
#ifdef ACC_MMA8452_ALIGN
dev->accAlign = ACC_MMA8452_ALIGN;
@ -181,10 +186,11 @@ retry:
accHardware = ACC_MMA8452;
break;
}
FALLTHROUGH;
#endif
; // fallthrough
case ACC_BMA280: // BMA280
#ifdef USE_ACC_BMA280
case ACC_BMA280: // BMA280
if (bma280Detect(dev)) {
#ifdef ACC_BMA280_ALIGN
dev->accAlign = ACC_BMA280_ALIGN;
@ -192,10 +198,11 @@ retry:
accHardware = ACC_BMA280;
break;
}
FALLTHROUGH;
#endif
; // fallthrough
case ACC_MPU6000:
#ifdef USE_ACC_SPI_MPU6000
case ACC_MPU6000:
if (mpu6000SpiAccDetect(dev)) {
#ifdef ACC_MPU6000_ALIGN
dev->accAlign = ACC_MPU6000_ALIGN;
@ -203,10 +210,11 @@ retry:
accHardware = ACC_MPU6000;
break;
}
FALLTHROUGH;
#endif
; // fallthrough
case ACC_MPU9250:
#ifdef USE_ACC_SPI_MPU9250
case ACC_MPU9250:
if (mpu9250SpiAccDetect(dev)) {
#ifdef ACC_MPU9250_ALIGN
dev->accAlign = ACC_MPU9250_ALIGN;
@ -214,8 +222,9 @@ retry:
accHardware = ACC_MPU9250;
break;
}
FALLTHROUGH;
#endif
; // fallthrough
case ACC_MPU6500:
case ACC_ICM20601:
case ACC_ICM20602:
@ -249,9 +258,10 @@ retry:
break;
}
#endif
; // fallthrough
case ACC_ICM20649:
FALLTHROUGH;
#ifdef USE_ACC_SPI_ICM20649
case ACC_ICM20649:
if (icm20649SpiAccDetect(dev)) {
accHardware = ACC_ICM20649;
#ifdef ACC_ICM20649_ALIGN
@ -259,10 +269,11 @@ retry:
#endif
break;
}
FALLTHROUGH;
#endif
; // fallthrough
case ACC_ICM20689:
#ifdef USE_ACC_SPI_ICM20689
case ACC_ICM20689:
if (icm20689SpiAccDetect(dev)) {
accHardware = ACC_ICM20689;
#ifdef ACC_ICM20689_ALIGN
@ -270,10 +281,11 @@ retry:
#endif
break;
}
FALLTHROUGH;
#endif
; // fallthrough
case ACC_BMI160:
#ifdef USE_ACCGYRO_BMI160
case ACC_BMI160:
if (bmi160SpiAccDetect(dev)) {
accHardware = ACC_BMI160;
#ifdef ACC_BMI160_ALIGN
@ -281,20 +293,22 @@ retry:
#endif
break;
}
FALLTHROUGH;
#endif
; // fallthrough
case ACC_FAKE:
#ifdef USE_FAKE_ACC
case ACC_FAKE:
if (fakeAccDetect(dev)) {
accHardware = ACC_FAKE;
break;
}
FALLTHROUGH;
#endif
; // fallthrough
default:
case ACC_NONE: // disable ACC
accHardware = ACC_NONE;
break;
}
// Found anything? Check if error or ACC is really missing.
@ -304,7 +318,6 @@ retry:
goto retry;
}
if (accHardware == ACC_NONE) {
return false;
}

View file

@ -154,7 +154,7 @@ bool baroDetect(baroDev_t *dev, baroSensor_e baroHardwareToUse)
switch (baroHardware) {
case BARO_DEFAULT:
; // fallthough
FALLTHROUGH;
case BARO_BMP085:
#ifdef USE_BARO_BMP085
@ -175,7 +175,7 @@ bool baroDetect(baroDev_t *dev, baroSensor_e baroHardwareToUse)
}
}
#endif
; // fallthough
FALLTHROUGH;
case BARO_MS5611:
#if defined(USE_BARO_MS5611) || defined(USE_BARO_SPI_MS5611)
@ -184,7 +184,7 @@ bool baroDetect(baroDev_t *dev, baroSensor_e baroHardwareToUse)
break;
}
#endif
; // fallthough
FALLTHROUGH;
case BARO_BMP280:
#if defined(USE_BARO_BMP280) || defined(USE_BARO_SPI_BMP280)
@ -193,7 +193,7 @@ bool baroDetect(baroDev_t *dev, baroSensor_e baroHardwareToUse)
break;
}
#endif
; // fallthough
FALLTHROUGH;
case BARO_NONE:
baroHardware = BARO_NONE;

View file

@ -162,7 +162,7 @@ bool compassDetect(magDev_t *dev)
switch (compassConfig()->mag_hardware) {
case MAG_DEFAULT:
; // fallthrough
FALLTHROUGH;
case MAG_HMC5883:
#if defined(USE_MAG_HMC5883) || defined(USE_MAG_SPI_HMC5883)
@ -178,7 +178,7 @@ bool compassDetect(magDev_t *dev)
break;
}
#endif
; // fallthrough
FALLTHROUGH;
case MAG_AK8975:
#ifdef USE_MAG_AK8975
@ -194,7 +194,7 @@ bool compassDetect(magDev_t *dev)
break;
}
#endif
; // fallthrough
FALLTHROUGH;
case MAG_AK8963:
#if defined(USE_MAG_AK8963) || defined(USE_MAG_SPI_AK8963)
@ -215,7 +215,7 @@ bool compassDetect(magDev_t *dev)
break;
}
#endif
; // fallthrough
FALLTHROUGH;
case MAG_NONE:
magHardware = MAG_NONE;

View file

@ -175,6 +175,8 @@ STATIC_UNIT_TESTED gyroSensor_e gyroDetect(gyroDev_t *dev)
switch (gyroHardware) {
case GYRO_DEFAULT:
FALLTHROUGH;
#ifdef USE_GYRO_MPU6050
case GYRO_MPU6050:
if (mpu6050GyroDetect(dev)) {
@ -184,6 +186,7 @@ STATIC_UNIT_TESTED gyroSensor_e gyroDetect(gyroDev_t *dev)
#endif
break;
}
FALLTHROUGH;
#endif
#ifdef USE_GYRO_L3G4200D
@ -195,6 +198,7 @@ STATIC_UNIT_TESTED gyroSensor_e gyroDetect(gyroDev_t *dev)
#endif
break;
}
FALLTHROUGH;
#endif
#ifdef USE_GYRO_MPU3050
@ -206,6 +210,7 @@ STATIC_UNIT_TESTED gyroSensor_e gyroDetect(gyroDev_t *dev)
#endif
break;
}
FALLTHROUGH;
#endif
#ifdef USE_GYRO_L3GD20
@ -217,6 +222,7 @@ STATIC_UNIT_TESTED gyroSensor_e gyroDetect(gyroDev_t *dev)
#endif
break;
}
FALLTHROUGH;
#endif
#ifdef USE_GYRO_SPI_MPU6000
@ -228,6 +234,7 @@ STATIC_UNIT_TESTED gyroSensor_e gyroDetect(gyroDev_t *dev)
#endif
break;
}
FALLTHROUGH;
#endif
#if defined(USE_GYRO_MPU6500) || defined(USE_GYRO_SPI_MPU6500)
@ -261,19 +268,19 @@ STATIC_UNIT_TESTED gyroSensor_e gyroDetect(gyroDev_t *dev)
#endif
break;
}
FALLTHROUGH;
#endif
#ifdef USE_GYRO_SPI_MPU9250
case GYRO_MPU9250:
if (mpu9250SpiGyroDetect(dev))
{
if (mpu9250SpiGyroDetect(dev)) {
gyroHardware = GYRO_MPU9250;
#ifdef GYRO_MPU9250_ALIGN
dev->gyroAlign = GYRO_MPU9250_ALIGN;
#endif
break;
}
break;
}
FALLTHROUGH;
#endif
#ifdef USE_GYRO_SPI_ICM20649
@ -285,6 +292,7 @@ STATIC_UNIT_TESTED gyroSensor_e gyroDetect(gyroDev_t *dev)
#endif
break;
}
FALLTHROUGH;
#endif
#ifdef USE_GYRO_SPI_ICM20689
@ -296,6 +304,7 @@ STATIC_UNIT_TESTED gyroSensor_e gyroDetect(gyroDev_t *dev)
#endif
break;
}
FALLTHROUGH;
#endif
#ifdef USE_ACCGYRO_BMI160
@ -307,6 +316,7 @@ STATIC_UNIT_TESTED gyroSensor_e gyroDetect(gyroDev_t *dev)
#endif
break;
}
FALLTHROUGH;
#endif
#ifdef USE_FAKE_GYRO
@ -315,7 +325,9 @@ STATIC_UNIT_TESTED gyroSensor_e gyroDetect(gyroDev_t *dev)
gyroHardware = GYRO_FAKE;
break;
}
FALLTHROUGH;
#endif
default:
gyroHardware = GYRO_NONE;
}

View file

@ -234,7 +234,7 @@ void gyroDataAnalyseUpdate(biquadFilter_t *notchFilterDyn)
arm_bitreversal_32((uint32_t*) fftData, Sint->bitRevLength, Sint->pBitRevTable);
DEBUG_SET(DEBUG_FFT_TIME, 1, micros() - startTime);
step++;
// fall through
FALLTHROUGH;
}
case STEP_STAGE_RFFT_F32:
{
@ -250,7 +250,7 @@ void gyroDataAnalyseUpdate(biquadFilter_t *notchFilterDyn)
arm_cmplx_mag_f32(rfftData, fftData, fftBinCount);
DEBUG_SET(DEBUG_FFT_TIME, 2, micros() - startTime);
step++;
// fall through
FALLTHROUGH;
}
case STEP_CALC_FREQUENCIES:
{
@ -301,7 +301,7 @@ void gyroDataAnalyseUpdate(biquadFilter_t *notchFilterDyn)
axis = (axis + 1) % 3;
step++;
// fall through
FALLTHROUGH;
}
case STEP_HANNING:
{