aboutsummaryrefslogtreecommitdiff
path: root/libmaple/timers.c
AgeCommit message (Collapse)Author
2011-03-24Initial timer refactor.Marti Bolivar
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.
2011-02-27Refactor linker scripts. Rename irq and exception handlers.Perry Hung
Add common linker scripts for ram and rom. Add medium and high density libraries for libcs3.
2011-02-27Cleaned out libmaple.h; this had wide-ranging implications.Marti Bolivar
Many of the #defines in libmaple.h were board-specific, not MCU-specific. Most of these were only used by code under libmaple/usb/. These were moved into usb_config.h, and are clearly marked as being terrible hacks. I'm going to treat the USB stack as a black box that we'll deal with later. Further, instead of having a variety of #defines like "How many USARTS do I have?", we decide that based on the density of the chip. This is determined by testing for STM32_MEDIUM_DENSITY or STM32_HIGH_DENSITY defines. libmaple currently doesn't support low-density chips, so that suffices. The Makefile will set these automatically based on the MCU. Other offending #defines are ERROR_LED_PORT and ERROR_LED_PIN; these were made optional, but they're set in the Makefile as a hack to keep things working.
2010-12-08Servo library tested and debugged.Marti Bolivar
Some additional HardwareTimer methods introduced to make this convenient; ancillary libmaple/timers.h changes resulted.
2010-10-22maple mini runs blinky now.Marti Bolivar
still need usb descriptors to improve, and also nothing else is tested.
2010-10-12Add selective enabling of channels for pwm channelsPerry Hung
pinMode(PWM) turns the channel on, other modes should turn it off Fixes bug with conflicting timer for spi1 and timer. This is not well-tested. Conflicts: libmaple/timers.c
2010-10-11docsMarti Bolivar
2010-09-27whitespace cleanupsMarti Bolivar
2010-09-05timer fixes for maple nativebnewbold
2010-09-05timer refactor (c, not c++)bnewbold
also removed an old ASSERT()
2010-08-25inital portability workbnewbold
2010-08-04Cleaned up wirish/time, some interrupt handling refactoring:Perry Hung
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
2010-08-04New reset and clock control apiPerry Hung
2010-07-20sigh, simple typobnewbold
2010-07-20bug fix with interrupts not getting clearedbnewbold
2010-07-20timers progressbnewbold
examples code cleanup, more descriptive comments, more notes
2010-07-20good quality vga leaf logo; usb+systick disabledbnewbold
refactored timers and added interrupt behavior. see notes and comments... also includes a crude vga hack that doesn't use timers.
2010-04-19Aded two timer function to set max reload value and prescalerPerry Hung
2010-03-31Licensing: Relicensed libmaple under the MIT License.Perry Hung
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.
2010-03-31Removed inttypes.hPerry Hung
Removed inttypes.h from libmaple. Will have another pass through to use the standard libmaple types, but will come in another commit.
2010-03-30Merge branch 'master' into rcc-devPerry Hung
Conflicts: Makefile
2010-03-31Major hierarchy reorganization; see README.bnewbold
copy-to-ide and Makefile updated to conform; .gitignore added; LICENSE added