F2 and F4 have a common section to deal with the options register (TIM2 and TIM5 only)
L1 has been made common with timer_common_all as its options register has very different settings to F2/F4. Code is in the L1/timer.c L1/timer.h files
Note that F3 and F05 timers should fit into this scheme, with F3 having additional features.
Bundled with this is L1/pwr.h to change a documentation setting
Also all the Doxyfiles have added "ENABLE_PREPROCESSING = NO" to fix a problem introduced by commit 118.
(prevents inclusion and also issues warning)
Changes to some source files to remove references to common headers.
Changes to rng.h to make guard symbols the same in f2 and f4.
to remove errors, duplications and inconsistencies.
File lib/stm32/f1/pwr.c - all code removed as it duplicates that in common/pwr_common.c
Remaining changes do not affect code. Compiles OK.
TODO efm32 has no code so generates no modules
TODO F2 needs pwr.c
TODO L1 needs dma.h and dma.c
Code added for L1 to support the PWR Control block didn't properly
follow the HACKING_COMMON_DOC guidelines. The naming was wrong, and
some headers were missing. This commit has no functional changes, it
only addresses the style and structure problems.
Updated the documentation so that it appears in all families
Also added it to the L1 area, but is untested. An addition to the memorymap
allows commonality and a #ifdef added to the spi_common_all code to
exclude the case of SPI3 for L1 and F0 as SPI3 doesn't exist in those.
An rcc dispatch header was added to remove same code from the spi header.
vector.o, nvic.o, scb.o and assert.o are available on every platform,
but at least some of them differ between the implementations. they
already got built explicityly on some platforms; now adding them to the
common Makefile.include.
these register definitions are common to all cortex mcus. some of the
registers might not be implemented everywhere (especially the floating
point registers), but defining them does no harm.
this modification does not result in any changes in the example
binaries.
Conflicts:
lib/lm3s/vector.c -- split out to lm3s/irq.h
lib/stm32/f4/vector.c -- put the floating point initialization code into a function like in lpc43xx
Add object files to Makefile to include new modules into lib.
Correct typo in pwr.c
Add two new functions to timer.c to preset the counter (for use
with deadman style timeouts) and to identify an interrupt
source.
Also noticed lib/makefile.include didn't clean lib/stm32, which
isn't a target. Added a fix.
remove rcc_set_adc_clk - use rcc version
Added functions:
- adc_power_on
- adc_start_conversion_direct
- adc_set_dual_mode
- adc_eoc
- adc_eoc_injected
- adc_read_regular
- adc_read_injected
- adc_set_injected_offset
Tested dual mode scanned regular, but no tests of injected yet.
Changes: "discontinuous" was misspelled.
- adc_set_discontinuous_mode_regular - added "length" parameter
- adc_disable_discontinuous_mode_regular - name change
- adc_enable_discontinuous_mode_injected - name change
- adc_enable_automatic_injected_group_conversion - disable triggers
- adc_enable_jeoc_interrupt - name change to match common usage in lib
- adc_disable_jeoc_interrupt - ditto
- adc_enable_external_trigger_regular - remove incorrect test on parameter
- adc_enable_external_trigger_injected - ditto
- adc_set_sample_time - name change to match function's purpose
- adc_set_conversion_time_on_all_channels - ditto
- adc_set_injected_sequence - changed order of register loading (ref Barlow's issue)
- adc_enable_analog_watchdog_on_all_channels - flipped AWDSGL
- adc_enable_analog_watchdog_on_selected_channel - ditto
added aliases for expected commonly used functions to avoid sudden user code breakage
In adc.h, corrected errors in SQR names
added "deprecated" compiler warnings to adc_on and to aliases defined in adc.c