EVK BSP Changelog¶
v0.7.0 - 2022-11-30¶
Added
Add ST-Link UART enter/exit critical functions.
Add ST-Link UART receive DMA stop function.
Add basic milliseconds timer (TIM4) with its interrupt handler, init, start & stop functions.
Add
PRIO_APP_TIMER_IRQ_HIGH
constant with priority value 1Add
PRIO_BASIC_MS_TIMER_IRQ
constant with priority value 15Add new USB initialization function (
init_usb_peripheral()
) inevk_init()
.
Changed
Change
PRIO_APP_TIMER_IRQ
from 1 to 14Change
UART IRQs priority
from 14 to 11Change USB detection IRQ priority from 14 to 12
Change PendSV priority from 15 to 13
Use in-house driver functions for ST-Link UART receive DMA function (
uart_receive_dma()
anduart_dma_receive_complete()
) instead of ST HAL.Update USB peripheral init functions.
Change
evk_timer_app_timer_init()
to select IRQ priority as an input parameter.
Removed
Unused constants in
evk_usb.h
Fixed
Coding style issues.
v0.6.1 - 2022-06-16¶
Added
New evk_audio_i2c_init() function.
Changed
SAI frame synchronization polarity is now active-low.
evk_audio_sai_configuration() does not initialize I2C anymore.
Fixed
Fixed typos and coding style.
v0.6.0 - 2022-05-27¶
Added
Support for 20 and 24-bit audio samples.
Support for payload size up to 65535 bytes.
Added a function to set the USB_LP IRQ callback.
Changed
I2S is now Right justified (LSB justified), Left channel on FS High.
DMA alignment is now on WORDS when using 20 and 24-bit audio.
STM32 USB stack functions have been moved from evk_usb.c to the evk_usb_device.c files in the usb_device folder.
evk_usb.c only contain functions required to read the usb detect pin and enable or disable the USB_LP IRQ.
The USB descriptor definitions are now in the evk_usb.h file.
The USB_LP IRQ priority and IRQn definitions are now part of the evk_def.h file.
NVIC_USB_IRQ has been renamed to NVIC_USB_DET_IRQ to avoid confusion with USB_LP_IRQ.
Fixed
Fix the double inversion logic for the DMA direction in the sai_dma_start_it function.
SAI TX FIFO threshold is now set to FULL.
v0.5.0 - 2022-03-03¶
Changed
Change every public function prefix from
bsp_
toevk_
.
Fixed
Fixed free running timer issue while using low power functionalities.
Fixed disabling and enabling DMA IRQ functions which wasn’t working as intended.
v0.4.0 - 2022-02-04¶
Added
- The following functions were added in the clock module:
bsp_clock_set_pll_170Mhz_as_sysclk()
bsp_clock_set_hsi_as_sysclk()
bsp_clock_set_hsi_as_sysclk_protected()
bsp_clock_init_rtc_for_wakeup()
bsp_clock_start_rtc_for_wakeup()
- The following function was added in the power module:
bsp_power_shutdown_and_wake_up()
- The following functions were added in the audio module:
bsp_audio_i2c_write_byte_blocking()
bsp_audio_i2c_read_byte_blocking()
bsp_audio_sai_configuration()
bsp_audio_sai_write_non_blocking()
bsp_audio_sai_read_non_blocking()
bsp_audio_sai_stop_write_non_blocking()
bsp_audio_sai_stop_read_non_blocking()
bsp_expansion_sai_start_write_non_blocking()
bsp_expansion_sai_start_read_non_blocking()
bsp_expansion_set_sai_tx_dma_cplt_callback()
bsp_expansion_set_sai_rx_dma_cplt_callback()
bsp_radio_enable_dma_irq_it()
bsp_radio_disable_dma_irq_it()
Changed
#defines for interrupt priorities in bsp_def.h were renamed to match our internal naming convention.
#defines for DMA_Channelx_IRQn were abstracted with peripherals #defines in bsp_def.h.
NVIC_SetPriority and NVIC_EnableIRQ now uses the defines in bsp_def.h, thus making future changes easier and centralized.
#defines in bsp_def.h were reordered.
Some typedefs were moved from bsp_def.h to bsp_audio.h.
DMA1 and DMA2 initialization is now centralized in bsp.c.
GPIO clock enabling has been centralized in bsp.c.
The return type of some USB functions was changed from uwb_err to uint8_t.
bsp_radio_spi_transfer_full_duplex_blocking() does not use the DMA anymore.
bsp_audio.h is now included by bsp.h, the public BSP API.
Removed
- The following functions were removed from the audio module:
bsp_audio_init()
bsp_audio_deinit()
bsp_audio_playback_start()
bsp_audio_record_start()
bsp_audio_playback_stop()
bsp_audio_record_stop()
bsp_audio_i2c_write()
bsp_audio_i2c_read()
bsp_audio_sai_write()
bsp_audio_sai_read()
bsp_audio_set_playback_channel()
bsp_audio_set_record_channel()
bsp_audio_set_sampling_rate()
bsp_audio_set_rx_callback()
bsp_audio_set_tx_callback()
bsp_audio_set_error_callback()
bsp_audio_config1()
bsp_audio_config2()
bsp_audio_config3()
Some unused includes were removed from bsp_def.h.
Fixed
Free running timer that wasn’t providing a 4 kHz tick if system clock was not set to 163.84 MHz.
v0.3.0 - 2021-12-13¶
Changed
Raise STM32 HAL tick interrupt priority one level (from 0x0f to 0x0e) to make it higher priority than the PendSV interrupt which is at 0x0f. This enables calling HAL delay functions inside the PendSV ISR.
Functions bsp_audio_sai_read() and bsp_audio_sai_write() size argument is now in bytes instead of in samples.
Function bsp_audio_playback_start() now calls audio_tx_callback() instead of sending dummy bytes on the I2S bus.
v0.2.0 - 2021-11-09¶
Changed
STM32 I2S controller role from master to slave.
STM32 system clock frequency from 164 MHz to 170 MHz.
Fixed
C++ inclusion directives.
Wrong call to STM32 HAL RCC when initializing TIM3 timer.
v0.1.0 - 2021-09-30¶
Initial release.