Added Board Varient STM32F103VB.
Replaced #ifdef STM32_HIGH_DENSITY
with #if STM32_NR_PORTS > 4
Where it makes sense for High Pin count medium density parts like the
STM32F103VB.
Added Board Varient STM32F103B.
Replaced #ifdef STM32_HIGH_DENSITY
with #if STM32_NR_PORTS > 4
Where it makes sense for High Pin count medium density parts like the
STM32F103VB.
Added support inside the Core, for boards which have a 16Mhz crystal using '#define XTAL16M'. Note, no variants or boards.txt changes have been added to use this feature,
Method adc_default_config still had the adc_dev* 'const' for F103T, but this doesn't compile.
For other boards, the 'const' was removed already. See for example commits 0b34af3b6a and
2cdbbc8339.
Tested on Arduino IDE 1.6.13.
Compilation error message was along these lines:
STM32F1\variants\generic_stm32f103t\wirish\boards.cpp:183:34: error: invalid conversion from 'const adc_dev*' to 'adc_dev*' [-fpermissive]
STM32F1\system/libmaple/include/libmaple/adc.h:306:13: error: initializing argument 1 of 'void adc_enable_single_swstart(adc_dev*)' [-fpermissive]
STM32F1\variants\generic_stm32f103t\wirish\boards.cpp:184:53: error: invalid conversion from 'const adc_dev*' to 'adc_dev*' [-fpermissive]
STM32F1\system/libmaple/include/libmaple/adc.h:268:6: error: initializing argument 1 of 'void adc_set_sample_rate(adc_dev*, adc_smp_rate)' [-fpermissive]
STM32F1\variants\generic_stm32f103t\wirish\boards.cpp: In function 'void setup_adcs()':
STM32F1\variants\generic_stm32f103t\wirish\boards.cpp:189:35: error: invalid conversion from 'void (*)(const adc_dev*)' to 'void (*)(adc_dev*)' [-fpermissive]
STM32F1\system/libmaple/include/libmaple/adc.h:282:13: error: initializing argument 1 of 'void adc_foreach(void (*)(adc_dev*))' [-fpermissive]
While using a different board, I realized that I did not configure the
ADC on all variants and there is a minor bug on the irq_num for
advanced 103 devices.
This modification adds support for a STM32ADC library. There are a
couple of examples on how to use it. The library allows usage of the
ADC with DMA in circular mode or scan mode, it allows the ADC to be
used in scan mode. And also to use the EOC interrupt.
More functionality needs to be added and will be in time.
Eventually the util files will be moved into the adc files in the core.