| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| | |
License header made 80-column clean. usart_irq() comment for the
USART_SAFE_INSERT case made easier to understand.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Folded information in the README about the library Makefile target
into docs/source/unix-toolchain.rst. Added a pointer to the JTAG
HOWTO page on the wiki. Made some other miscellaneous cleanups,
updates and improvements.
|
| | |
|
| |
| |
| |
| | |
Whitespace and column width changes only.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
This uses templates, which I don't like, but it's not going into the
core library, so I'm okay with it for now.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The users really hated the code size requirements for an snprintf()-based
Print implementation, but I really hated how bad the old implementation was.
Revised version fixes bugs related to printing 64-bit values and has some
improved behavior when it comes to printing doubles. Now, instead of
happily printing garbage values when large doubles are printed, we try
printing "<large double>" or "-<large double>" (depending on sign) when
the argument is too big for the old strategy to accommodate.
|
| |
| |
| |
| | |
This reverts commit 8bd3cebbee62e2dd7e961b149cc8bb0e980eaf88.
|
| |
| |
| |
| | |
Fixes for github .rst display.
|
| | |
|
| |
| |
| |
| | |
See https://github.com/leaflabs/libmaple/commit/c57d760676b97a0fc9cb51db99c8400bae2cb3b7#commitcomment-338822
|
| |
| |
| |
| | |
Whitespace corrections only.
|
| |
| |
| |
| | |
Signed-off-by: Anton Eltchaninov <anton.eltchaninov@gmail.com>
|
| | |
|
| |
| |
| |
| |
| | |
nvic_irq_enable() and nvic_irq_disable() previously didn't protect
against negative arguments.
|
| |
| |
| |
| | |
Fixed various Doxygen comment errors.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Simple USART receiver to SRAM buffer demo partially working.
Interrupting when buffer is full fails mysteriously. GDB thinks
we ended up in an STM32 reserved exception.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
USART refactor commit f6f9a1122706ed336c52c984d76219dee0594487 only
worked for USART1.
|
| | |
|
| |
| |
| |
| | |
It's mostly ready for inclusion in the main body of documentation.
|
| |
| |
| |
| | |
Added some content, converted document to .rst.
|
| |
| |
| |
| |
| |
| |
| | |
Simplified and clarified "flashing your own bootloader" documentation.
Also made Windows 7 IDE workaround link directly to the forum post
with the workaround, instead of the start of the thread.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
* usart_enable(): Doxygen comment bugfix.
* usart_disable(): previously, usart_disable() would nuke the
entire CR1 register just to clear the UE bit.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
For the changelog:
* util.h is free of __read(), __write(), etc. macros.
* systick_resume() was renamed systick_enable().
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Adding basic ring_buffer test (cherry-pick from master).
Changing rb_safe_insert()'s type to match that of rb_push_insert().
(Makes it easier to pass around insertion functions.)
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Various board-specific #defines and arrays of pins added.
For the changelog (some of this information predates this commit):
* wirish/boards.h now declares the following arrays of pin numbers:
* boardPWMPins - PWM-capable pins
* boardADCPins - ADC-capable pins
* boardUsedPins - pins already in use, e.g. BOARD_BUTTON_PIN
It also declares a bool boardUsesPin(uint8 pin) function for
convenient testing of whether a pin is in use.
* wirish/boards/*.h now define:
* BOARD_USART1_TX_PIN
* BOARD_USART1_RX_PIN
* BOARD_USART2_TX_PIN
* BOARD_USART2_RX_PIN
* BOARD_USART3_TX_PIN
* BOARD_USART3_RX_PIN
* BOARD_NR_GPIO_PINS (renamed from NR_GPIO_PINS)
* BOARD_NR_USARTS (renamed from NR_USARTS)
* BOARD_NR_PWM_PINS
* BOARD_NR_ADC_PINS
* BOARD_NR_USED_PINS
* wirish/boards/maple_native.h now defines:
* BOARD_UART4_TX_PIN
* BOARD_UART4_RX_PIN
* BOARD_UART5_TX_PIN
* BOARD_UART5_RX_PIN
(Unfortunately, wirish/boards/maple_RET6.h cannot, since at least
one of the UART4/UART5 pins are used already; this will require layout
changes for a wide-release Maple form factor RET6 board).
* wirish/boards/*.cpp all include the corresponding array definitions.
They all live in flash by default, thanks to the new __FLASH__ macro
in wirish/wirish_types.h, which is a synonym for the existing __attr_flash
#define in libmaple/libmaple_types.h.
The documentation was updated to include this information. It also
gained various FIXME/TODO comments related to its generalization
across boards.
The quality assurance-related examples (examples/qa-slave-shield.cpp
and examples/test-session.cpp) now make heavy use of board-specific
values to ensure portability.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added an adc_dev to struct stm32_pin_info. This was necessary to add
support for the channels on the Native which are only connected to
ADC3, but it does add a bunch of NULLs to the PIN_MAPs.
I don't think any other peripherals need representation on a per-pin
basis. Each peripheral library will be responsible for keeping track
of related GPIO ports and bits, and we can throw #defines in to
boards/*.h for other things (e.g. BOARD_SPI1_MISO_PIN).
Fleshed out the ADC refactor and brought it more in keeping with the
new design as it evolves.
A couple of other tweaks. Notably: waitForButtonPress() now takes a
default argument meaning "wait forever".
Removed Maple-specific documentation from core functions in io.h; this
information will need to go into the individual board docs files.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
/wirish/boards/ contains xxx.h and xxx.cpp (for xxx=maple,
maple_native, maple_mini, maple_RET6). The headers contain the
board-specific #defines that used to live in boards.h (except
BOARD_INIT, which was removed). The CPP files contain the PIN_MAP
definitions that used to live in boards.cpp, and a proper boardInit()
function to replace the old BOARD_INIT macro. This will make it
easier to add new boards in the future.
struct PinMapping was renamed struct stm32_pin_info, and was moved
into a new wirish_types.h. Its external interrupt field was moved
into struct gpio_dev, which saves memory by storing an afio_exti_port
per port, rather than one per pin. Also rearranged the stm32_pin_info
fields to improve packing. Maple's PIN_MAP is now down to below 500
bytes.
|