| 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.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
This provides DMA, IWDG, PWR, and BKP support, and fixes several bugs.
Conflicts:
libmaple/adc.h
libmaple/libmaple.h
libmaple/ring_buffer.h
|
| | |
|
| |
| |
| |
| | |
other externs.
|
| |\ |
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
libmaple/usb/usb.c
notes/coding_standard.txt
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Chose debug-serialusb version in cases of conflict.
Conflicts:
libmaple/usb/usb_callbacks.c
|
| | | | |
| | | | |
| | | | |
| | | | | |
oops
|
| | | | |
| | | | |
| | | | |
| | | | | |
it should have been blocking before but wasnt. see bug #49
|
| | | | |
| | | | |
| | | | |
| | | | | |
notes/native-pin-definitions.txt (copied from ST datasheet).
|
| |/ / /
|/| | | |
|
| | | | |
|
|\| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Some additional HardwareTimer methods introduced to make this
convenient; ancillary libmaple/timers.h changes resulted.
|
| | | | |
|
| | | | |
|
| | | | |
|
|/ / / |
|
| | | |
|
| | |
| | |
| | |
| | | |
(e.g. B10110011)
|
| | |
| | |
| | |
| | | |
still need usb descriptors to improve, and also nothing else is tested.
|
|\ \ \ |
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|/ / |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Extend the wirish attachInterrupt() and detachInterrupt() interface to
work with all GPIOs.
Note: The STM32 external interrupt lines are multiplexed between GPIO
ports. While any GPIO can be used as an external interrupt, not all of
them can be used at the same time. Each EXTI[n] line selects between
PA[n], PB[n], PC[n], etc. For example, line EXTI5 can be used with STM32
pins PA5, PB5, or PC5, but not all at the same time. See table:
EXTI Line Maple Pin STM32 Pin
0 D2 PA0
0 D27 PB0
0 D15 PC0
1 D3 PA1
1 D28 PB1
1 D16 PC1
2 D1 PA2
2 D17 PC2
2 D25 PD2
3 D0 PA3
3 D18 PC3
4 D10 PA4
4 D19 PC4
5 D13 PA5
5 D4 PB5
5 D20 PC5
6 D12 PA6
6 D5 PB6
6 D35 PC6
7 D11 PA7
7 D9 PB7
7 D36 PC7
8 D6 PA8
8 D14 PB8
8 D37 PC8
9 D7 PA9
9 D24 PB9
9 D38 PC9 (BUT)
10 D8 PA10
10 D29 PB10
10 D26 PC10
11 D30 PB11
12 D31 PB12
13 D32 PB13
13 D21 PC13
14 D33 PB14
14 D22 PC14
15 D34 PB15
15 D23 PC15
|
|/
|
|
|
|
| |
Allow for alternate function open drain output mode to be accessed
through the wirish interface. This allows for open drain to be used on
PWM pins.
|
| |
|
|
|
|
|
|
| |
ripped out marti's SystemTick for the sake of simplicity and added a
systick_resume function to libmaple. new example program demonstrates
the functionality, also demonstrates micros()/USB bug
|
|
|
|
| |
also removed an old ASSERT()
|
|
|
|
| |
Thanks CarlO!
|
| |
|
|\ |
|
| |
| |
| |
| | |
Still not working but fixed a lot of merge errors
|
| |\
| | |
| | |
| | | |
This compiles for both maple and maple_native but is untested.
|