aboutsummaryrefslogtreecommitdiffstats
path: root/libmaple
Commit message (Collapse)AuthorAgeFilesLines
* Switch spi to use new rcc interfacePerry Hung2010-08-043-2/+6
|
* Cleaned up wirish/time, some interrupt handling refactoring:Perry Hung2010-08-047-61/+42
| | | | | | | | | 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
* Turn off MAPLE_DEBUG by default.Perry Hung2010-08-041-1/+1
| | | | | Save space on debug strings, performance. Perhaps we should consider some form of user-facing assert.
* New usart implementation:Perry Hung2010-08-045-252/+186
| | | | | | Fixed a bug where the maximum baud rate was incorrectly set to 225000 General cleanup Use new rcc and nvic APIs
* New reset and clock control apiPerry Hung2010-08-046-199/+259
|
* Basic flash peripheral management api for board bringupPerry Hung2010-08-043-28/+46
|
* rename clock selection registerbnewbold2010-07-242-4/+4
| | | | | | | This is just a change of macro name with zero impact on the actual binary. Looking at page 87/1003 of the STM reference manual, bits [0:1] are the SW register which is modifiable by software, while [2:3] are SWS and are set only by hardware.
* added isConnected() to serialusbbnewbold2010-07-222-0/+10
|
* sigh, simple typobnewbold2010-07-201-1/+1
|
* bug fix with interrupts not getting clearedbnewbold2010-07-202-5/+55
|
* timers progressbnewbold2010-07-201-12/+45
| | | | examples code cleanup, more descriptive comments, more notes
* good quality vga leaf logo; usb+systick disabledbnewbold2010-07-203-34/+404
| | | | | refactored timers and added interrupt behavior. see notes and comments... also includes a crude vga hack that doesn't use timers.
* working serialUSB with timeoutbnewbold2010-07-192-0/+7
| | | | | | | | | | | as a temporary workaround for the fact that SerialUSB is often blocking, this crude implementation makes the low-level C usbSendBytes function non-blocking (with a return code of bytes sent) and implements a 2ms timeout in the wirish write() function. also adds begin(), end(), getDTR(), getRTS(), pending(). device is still initialized the old fashioned way during init() so that, eg, autoreset will work. includes a simple multi-test program.
* new usb_serialbnewbold2010-07-192-50/+56
|
* added Serial.flush()bnewbold2010-07-192-0/+24
|
* nvic_disable_interruptbnewbold2010-07-182-0/+17
|
* make: Modularize makefiles, add dependency tracking, build-type trackingPerry Hung2010-06-251-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Major build system rewrite. New and exciting: 1. Proper dependency tracking. All source files including header files should be properly tracked and recompiled as necessary when they are changed. 2. Build-type tracking. If the target changes from 'ram' to 'flash,' for example, the build system will force a rebuild rather than incorrectly link modules to a different address. 3. New targets: The old 'ram,' 'flash,' and 'jtag' targets have been replaced with the environment variable MAPLE_TARGET, which controls the link address. Users can either export it to their environment, or pass MAPLE_TARGET on the command-line. Once this is set, sketches can be compiled with 'make sketch,' or simply 'make.' Note: the default is MAPLE_TARGET='flash.' The target 'install' now automagically uploads the sketch to the board using the appropriate method. The 'run' target has been renamed to 'debug.' It starts an openocd gdb server. 4. Odds and ends: -Verbose and 'quiet' modes. Set V=1 for verbose compilation, the default is quiet. -Object file sizes and disassembly information is generated and placed in build/$(BOARD).sizes and build/$(BOARD).disas, respectively. -Parallel make with -j should speed things up if you have multiple cores.
* added getDTR and getRTS to usb.h, subtly modded how sendBytes checks for ↵AJM2010-06-112-6/+26
| | | | | | connection flip flopped back and forth on how much work should be done here. For now its like 5 lines of changes
* cosmetic change on usbsendbytesAJM2010-06-101-1/+1
| | | | minor
* new reset scheme now worksAJM2010-06-091-1/+1
| | | | fixed some blocking issue on serial tx, improperly checking for connection.
* added a somewhat broken version of the reset magic number scheme.AJM2010-06-094-76/+89
| | | | current version gets stuck in the isr somewhere. not sure why or where. must debug.
* first approach at modding the reset schemeAJM2010-06-093-31/+47
| | | | now we reset from recv bytes. After receiving the DTR/RTS toggle the next byte in from usb is parsed as the program_delay. For now, this just delays the reset for a period to close the serial port gracefully. Later, this delay will perhaps inform the bootloader of how long to live for...
* removed the callback for send functional descriptor.AJM2010-06-093-5/+0
| | | | It wasnt used, and was causing a compiler warning to get thrown. It isnt needed, not sure why I added it in the first place
* another fix for USB unheard print issuebnewbold2010-06-071-18/+9
|
* NEEDS REVIEW: fix for first usb write bugbnewbold2010-06-041-3/+5
| | | | | aj wrote this and had comments saying fix this wouldn't work, but it seems to...
* Preliminary wirish USBSerial implementation.Perry Hung2010-06-043-26/+31
| | | | | | -updated examples -removed HardwareUSB -cleaned up a handful of includes
* libcs3 refactor mergePerry Hung2010-05-281-3/+4
| | | | | | | | | | | | | | | | Removed dependency on libcs3.a because Codesourcery does not provide the source for it. We now link against a modified libcs3-lanchon-stm32.a built from parts in public domain from Lanchon, and a start_c.c from Codesourcery that is licensed under a permissive license. Also removed all of the extra linker cruft from the stm32conf directory. The linker files now live in support/ld The openocd scripts now live in support/openocd The udev rules and copy-to-ide scripts now live in support/scripts The source lives in support/ld/libcs3-lanchon-stm32.tar.gz
* [for AJ] added new HardwareUsb implementation. hack.bnewbold2010-05-271-2/+2
|
* changed the id for the serial port to 1eaf:0004, to match up with the ↵AJM2010-05-221-1/+1
| | | | windows driver
* minor mods to adjust the driver number and the vendor product id's (serial ↵AJM2010-05-211-2/+2
| | | | | | port now 1eaf:0004) and fixed a bug in reset.py, added a no-delay usb serial loop to main.cpp as an example. has no problem at 115200 in minicom!
* modified the makefile to build the usb related files/removed all uintx_t to ↵AJM2010-05-203-66/+63
| | | | uintx
* moved the usb directory to its proper home in ./libmapleAJM2010-05-2024-61/+4993
| | | | also, removed some old usb file, bootVect.h, which setup the static table for the runtime usb lib that no longer exists and was provided by the bootloader rev 1
* removed usb files from the libmaple into the application level core lib.AJM2010-05-204-750/+0
|
* added the skeleton dir for the usb application lib, since were still ↵AJM2010-05-201-0/+37
| | | | | | | dependent on st for low level access, the entire usb stack lives in the core application level (not in libmaple). the next project should be to include some low level usb stack in the libmaple
* trivial: new cscope rule and warning fixPerry Hung2010-04-301-1/+1
| | | | Fixed nvic.c warning
* Various SPI changes.Perry Hung2010-04-281-4/+7
| | | | | -Read DR after each master send, return the response. -Added a send function to allow you to pass buffers to the SPI peripheral instead of goin a byte at a time.
* Added a spi send block functionPerry Hung2010-04-272-3/+28
|
* Fixed two compiler warnings in spiPerry Hung2010-04-251-2/+2
|
* Refactoring:Perry Hung2010-04-252-1/+20
| | | | | The 'core' directory has now been renamed to 'wirish.' Wirish is our version of the Arduino Wiring language.
* Added assert fails to exc.cPerry Hung2010-04-251-8/+26
|
* Initial SPI implementation.Perry Hung2010-04-244-0/+253
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Squashed commit of the following: commit b41eb846ca60559cff242d0c550699eb8f309909 Author: Perry Hung <iperry@alum.mit.edu> Date: Sat Apr 24 04:09:16 2010 -0400 Turn the other peripherals back on. Not extensively tested for interactions between peripherals. commit bf4fc3bf6bc02342ae508b52fb4515d361d626f6 Author: Perry Hung <iperry@alum.mit.edu> Date: Sat Apr 24 03:16:35 2010 -0400 Upper level libmaple interface Added a C++ HardwareSPI class to access the SPI interface. See HardwareSPI.cpp and HardwareSPI.h for documentation. commit 17e0e5edde60e9bf2aa4d52173ad7d47d6d6da75 Author: Perry Hung <iperry@alum.mit.edu> Date: Thu Apr 22 02:36:01 2010 -0400 Initial SPI Polling implementation. Initial commit of a polling-based SPI driver. The driver is limited to synchronous, blocking sends and a 8-bit data frame format. Tested on SPI1 and SPI2. Other peripherals are temporarily disabled, and the rx function is untested until I find a good peripheral to test everything on.
* Clear ODR for input pull-down mode.Perry Hung2010-04-221-4/+3
|
* PinMode pullup bug fix, wiring pin mode bug fixPerry Hung2010-04-222-37/+55
|
* after change of pin numbering scheme, NR_ANALOG_PINS doesn't make sense any morebnewbold2010-04-211-1/+1
|
* Aded two timer function to set max reload value and prescalerPerry Hung2010-04-192-0/+46
|
* Added libmaple gpio_read_bitPerry Hung2010-04-191-0/+4
|
* Cleanup: trivial rename for exception handlers, removed unnecessaryPerry Hung2010-04-013-408/+45
| | | | stm32f10x_conf.h
* Licensing: Relicensed libmaple under the MIT License.Perry Hung2010-03-3127-230/+524
| | | | | | 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 inttypes.hPerry Hung2010-03-3117-118/+114
| | | | | Removed inttypes.h from libmaple. Will have another pass through to use the standard libmaple types, but will come in another commit.
* Removed remaining STM32 types and #defines.Perry Hung2010-03-303-75/+71
| | | | | Updated usb subsystem to use libmaple types, removed STM32 peripheral library from the Makefile