| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
Some additional HardwareTimer methods introduced to make this
convenient; ancillary libmaple/timers.h changes resulted.
|
|
|
|
| |
still need usb descriptors to improve, and also nothing else is tested.
|
|
|
|
|
|
|
|
| |
Redirect thread-mode execution to a fail routine which throbs the LED to
indicate a hard fault. Because the fail routine runs in thread mode
with interrupts on, USB auto-reset should now work. Test by executing
some bogus instruction (e.g. *(volatile int*)0xf34fdaa = 0;) and check
that the auto-reset continues to work.
|
| |
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| | |
Still not working but fixed a lot of merge errors
|
| |
| |
| |
| | |
Sort of ugly changes. Compiles but untested.
|
| | |
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
|
|
| |
Updated Makefile to read the directory where libmaple is from the
environment variable LIBMAPLE_PATH, if it exists, defaulting to the
current working directory otherwise.
Updated reset.py to look around in /dev for the Maple serial port,
prompting the user if there appear to be multiple possibilities and
complaining if there aren't any.
|
|
|
|
|
| |
The makefile 'install' target should upload to whatever the last build
target was, regardless of the environment's value of MAPLE_TARGET.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
| |
-updated examples
-removed HardwareUSB
-cleaned up a handful of includes
|
|
|
|
| |
For kicks.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
|
|
|
|
|
| |
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!
|
|
|
|
|
|
| |
wirish init
this involved some some changes to copy-to-ide, WProgram.h, and the makefile. Separated the reset.py from the wait.py so that the program closes the serial port correctly.
|
|
|
|
|
| |
removed HardwareUsb usb in example main, as that class hasnt been defined yet
also modded the makefile to actually compile main.cpp
|
|
|
|
| |
for some odd reason the main file in the makefile was set to main.c not main.cpp corrected this as there is no main.c anywhere in this repo. Also removed references to HardwareUsb.h, since those files dont exist yet (the originals were depricated and removed)
|
|
|
|
| |
uintx
|
|
|
|
| |
of the serial port
|
|
|
|
| |
virtual com port, got the descriptors in functional although not pretty order that can be fixed using the attribute packing
|
| |
|
|
|
|
| |
Fixed nvic.c warning
|
|
|
|
| |
out of main to cxxabi-compat.cpp.
|
|
|
|
|
| |
The 'core' directory has now been renamed to 'wirish.' Wirish is our
version of the Arduino Wiring language.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
stm32f10x_conf.h
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
Makefile
core/pwm.c
core/wiring.c
libmaple/usb.h
src/wiring/pwm.c
stm32lib/inc/cortexm3_macro.h
stm32lib/inc/stm32f10x_adc.h
stm32lib/inc/stm32f10x_bkp.h
stm32lib/inc/stm32f10x_can.h
stm32lib/inc/stm32f10x_crc.h
stm32lib/inc/stm32f10x_dac.h
stm32lib/inc/stm32f10x_dbgmcu.h
stm32lib/inc/stm32f10x_dma.h
stm32lib/inc/stm32f10x_exti.h
stm32lib/inc/stm32f10x_flash.h
stm32lib/inc/stm32f10x_fsmc.h
stm32lib/inc/stm32f10x_gpio.h
stm32lib/inc/stm32f10x_i2c.h
stm32lib/inc/stm32f10x_iwdg.h
stm32lib/inc/stm32f10x_lib.h
stm32lib/inc/stm32f10x_map.h
stm32lib/inc/stm32f10x_nvic.h
stm32lib/inc/stm32f10x_pwr.h
stm32lib/inc/stm32f10x_rcc.h
stm32lib/inc/stm32f10x_rtc.h
stm32lib/inc/stm32f10x_sdio.h
stm32lib/inc/stm32f10x_spi.h
stm32lib/inc/stm32f10x_systick.h
stm32lib/inc/stm32f10x_tim.h
stm32lib/inc/stm32f10x_type.h
stm32lib/inc/stm32f10x_usart.h
stm32lib/inc/stm32f10x_wwdg.h
stm32lib/src/stm32f10x_adc.c
stm32lib/src/stm32f10x_bkp.c
stm32lib/src/stm32f10x_can.c
stm32lib/src/stm32f10x_crc.c
stm32lib/src/stm32f10x_dac.c
stm32lib/src/stm32f10x_dbgmcu.c
stm32lib/src/stm32f10x_dma.c
stm32lib/src/stm32f10x_exti.c
stm32lib/src/stm32f10x_flash.c
stm32lib/src/stm32f10x_fsmc.c
stm32lib/src/stm32f10x_gpio.c
stm32lib/src/stm32f10x_i2c.c
stm32lib/src/stm32f10x_iwdg.c
stm32lib/src/stm32f10x_lib.c
stm32lib/src/stm32f10x_nvic.c
stm32lib/src/stm32f10x_pwr.c
stm32lib/src/stm32f10x_rcc.c
stm32lib/src/stm32f10x_rtc.c
stm32lib/src/stm32f10x_sdio.c
stm32lib/src/stm32f10x_spi.c
stm32lib/src/stm32f10x_systick.c
stm32lib/src/stm32f10x_tim.c
stm32lib/src/stm32f10x_usart.c
stm32lib/src/stm32f10x_wwdg.c
|
| |
| |
| |
| |
| | |
copy-to-ide and Makefile updated to conform; .gitignore added;
LICENSE added
|
| |
| |
| |
| |
| | |
Updated usb subsystem to use libmaple types, removed STM32 peripheral
library from the Makefile
|