aboutsummaryrefslogtreecommitdiff
path: root/include/libopencm3/stm32/f1
AgeCommit message (Collapse)Author
2013-03-09This mainly moves the STM32 timers' code to the common area.Ken Sarkies
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.
2013-03-07Repair to documentation (most documented files)Ken Sarkies
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
2013-02-26Fix all warnings for stm32f1 lib.Piotr Esden-Tempski
2013-02-26Fixed gpio_primary_remap; swjdisable is pre-shifted and therefore needs to ↵Vegard Storheil Eriksen
be u32.
2013-02-19Merge remote-tracking branch 'github/deprecationmacro'Piotr Esden-Tempski
2013-02-18Merge pull request #92 "DMA tidyup"Piotr Esden-Tempski
Merge remote-tracking branch 'karlp/dma_tidy'
2013-02-18Merge pull request #84 "Pr flash reg rename"Piotr Esden-Tempski
Merge remote-tracking branch 'karlp/pr_flash-reg-rename' Conflicts: include/libopencm3/stm32/l1/flash.h
2013-02-06[stm32] Use common memorymap include for consistencyKarl Palsson
Most peripheral headers simply include <libopencm3/stm32/memorymap.h> which, like the rest of libopencm3 requires the correct compiler define flag to be set. A few peripherals were directly including the platform include, libopencm3/stm32/xx/memorymap.h, and in some of those cases it wasn't even correctly including the correct platform. (Likely the result of copy/paste errors) These direct includes have been eliminated
2013-01-23[flash] f1: use "proper" bit definition naming.Karl Palsson
Part 2 of 4: updated f1 to use flash_<reg>_bit instead of just flash_bit
2013-01-22[stm32] Support the "new" BCD style RTC peripheralKarl Palsson
Add the register definitions and some of the most basic helper functions for the new style BCD RTC module found on the F2, F4, L1, F3 and F0. This tries to keep as close to HACKING_COMMON_DOC as possible, while maintaining sane names.
2013-01-22[l1] PWR: fix style for common codeKarl Palsson
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.
2013-01-09Merging pull request #72 DocPiotr Esden-Tempski
Merge remote-tracking branch 'ksarkies/doc' Conflicts: doc/stm32f1/Doxyfile doc/stm32f2/Doxyfile doc/stm32f4/Doxyfile lib/stm32/f1/Makefile lib/stm32/f2/Makefile lib/stm32/f4/Makefile
2013-01-08Minor cleanup to use dispatch memorymap.hKen Sarkies
2013-01-08CRC moved to common areaKen Sarkies
2013-01-08I2C to common areaKen Sarkies
F2/4 has now I2C3 included
2013-01-08IWDG moved to common areaKen Sarkies
2013-01-08Move usart files to common areaKen Sarkies
Again added to L1 which is similar to F1
2013-01-08Move DAC to common areaKen Sarkies
(Note there are now dummy source files dac.c (and others) that are not compiled but are needed for documentation).
2013-01-08STM32: Moved SPI code into the common area.Ken Sarkies
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.
2013-01-08Move STM32F1 DMA files to respective common directoriesKen Sarkies
This sets the stage for adding DMA to STM32F3xx (when added) and STM32L1xx as the controller appears to be identical in these.
2013-01-06Merging pull request #63 Improvements to STM32F1 I2C, CAN, RCC, and USB (f107)Piotr Esden-Tempski
Merge remote-tracking branch 'icd/master'
2012-11-13Merge branch 'master' of git://github.com/libopencm3/libopencm3 into ↵Jeff Ciesielski
upstream-merge
2012-11-13Proposed deduplication of peripherals, GPIO exampleKen Sarkies
See rambling post on dev list for justification
2012-11-08Fixed cut and paste typo for CAN banks.Piotr Esden-Tempski
2012-11-07Vectors and Memory Map for STM32L1 seriesKarl Palsson
2012-11-06Add a desig_get_unique_id_as_stringAndrey Smirnov
This commit adds desig_get_unique_id_as_string which is useful if one wants to use device ID as USB serial number(iSerialNumber), for example.
2012-11-02stm32/f1/rcc: expose method for selecting MCO sourceJeff Ciesielski
2012-10-31STM32F1 Addition to DMA to add interrupt flag read and clear.Ken Sarkies
Additional macros and defines added to header for the purpose. Also disable of increment modes (seem to have been omitted originally).
2012-10-29Merge branch 'generalizations'chrysn
this merges common c and header files of different architectures, adds a dispatch mechanism and yaml descriptions of interrupt handlers from which the whole interrupt table setup c code is generated.
2012-10-22deprecation macro (closes #48)chrysn
2012-10-19stm32/f1/rcc: add 25mhz in to 72mhz out clock tree setup function.Jeff Ciesielski
also: added support for previously undefined PLLs
2012-10-19stm32/f1/dma: add clear_flag helper functionJeff Ciesielski
2012-10-18unify scb (system control block)chrysn
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.
2012-10-18switch all interrupt lists to yaml formatchrysn
2012-10-18add irq cound to existing nvic.h fileschrysn
2012-10-17Merge branch 'master' into generalizationschrysn
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[fix] GCC < 4.5 that does not accept any argument for the deprecated attribute.HEADmasterFelix Ruess
2012-10-05Code changes to stm32f1 adc.c and adc.hKen Sarkies
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-05unified vector table initializationchrysn
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-09-17Fix merge errorNicolas Schodet
This line was removed in commit acc276a612d4, but it has been restored in the merge 02ea612142fb.
2012-09-15Setup to document entire project using doxygen.Ken Sarkies
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-10Merge pull request #25 "Add support for C++ and fix some comments typo"Piotr Esden-Tempski
Merge remote-tracking branch 'schodet/master' Conflicts: include/libopencm3/stm32/f1/adc.h
2012-09-02Add C linkage declaration for C++ usageNicolas Schodet
2012-08-31STM32F1xx Additional minor changes to adc.h and adc.cKen Sarkies
2012-08-31ADC documentation addedKen Sarkies
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-25Merging pull request #23 Changed markup to get more control over documentation.Piotr Esden-Tempski
Merge remote-tracking branch 'ksarkies/doc'
2012-08-20STM32F1xx: Changed markup to get more control over documentation, eachKen Sarkies
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-18Update to doxygen comments to fix promiscuity problem (see later)Ken Sarkies
2012-08-14Revert nvic_set_priority to original form. Minor doxygen markup changes.Ken Sarkies
2012-07-09NVIC_Set_Interrupt_Priority: change to use 4-bit fields.Ken Sarkies
(viz STM32F10xxx Cortex-M3 programming manual PM0056 and Cortex-M3-Generic-User-Guide.pdf) Doxygen commentary added