diff --git a/os/hal/include/adc.h b/os/hal/include/adc.h index 7c67e20d1..d7f918da3 100644 --- a/os/hal/include/adc.h +++ b/os/hal/include/adc.h @@ -228,18 +228,21 @@ typedef enum { /* Invokes the callback passing the 2nd half of the buffer.*/ \ size_t half = (adcp)->depth / 2; \ size_t half_index = half * (adcp)->grpp->num_channels; \ - (adcp)->grpp->end_cb(adcp, (adcp)->samples + half_index, half); \ + (adcp)->grpp->end_cb(adcp, (adcp)->samples + half_index, (adcp)->depth - half); \ } \ else { \ /* Invokes the callback passing the whole buffer.*/ \ (adcp)->grpp->end_cb(adcp, (adcp)->samples, (adcp)->depth); \ } \ - if ((adcp)->state == ADC_COMPLETE) \ + if ((adcp)->state == ADC_COMPLETE) { \ (adcp)->state = ADC_READY; \ + (adcp)->grpp = NULL; \ + } \ } \ - else \ + else { \ (adcp)->state = ADC_READY; \ - (adcp)->grpp = NULL; \ + (adcp)->grpp = NULL; \ + } \ _adc_wakeup_isr(adcp); \ } \ } diff --git a/readme.txt b/readme.txt index e38983590..ad82294cf 100644 --- a/readme.txt +++ b/readme.txt @@ -85,6 +85,8 @@ ***************************************************************************** *** 2.5.2 *** +- FIX: Fixed bug prevents calling adcStartConversionI() within ISR (bug + 3605053)(backported to 2.4.4). - FIX: Fixed typo in platforms/STM32/can_lld.c (bug 3604657)(backported to 2.4.4). - FIX: Added board files and demo for "WaveShare Open STM32F4 207I-C / 407I-C".