|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
/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.
|