From 85a36d3767152dd571f5ca8e8001ce66f3803f13 Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Thu, 23 Nov 2017 12:46:15 +0000 Subject: [PATCH] Fixed bug #906. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@11067 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/ports/STM32/LLD/TIMv1/hal_pwm_lld.c | 14 ++++++++++++++ os/rt/src/chschd.c | 4 ++-- readme.txt | 9 +++++++++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/os/hal/ports/STM32/LLD/TIMv1/hal_pwm_lld.c b/os/hal/ports/STM32/LLD/TIMv1/hal_pwm_lld.c index 66fd15df7..279170e16 100644 --- a/os/hal/ports/STM32/LLD/TIMv1/hal_pwm_lld.c +++ b/os/hal/ports/STM32/LLD/TIMv1/hal_pwm_lld.c @@ -519,32 +519,40 @@ void pwm_lld_start(PWMDriver *pwmp) { switch (pwmp->config->channels[0].mode & PWM_OUTPUT_MASK) { case PWM_OUTPUT_ACTIVE_LOW: ccer |= STM32_TIM_CCER_CC1P; + /* Falls through.*/ case PWM_OUTPUT_ACTIVE_HIGH: ccer |= STM32_TIM_CCER_CC1E; + /* Falls through.*/ default: ; } switch (pwmp->config->channels[1].mode & PWM_OUTPUT_MASK) { case PWM_OUTPUT_ACTIVE_LOW: ccer |= STM32_TIM_CCER_CC2P; + /* Falls through.*/ case PWM_OUTPUT_ACTIVE_HIGH: ccer |= STM32_TIM_CCER_CC2E; + /* Falls through.*/ default: ; } switch (pwmp->config->channels[2].mode & PWM_OUTPUT_MASK) { case PWM_OUTPUT_ACTIVE_LOW: ccer |= STM32_TIM_CCER_CC3P; + /* Falls through.*/ case PWM_OUTPUT_ACTIVE_HIGH: ccer |= STM32_TIM_CCER_CC3E; + /* Falls through.*/ default: ; } switch (pwmp->config->channels[3].mode & PWM_OUTPUT_MASK) { case PWM_OUTPUT_ACTIVE_LOW: ccer |= STM32_TIM_CCER_CC4P; + /* Falls through.*/ case PWM_OUTPUT_ACTIVE_HIGH: ccer |= STM32_TIM_CCER_CC4E; + /* Falls through.*/ default: ; } @@ -561,24 +569,30 @@ void pwm_lld_start(PWMDriver *pwmp) { switch (pwmp->config->channels[0].mode & PWM_COMPLEMENTARY_OUTPUT_MASK) { case PWM_COMPLEMENTARY_OUTPUT_ACTIVE_LOW: ccer |= STM32_TIM_CCER_CC1NP; + /* Falls through.*/ case PWM_COMPLEMENTARY_OUTPUT_ACTIVE_HIGH: ccer |= STM32_TIM_CCER_CC1NE; + /* Falls through.*/ default: ; } switch (pwmp->config->channels[1].mode & PWM_COMPLEMENTARY_OUTPUT_MASK) { case PWM_COMPLEMENTARY_OUTPUT_ACTIVE_LOW: ccer |= STM32_TIM_CCER_CC2NP; + /* Falls through.*/ case PWM_COMPLEMENTARY_OUTPUT_ACTIVE_HIGH: ccer |= STM32_TIM_CCER_CC2NE; + /* Falls through.*/ default: ; } switch (pwmp->config->channels[2].mode & PWM_COMPLEMENTARY_OUTPUT_MASK) { case PWM_COMPLEMENTARY_OUTPUT_ACTIVE_LOW: ccer |= STM32_TIM_CCER_CC3NP; + /* Falls through.*/ case PWM_COMPLEMENTARY_OUTPUT_ACTIVE_HIGH: ccer |= STM32_TIM_CCER_CC3NE; + /* Falls through.*/ default: ; } diff --git a/os/rt/src/chschd.c b/os/rt/src/chschd.c index d4bf1cafa..476b19836 100644 --- a/os/rt/src/chschd.c +++ b/os/rt/src/chschd.c @@ -332,11 +332,11 @@ static void wakeup(void *p) { #if CH_CFG_USE_SEMAPHORES == TRUE case CH_STATE_WTSEM: chSemFastSignalI(tp->u.wtsemp); - /* Falls into, intentional. */ + /* Falls through.*/ #endif #if (CH_CFG_USE_CONDVARS == TRUE) && (CH_CFG_USE_CONDVARS_TIMEOUT == TRUE) case CH_STATE_WTCOND: - /* Falls into, intentional. */ + /* Falls through.*/ #endif case CH_STATE_QUEUED: /* States requiring dequeuing.*/ diff --git a/readme.txt b/readme.txt index ac083134d..4133f7cb4 100644 --- a/readme.txt +++ b/readme.txt @@ -146,6 +146,11 @@ Eclipse Tools menu. It is required to create an OPENOCD environment variable pointing to the OpenOCD executable. It will be done in ChibiStudio 20 by default. +- NEW: Now .mk files are able to add their files to a common directory, + there is no more need to edit various variables in Makefiles + anymore. +- NEW: Added to new makefiles the ability to recursively compile everything + placed under ./source, if present. - NEW: Improved the various rules.mk to handle "touching" of all included makefiles, now the makefile is no more assumed to be called "Makefile". @@ -153,6 +158,10 @@ dependencies and configuration directories. This makes possible to have multiple non-conflicting makefiles in the same project. Updated the various platform.mk implementing "smart build" mode. +- RT: Fixed gcc7 implicit-fallthrough (bug #906)(backported to 17.6.4 + and 16.1.10). +- HAL: Fixed gcc7 implicit-fallthrough (bug #906)(backported to 17.6.4 + and 16.1.10). - HAL: Fixed DAC CH2 marked as not present in STM32F091 registry (bug #905) (backported to 17.6.4 and 16.1.10). - LIB: Fixed chHeapGetSize value is not obtained from the header (bug #904)