45 Commits

Author SHA1 Message Date
chrysn
a8a6eb39e9 add irq cound to existing nvic.h files 2012-10-18 13:19:55 +02:00
chrysn
7c33025c31 Merge branch 'master' into generalizations
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
2012-10-17 18:55:54 +02:00
Ken Sarkies
7d0611609b Code changes to stm32f1 adc.c and adc.h
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
2012-10-05 13:50:42 +09:30
chrysn
a69d83d312 unified vector table initialization
the cortex generic interrupts get moved to lib/cm3/vector.c, the
platorms' individual irq names, initialization and handler prototypes go
to platoform specific irq.h files.

as the vector.c file heavily depends on platoform specific headers, it
can't be built once-and-for-all in lib/cm3/, so there are inclusion
stubs in the various architecture dirs; this might be better solved with
Makefile / include path handling.

one particular file is lib/lpc43xx/vector.c; that platform's
initialization code contains an additional section to copy everything
from flash to ram (which probably performs better there). that code
still resides in the inclusion stub, and gets mashed in using defines.
would need a cleaner implementation together with the Makefile solution.

this commit contains some files of the upcoming efm32 branch, from which
it was cherry-picked.

the .bin files produced from before and after this commit only differ in
lpc43xx, where the startup sequence was subtly modified.
2012-10-05 00:55:24 +02:00
Nicolas Schodet
7851515c5c Fix merge error
This line was removed in commit acc276a612d4, but it has been restored in the
merge 02ea612142fb.
2012-09-17 17:27:50 -07:00
Ken Sarkies
ff83a1ae1c Setup to document entire project using doxygen.
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.
2012-09-15 12:51:46 +09:30
Piotr Esden-Tempski
02ea612142 Merge pull request #25 "Add support for C++ and fix some comments typo"
Merge remote-tracking branch 'schodet/master'

Conflicts:
	include/libopencm3/stm32/f1/adc.h
2012-09-10 12:21:21 -07:00
Nicolas Schodet
3aab6220d8 Add C linkage declaration for C++ usage 2012-09-02 17:12:58 +02:00
Ken Sarkies
9af50d6e5c STM32F1xx Additional minor changes to adc.h and adc.c 2012-08-31 21:47:30 +09:30
Ken Sarkies
acc276a612 ADC documentation added
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).
2012-08-31 09:54:31 +09:30
Piotr Esden-Tempski
d98dab6ae2 Merging pull request #23 Changed markup to get more control over documentation.
Merge remote-tracking branch 'ksarkies/doc'
2012-08-25 15:16:50 -07:00
Ken Sarkies
52533a6e3d STM32F1xx: Changed markup to get more control over documentation, each
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.
2012-08-20 17:19:20 +09:30
Ken Sarkies
70b2376c9f Update to doxygen comments to fix promiscuity problem (see later) 2012-08-18 13:32:48 +09:30
Ken Sarkies
0e5e451e22 Revert nvic_set_priority to original form. Minor doxygen markup changes. 2012-08-14 18:25:19 +09:30
Ken Sarkies
cba9561e89 NVIC_Set_Interrupt_Priority: change to use 4-bit fields.
(viz STM32F10xxx Cortex-M3 programming manual PM0056 and
Cortex-M3-Generic-User-Guide.pdf)

Doxygen commentary added
2012-07-09 16:54:01 +09:30
Piotr Esden-Tempski
a70eabb3e1 Merge pull request #11 "Add helper function for max clock on HSI for f100"
Merge remote-tracking branch 'karlp/hsi_f1_24'
2012-06-27 13:58:14 -07:00
Piotr Esden-Tempski
4a17185791 Merge pull request #10 "Add Device Electronic Signature support."
Merge remote-tracking branch 'karlp/desig'
2012-06-27 13:56:55 -07:00
Karl Palsson
62849f043c Add helper function for max clock on HSI for f100
Based on existing HSI code. Tested with f100c8, on custom board with no
external crystals or resonators.
2012-06-12 20:56:34 +00:00
Karl Palsson
71a3a7f2b1 Add Device Electronic Signature support.
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?
2012-06-12 20:53:59 +00:00
Ken Sarkies
06620040aa Header files for Doxygen group structure, layout changes to headings, example markup in stm32f1/ rcc 2012-05-28 21:38:55 +09:30
Tomaz Solc
c3038bc876 Added rcc.h include, needed for osc_t. 2012-04-24 09:08:49 +02:00
Piotr Esden-Tempski
0d50b97ed5 Correct DMA_CCR_MSIZE and PSIZE bit masks. Thanks Tomas Solic. 2012-04-20 21:16:23 -07:00
Daniel O'Connor
5a463f03e1 Cast PERIPH_BASE to unsigned otherwise certain operations result in build problems (overflow signed type). 2012-03-22 15:41:43 -07:00
Daniel O'Connor
f76e99c98d Add mask for SWJ bits.
(These are write only)
2012-03-22 15:41:19 -07:00
Piotr Esden-Tempski
ec34e21ead Changed parameter size for trigger enable. 2012-03-19 20:20:05 -07:00
Piotr Esden-Tempski
451a5e227d Started some cleanup in the ADC headers and convenience code. 2012-03-19 17:38:24 -07:00
Piotr Esden-Tempski
4e26104c18 Fixed position of PSIZE bits, thanks to Patrick for spotting this. 2012-03-17 16:17:40 -07:00
Piotr Esden-Tempski
aaa0158221 Fixed operation order for dma bit calculations. 2012-03-13 12:18:28 -07:00
Piotr Esden-Tempski
43561de329 License change of the library to LGPL, version 3 or later.
Agreed to by all the significant contributors to the library.
2012-03-02 14:44:49 -08:00
Piotr Esden-Tempski
994d559a6c Corrected interrupt flag register defines. 2012-02-29 18:00:10 -08:00
Piotr Esden-Tempski
f5cd026ae3 Added dma_channel_reset prototype. 2012-02-29 17:53:46 -08:00
Piotr Esden-Tempski
ec904f176b Cleaned up and streamlined DMA support for f1. Definitely needs a bunch of testing! 2012-02-29 16:02:51 -08:00
Piotr Esden-Tempski
cbef43ddd8 Added set priority group convenience function. 2012-02-24 16:43:37 -08:00
Piotr Esden-Tempski
c5e5c0fdab Updated SCB_AIRCR_PRIGROUP bit definitions to be more consistent with the style the library. 2012-02-24 16:21:23 -08:00
Piotr Esden-Tempski
bffbb0e54d Added missing gpio definitions for timer 5. 2012-02-13 19:45:28 -08:00
Piotr Esden-Tempski
5a384ff895 Added combined gpio bank definitions to timers as you tend to set those up in bulk. 2012-02-13 16:02:08 -08:00
Piotr Esden-Tempski
b325c81127 Forgot some BANK suffixes. 2012-02-13 13:51:41 -08:00
Piotr Esden-Tempski
d4ea773de4 Added bank definitions to f1 gpio header. 2012-02-13 13:40:49 -08:00
Piotr Esden-Tempski
c6f30043fd Added UART4 and UART5 gpio definitions for stm32f1. Also corrected the naming everywhere. Both peripherals are UARTS not U_S_ARTS. 2011-11-16 18:17:56 -08:00
Stephen Caudle
1fea1df39a Fix more STM32 whitespace issues 2011-10-31 11:11:03 -04:00
Stephen Caudle
6da485f06d Fix STM32 flash programming doc links 2011-10-31 09:25:05 -04:00
Fergus Noble
84b9f85941 Moving a couple more headers to stm common. 2011-10-12 22:20:22 -04:00
Fergus Noble
4d02d36d6b Moving nvic code to common, adding F1 and F2 specific user interrupt definition headers. 2011-10-12 22:17:16 -04:00
Fergus Noble
ca412a9ed2 Move systick to stm32 common. 2011-10-12 22:17:16 -04:00
Fergus Noble
4eff339e8c Restructuring stm32 include directories. 2011-10-12 22:13:01 -04:00