| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's been tricky for users to start their own projects while still
using our build system. The current recommended practice to get this
done involves modifying the top-level Makefile to add their module
into LIBMAPLE_MODULES, and include their own rules.mk. Editing the
repository Makefile is stupid and shouldn't be a necessary step.
Instead of that, allow the environment to provide the initial value
for LIBMAPLE_MODULES. This allows users to specify it on the command
line.
Also add WIRISH_PATH to the initial set of "useful" paths.
|
|
|
|
|
|
|
|
|
| |
Comment the Makefile more verbosely. It's been causing confusion on
the forums.
Add target-config.mk, this contains build configuration depending on
the BOARD and MEMORY_TARGET variables. Its contents were cluttering
up the Makefile and making it harder to read.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Remove doxygen from clean; no sense killing the docs just because you
want to change boards.
Add new "mrproper" target to nuke all autogenerated files; currently,
this is just the build/ and doxygen/ directories.
Make a note of BOARD env. variable and doxygen, mrproper targets from
help target.
|
| |
|
|
|
|
| |
example blinky.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The documentation covers topics not specifically relevant to libmaple,
so it doesn't make sense for it to be part of the libmaple source
distribution.
Delete the docs/ tree, and prepare libmaple for use with the new
leaflabs-docs repo, which will contain the docs from now on.
* README: update to reflect this change
* support/doxygen/Doxyfile: This is the old docs/Doxyfile
* Makefile: Add a doxygen target
* wirish/comm/HardwareSerial.h: fix reference to docs/. The comment
informing maintainers that the HardwareSerial interface is
documented by hand refers to the docs/ tree, which no longer exists.
Update it to refer to the separate leaflabs-docs repository.
* support/scripts/copy-to-ide: No longer build the documentation
|
|
|
|
| |
directory
|
|
|
|
|
| |
Small script to detect the openocd version and choose the appropriate
debug/flash script for use with JTAG debugging.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|