| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
-Fix clock calculations for fast-mode support
-Add I2C_REMAP option to remap i2c1 (untested)
-Add I2C_BUS_RESET option to reset bus on initialization
-Add optional timeout parameter
-Doxygen comments
-Various cleanup
10-bit slave addressing is untested until I have a device that speaks
such.
|
|
|
|
|
|
|
| |
Committing the results of running the following on the libmaple root
directory:
$ fromdos `grep --exclude-dir='[.]git' -Ilsr $'\r$' .`
|
|
|
|
|
| |
This brings util.h down to some bit manipulation macros, failure
routines, and asserts.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Initial post-review changes based on thread here:
https://github.com/leaflabs/libmaple/commit/77f707d7b87fce284945fc9fe21c824c18c4c93d#comments
|
| |
|
| |
|
|
|
|
|
|
|
| |
Got rid of native_sram.h (and native_sram.cpp), and pushed their
functionality into maple_native.cpp. Fixed includes in maple_native.h.
Fixed includes in fsmc.h.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Still a polling driver, but the libmaple proper interface exposes
enough that users enable the various interrupts and define their own
IRQ handlers if they feel like it.
Wirish HardwareSPI interface was largely redone; it's more like the
Arduino implementation now, although there are some differences when I
didn't like their API. The old methods are still there, but are
deprecated and slated for deletion in 0.1.0.
New board-specific values: BOARD_NR_SPI, BOARD_SPIx_NSS_PIN,
BOARD_SPIx_MOSI_PIN, BOARD_SPIx_MISO_PIN, and BOARD_SPIx_SCK_PIN, for
x from 1 to BOARD_NR_SPI.
Documentation was updated appropriately.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- gpio.h: afio_mapr_swj_config() renamed afio_cfg_debug_ports()
- [new] wirish_debug.h: disableDebugPorts(), enableDebugPorts()
- Maple, Maple Native, and Maple RET6 PIN_MAPs are now larger by 5,
have mappings for the extra JTAG/SW pins.
Documentation was updated appropriately.
|
|
|
|
|
| |
Other USART transmission functions are still blocking, but are now
implemented in terms of usart_tx().
|
| |
|
|
|
|
| |
Added i2c_init() for consistency with rest of libmaple.
|
| |
|
|
|
|
|
| |
License header made 80-column clean. usart_irq() comment for the
USART_SAFE_INSERT case made easier to understand.
|
| |
|
|
|
|
| |
Whitespace and column width changes only.
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
* 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.)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
Older refactor commit e4807a5010f59ab863ad2c96dc14caf65bf1ae60 used
bit-banding in rcc_clk_init() to set RCC_CR_HSEON, which doesn't work
for some reason. Not going to try to figure out why.
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
examples/test-fsmc.cpp
libmaple/rules.mk
wirish/boards.h
|
| | |
|