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
New doc directory with config files and generated html, LaTeX/pdf.
Makefile provided for autogeneration and explanatory README.
The project structure is hostile to doxygen, which can't cope with functions
of the same name. Doxygen is run for each family separately, and separately
for LaTeX generation. Customized layout files sort of "integrate" HTML, and
separate pdfs are generated for each family. Not ideal but seems the best
solution until doxygen changes, if at all.
In adc.h additional defines needed to assist documentation - lines 172-191
added, and 384,436-451 are duplicates of earlier defines to complete
parameter sets (compiler has no trouble with these).
Minor doc corrections to other files.
No code changes (apart from additional defines).
file having its own group module rather than using @file.
No code changes except for the following:
gpio: Added function to map the eventout signal plus two Remap functions
dma: Prevent changing base addresses while channel enabled (see datasheet)
pwr: Added pwr.c (new file)
timer: Removed the last function that I introduced recently; there is already
an equivalent function present. Changed some parameter names for consistency.
1. Remove the extra mask (TIM_DIER(timer_peripheral) & flag)
in timer_get_flag. Not all flags in SR relate to IRQs and the flags that
do might be useful even if interrupts not enabled.
2. In a number of functions (e.g. timer_set_output_idle_state) that only
apply to advanced timers, add test for TIM1 and TIM8, as done in some others.
3. Added timer_force_event to manipulate the EG register
TBD DMA burst - can't get my head around why this would be useful.
Someone must have thought so!
Working unique id support, but not 100% convinced that this is the "least surprise"
path. ST's docs provide the bits from low to high, in 2xu16 and 2xu32.
But to get it back as a "u96" the highest bits should be first?
This was also fixed in ac29b654a992a4855626fc0b92874d3847914f85 in a
different way. I think the mask definition should be left with 1s
indicating the bits of interest.
See also 87ea496ca768d18e51d8654cbad9cb261a881b1b.
This reverts commit 2433f17e7341d6afcda24d395d0b93c50a37b7b1.
This was also fixed in ac29b654a992a4855626fc0b92874d3847914f85 in a
different way. I think the mask definition should be left with 1s
indicating the bits of interest.
This reverts commit e11185d47d0a2fea6d2782761edd5fd489541512.