aboutsummaryrefslogtreecommitdiffstats
path: root/libmaple/nvic.h
Commit message (Collapse)AuthorAgeFilesLines
* nvic: Add nvic_sys_reset().Marti Bolivar2011-09-241-1/+1
| | | | | | This uses the SCB_AIRCR register to force a system reset. Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
* Added more doxygen file level headers. Documented a few more functions.Michael Hope2011-09-131-0/+28
| | | | Signed-off-by: Michael Hope <michaelh@juju.net.nz>
* nvic.h: DoxygenMarti Bolivar2011-08-221-2/+9
|
* Keep it 80-column clean.Marti Bolivar2011-06-071-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | Go through overlong source code lines and convert as many of them as appropriate to be 80-column clean. This mostly affects license headers. Overlong lines are determined by running following from the libmaple base directory: $ ack-grep --nocolor --nogroup --cpp --cc --ignore-dir=usb -- '.{80}' Note that this excludes libmaple's usb subdirectory, which is still full of ST code that doesn't follow the libmaple source code guidelines. Contents of ~/.ackrc (these won't matter, but are included for completeness): --ignore-dir=docs --ignore-dir=build --type-set ld=.ld --type-set rst=.rst --type-set txt=.txt --type-set mk=.mk
* Tweak some register map base pointers.Marti Bolivar2011-05-261-1/+1
| | | | | | | | | | | | Replace #define XXX_BASE ((xxx_reg_map*)0xDEADBEEF) with #define XXX_BASE ((struct xxx_reg_map*)0xDEADBEEF) for increased GDB-friendliness.
* libmaple: Fix warnings in libmaple source filesPerry Hung2011-05-121-1/+1
| | | | | -Add -Wall, -Werror to libmaple/* -Fix warnings
* Adding guards for negative nvic_irq_num enumerators.Marti Bolivar2011-04-121-0/+6
| | | | | nvic_irq_enable() and nvic_irq_disable() previously didn't protect against negative arguments.
* DMA checkpoint; dma_attach_interrupt() is broken.Marti Bolivar2011-04-111-0/+1
| | | | | | Simple USART receiver to SRAM buffer demo partially working. Interrupting when buffer is full fails mysteriously. GDB thinks we ended up in an STM32 reserved exception.
* Renaming some nvic_irq_num enumerators for better readability.Marti Bolivar2011-04-071-4/+4
|
* NVIC and SCB refactorMarti Bolivar2011-04-051-92/+147
|
* Initial timer refactor.Marti Bolivar2011-03-241-49/+52
| | | | | | | | | | | | | | | Basic PWM works. Had some problems in testing that might be due to USART bugs. HardwareTimer has been removed from the build for now; I will re-implement it in terms of the new libmaple API, but consider it deprecated. Let's come up with something better. Servo is implemented in terms of HardwareTimer, so it also has been temporarily removed from the build. pwmWrite() likely got a little bit less inefficient due to indirection, but the PIN_MAPs shrank by a pointer per PinMapping.
* checkpointPerry Hung2011-02-261-1/+40
|
* undoing USART[45] -> UART[45] mistakeMarti Bolivar2011-02-151-2/+2
|
* [WIP] Code review picked up some bugs/issues.Marti Bolivar2011-01-261-10/+6
|
* Changed nzmichaelh's initial DMA interface to be more flexible.Marti Bolivar2010-12-301-5/+13
| | | | | Some bugfixes in the external interrupt code were found along the way. Defines for nonexistent registers removed from nvic interface.
* Merge remote branch 'upstream/master'Michael Hope2010-09-291-19/+26
|\
| * whitespace cleanupsMarti Bolivar2010-09-271-24/+24
| |
| * Enable external interrupts on all Maple GPIOs.Perry Hung2010-09-221-15/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend the wirish attachInterrupt() and detachInterrupt() interface to work with all GPIOs. Note: The STM32 external interrupt lines are multiplexed between GPIO ports. While any GPIO can be used as an external interrupt, not all of them can be used at the same time. Each EXTI[n] line selects between PA[n], PB[n], PC[n], etc. For example, line EXTI5 can be used with STM32 pins PA5, PB5, or PC5, but not all at the same time. See table: EXTI Line Maple Pin STM32 Pin 0 D2 PA0 0 D27 PB0 0 D15 PC0 1 D3 PA1 1 D28 PB1 1 D16 PC1 2 D1 PA2 2 D17 PC2 2 D25 PD2 3 D0 PA3 3 D18 PC3 4 D10 PA4 4 D19 PC4 5 D13 PA5 5 D4 PB5 5 D20 PC5 6 D12 PA6 6 D5 PB6 6 D35 PC6 7 D11 PA7 7 D9 PB7 7 D36 PC7 8 D6 PA8 8 D14 PB8 8 D37 PC8 9 D7 PA9 9 D24 PB9 9 D38 PC9 (BUT) 10 D8 PA10 10 D29 PB10 10 D26 PC10 11 D30 PB11 12 D31 PB12 13 D32 PB13 13 D21 PC13 14 D33 PB14 14 D22 PC14 15 D34 PB15 15 D23 PC15
| * Fix enable/disable global irqPerry Hung2010-09-141-2/+2
| | | | | | | | Oooooops.
* | Fixed up the build due to a missing header file.Michael Hope2010-09-291-4/+4
|/
* timer fixes for maple nativebnewbold2010-09-051-0/+1
|
* Portability fixesbnewbold2010-08-311-0/+1
| | | | Still not working but fixed a lot of merge errors
* inital portability workbnewbold2010-08-251-6/+7
|
* Cleaned up wirish/time, some interrupt handling refactoring:Perry Hung2010-08-041-8/+13
| | | | | | | | | Fixed millis(), it was just wrong, before. Added micros(), not extensively tested. New implementation of delayMicroseconds(). Should be more consistent now. Added a handful of nvic routines to enable/disable interrupts. Cleaned up systick
* New usart implementation:Perry Hung2010-08-041-2/+8
| | | | | | Fixed a bug where the maximum baud rate was incorrectly set to 225000 General cleanup Use new rcc and nvic APIs
* nvic_disable_interruptbnewbold2010-07-181-0/+1
|
* Refactoring:Perry Hung2010-04-251-1/+5
| | | | | The 'core' directory has now been renamed to 'wirish.' Wirish is our version of the Arduino Wiring language.
* Licensing: Relicensed libmaple under the MIT License.Perry Hung2010-03-311-12/+17
| | | | | | Relicensed the bulk of libmaple under the more permissive MIT License, from GPLv3. Files that were largely or entirely derived from the Arduino, STM, or Lanchon retain their original licenses.
* Removed STM32 flash code, replaced with barebones hacks for now.Perry Hung2010-03-301-2/+0
| | | | | At this point, there shouldn't be any STM code being compiled and linked against. There are still a bunch of STM header includes, though.
* Major hierarchy reorganization; see README.bnewbold2010-03-311-0/+67
copy-to-ide and Makefile updated to conform; .gitignore added; LICENSE added