| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
DAC header and source slightly cleaned up. Test on Maple Native prototype. Add
flags parameter to allow selective enabling of channels.
|
| |
|
|
|
|
|
|
| |
ADC routines rewritten, support for ADC2, 3, added.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old Print class couldn't print uint64 values, and featured
hand-hacked functionality better handled by snprintf(). Redid it
using snprintf(), using "[u]int[8,16,32,64]" types for more clarity,
and eliminated some private methods in favor of auxiliary functions in
Print.cpp.
Breaking compatibility with original implementation in three ways:
- Print::print(double) is now accurate to 6 digits, rather
than 2; this is consistent with the default behavior of the %f
format specifier, and if you're using floating point, it's slow
enough that you probably want the increased accuracy.
- The only bases you can print a number to are 2, 8, 10, and
16. 8, 10, and 16 already have format specifiers, and 2 is an
important special case; others complicate matters unnecessarily.
- Printing numbers in bases other than 10 treats them as
unsigned quantities (i.e., won't print '-' characters). This is
more consistent with C++'s behavior for hexadecimal and octal
literals (e.g., 0xFFFFFFFF has type uint32).
Updated HardwareSerial and USBSerial class documentation to reflect
the new behavior.
|
|
|
|
|
|
|
|
| |
Incorporating suggestions from these forum threads to make
LiquidCrystal go faster:
http://forums.leaflabs.com/topic.php?id=640&page=2
http://forums.leaflabs.com/topic.php?id=512
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
This provides DMA, IWDG, PWR, and BKP support, and fixes several bugs.
Conflicts:
libmaple/adc.h
libmaple/libmaple.h
libmaple/ring_buffer.h
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Some bugfixes in the external interrupt code were found along the way.
Defines for nonexistent registers removed from nvic interface.
|
| |
| |
| |
| | |
renamed SysTick_Handler back to SysTickHandler since all of our linker magic/lanchon-stm32 depends on that name. added backup register support in order to test independent watchdog support; it seems to work. next major test target is DMA support.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Added support for non-power-of-two ring buffers.
|
| |
| |
| |
| | |
capacity. Sorted struct members by size to improve the packing.
|
| |
| |
| |
| | |
threads/interrupts. Add comments.
|
| | |
|
| | |
|
| |
| |
| |
| | |
other externs.
|
| |\ |
|
| | | |
|
| | |
| | |
| | |
| | | |
custom Makefiles.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
treated as a timeout.
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
libmaple/usb/usb.c
notes/coding_standard.txt
|
| | | | |
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Chose debug-serialusb version in cases of conflict.
Conflicts:
libmaple/usb/usb_callbacks.c
|
| | | | |
| | | | |
| | | | |
| | | | | |
this new function will only return AFTER the usb interrupt has been serviced and the byte is sent. Bytes should NOT fall on the floor ever with this function. (but they still do? pyserials problem?)
|
| | | | |
| | | | |
| | | | |
| | | | | |
no longer use a ring buffer. No longer double buffer a local rx buffer and the packet memory. Instead, we read out of packet memory and block it for all reads. This is going to be slower. but it tests OK (unlike the old one...).
|