All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
4.0.0 (2025-01-16)
- AdcDmaMultiChannelStm implements new AdcMultiChannel interface (#462) (bdd2507)
- Add ADC and timer for mcu stm32wbaxx (#328) (d413549)
- Add ADC triggered by timer using DMA (#238) (31adf4e)
- Add BLE transport layer for stm32wbaxx (#356) (f2803c8)
- Add calibration for adc when not single differential (#444) (66d25bc)
- Add channel config to stm internal temperature sensor (#291) (401024a)
- Add clangd configuration file (#351) (e86f662)
- Add Cucumber integration tests (#221) (75ece18)
- Add DMA circular mode for mcu stm32wbaxx (#327) (3d46e93)
- Add hw semaphore sync for rng on stm32wb (#286) (3e4a41d)
- Add Immediate and Dispatched interrupt handling to DmaStm's StreamInterruptHandler via tag dispatching (#336) (736df80)
- Add internal flash for mcu stm32wba (#348) (8629391)
- Add Multi Channel ADC (#394) (19f2f6b)
- Add new family STM32WBA to hal_st (#314) (112eedb)
- Add new STM32H5 family to hal-st (#365) (ad0cb38)
- Add SPI master for mcu stm32wba (#343) (8115ac1)
- Add ST files for mcu stm32wba52cx (#315) (f545781)
- Add support for ADC channel 19 (#389) (114b832)
- Add support for STM32G474VxT (#372) (fe9ee42)
- Add support for STM32G4xx DigitalToAnalog peripheral (#375) (4f409d0)
- Add uart pin swap configuration option when supported (#296) (0826e3b)
- Allow disable NonMaskableInt_IRQn interrupt (#457) (1529067)
- Allow more access to SystemTickTimerService (#393) (ecfb4ce)
- DigitalToAnalogPinImplStm improvements (#471) (cc2855d)
- Enable internal flash support for STM32H5 series (#437) (97f3005)
- Extend GattClient interface with enable/disable indication/notification (#447) (62be185)
- Extend gpio interrupt interface to enable immediate interrupt handlers (#416) (d95f21a)
- Extend I2C for stm32wba family (#324) (6030210)
- Improve SPI slave support for STM32H5 series (#390) (d17039e)
- Include UartStmDuplexDma in STM32H5 series build (#400) (0e9533b)
- Lpuart with dma (#340) (6577c8e)
- Make hal::Port's contents depend on actual available ports (#350) (da30d1d)
- Move starting the DAC channel to the constructor to avoid a 1ms delay loop every time the Dac value is set (#387) (8211b8c)
- Prevent the CMSIS drivers from providing __cmsis_start function (#383) (5f578c5)
- Refactor ble middleware (#346) (6703195)
- Remove HAL_GetTick friendship from SystemTickTimerService (#359) (10e1bd1)
- Removed incorrect using directives for Circular DmaChannels (#337) (c98ba11)
- Stm32 wpan for stm32wbaxx (#321) (da44299)
- stm32g4xx: Add irq lookup for AnalogToDigitalPinStm based on peripheral number (#398) (7569d4a)
- Support for internal high cycle area flash (#449) (2705f02)
- Update to latest main of amp-cucumber-cpp-runner (#478) (a32ea44)
- Add firmwarebranch info to wireless version info (#426) (0334001)
- Add missing cmake dependency (#459) (f11d3bf)
- Ble central requires a timeout when tries to start a connection (#420) (bb209a3)
- Circular mode for wba family (#384) (617ab7b)
- Cleanup uartstm destructors (#441) (5042b8d)
- Command sequence for flash spi with dma (#370) (edbd1e3)
- Don't disable dma interrupts when stopping a transfer (#335) (bca8097)
- Dont enable UART receiver before actually calling ReceiveData (#446) (1d0b6a2)
- GAP connection procedure (#445) (e11c17e)
- Gpio clock not enabled (#382) (e99f4ab)
- Handling GPDMA multi byte transfer (#349) (50010c6)
- LpUart peripheral table was not used correctly with UartStmDma (#430) (e65c694)
- Prescaler for ADC (#347) (0d083aa)
- SPI struct sequence data addition (#352) (a1c28bb)
- Sync uart and flash for wba (#453) (feb8b53)
- Use mcu database to filter non-existing pin (#305) (c704496)
- When invoking ReceiveData(nullptr), UartStmDuplexDma now stops reception (#344) (df738e9)
3.0.0 (2024-02-29)
- update DmaStm to support new dma peripherals in G0, G4 and WB devices (#169)
- Add configuration struct to init (#262) (59d9331)
- Update DmaStm to support new dma peripherals in G0, G4 and WB devices (#169) (d62e03e)
- Update WB55 GAP constructor (0c8e2e4)
- Add purl specifier for st middleware (#228) (f3cc25c)
- Report number of bonds in GapSt (#263) (85dceea)
- Zero initialize SynchronousSpiMasterStm::spiHandle (#245) (581db4e)
2.1.0 (2023-11-09)
- Add data operations to GattClient (#132) (a1eaaf5)
- Add GATT Client (discovery attributes) (#131) (121c351)
- Add integration tests (#208) (07086ec)
- Add services/st_util/StUartProgammer (#185) (8faceb4)
- Add stm32g0 hal drivers (#118) (35dff48)
- Ble central pairing bonding feature (#163) (530b3bc)
- Configurable clock phase and polarity for sync spi (#200) (cbf6d68)
- Gap and gatt refactored/improved due to embedded-infra changes (#136) (e6c276b)
- Improvements according to application note AN5289 (#135) (bd95621)
- Low power event dispatcher (#156) (a0d1855)
- Merge upstream changes (#126) (1546f51)
- Refactor and expand StUartProgrammer (#202) (5c8c213)
- Removed additional EXCLUDE_FROM_ALL property in favour of using emil_build_for() (8e3766d)
- Update st ble stack (#165) (a6b8827)
- Update the st ble stack to version 1.17 (a6b8827)
- Adc on stm32wb (#162) (ee16f2a)
- Add ble middleware binaries (#130) (201687e)
- Add confirmation for gatt indication (#159) (02a98f0)
- Communication over ethernet smi (#129) (9935da5)
- Do not assert if GattCompleteEvent fails (#167) (063daa4)
- Duplicate and misdirected function calls due to listening for events on multiple levels in the inheritance tree of classes using GapSt. (6f8b7f7)
- Event handling of GapSt and its derived classes. (#143) (6f8b7f7)
- Hal_st/stm32fxxx/EthernetSmiStm: ETH_MACMIIAR_CR_Msk is the mask of MACMII->AR, not the inverse (9935da5)
- Incorrect connection handle in state transitions (#147) (2f99452)
- Set privacy mode for bonded devices (#146) (88d30f2)
- Standalone stm32 build and debug (#193) (71bf177)
- Systick conflict with invalidIrq (#161) (8ee04e1)
2.0.0 (2023-04-14)
- update ST hal drivers (#102)
1.1.0 (2023-04-07)
- Add parity to UartStmDma (#56) (e30d8d9)
- Add release-please workflow (#65) (b39a848)
- Add stm32f7discoveryFmcPins to SdRamStm (#78) (72df16b)
- Apply clang-format (#58) (714d922)
- Deregister-interrupt-handler-on-move-assign (#80) (095449d)
- Merge upstream changes (#79) (8ec3afd)
- osal: Add example (#82) (b1539ca)
- Avoid using generator expressions for linking to targets (#92) (441abe5)
- Correct dependencies of synchronous_stm32fxxx and ble_middleware (#85) (2ffaf23)
- hal_st/stm32fxxx/UartStm & UartDma: Registers for stm32f407 (#59) (98ceaf3)
- HALST_EXCLUDE_FROM_ALL for instantiations_lwip (#94) (f80f6ee)
- Link stm32f0xx to correct std_periph (#93) (31cdcbb)
- Set correct mcpu mfpu options for different target cpus (#75) (a799834)
- UartStm: Use correct registers & fix overrun assert; enable FIFO (#68) (60efc65)
- Add examples; added blink example and build the examples as part of the continuous integration build.
- Enabled warnings as errors by using CMAKE_COMPILE_WARNING_AS_ERROR; requires CMake 3.24.
- Initial release of amp-hal-st on GitHub.