Maple IDE 0.0.12 is now available for your pleasure.
- Support for Maple Native Beta. The Native's SRAM chip is turned on and accessible by default.
- Dynamic memory allocation working on all boards.
- FreeRTOS support.
- HardwareSPI: pin accessor functions nssPin(), mosiPin(), misoPin(), and sckPin() added.
- Vastly improved documentation for the low-level libmaple library.
- HardwareTimer::setPeriod() fixed (broken due to a typo in the last release).
- Various fixes to low-level timer support in timer.c.
- RAM builds working again on all boards. (RAM builds were broken on the RET6 boards, see the relevant forum thread here.
- stm32.h expanded (and its declarations are more respected elsewhere in the codebase). This makes libmaple more portable to more ST chips.
- Optimized EXTI and timer IRQ handlers.
- Git tags have gone back to "vX.Y.Z" naming conventions, so "v0.0.12-maintenance" isntead of "0.0.12-maintenance". This seems to be more common practice, and it's what we used to do. The old branches and tags will still be around, but we'll keep using the new conventions from now on.
Command line toolchain
- Library folders are added to the include path, so they can be included directly.
- Documentation sources were removed and broken out into their own repository.
- New examples added, others improved.
- usart.h rx_buf field in struct usart_dev is deprecated.
The pointer is accessible via the rb field, so rx_buf is redundant. Having it at all implies that sizeof(struct usart_dev) is not a compile-time constant, which is undesirable. It also makes it impossible to dynamically allocate or reassign the buffer used by the rb field. This field will be removed in the next release.
- stm32.h PCLK1, PCLK2, and NR_INTERRUPTS are deprecated. Use STM32_PCLK1, STM32_PCLK2, and STM32_NR_INTERRUPTS, respectively, instead.
Give it a test drive and let us know how it goes!