Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(radio): update F2's CMSIS and STM32F2xx_HAL_Driver #4844

Merged
merged 2 commits into from
May 23, 2024

Conversation

ThomasKuehne
Copy link
Contributor

update STM32F2xx_HAL_Driver from V1.2.7 to V1.2.8:

V1.2.8 / 07-April-2023

Main Changes

    General updates to fix known defects and enhancements implementation.
    HAL code quality enhancement for MISRA-C Rule-8.13 by adding const qualifiers.
    All source files: update disclaimer to add reference to the new license agreement.

Contents

    HAL Generic driver
        Allow redefinition of macro UNUSED(x).
    HAL GPIO driver
        Reorder EXTI configuration sequence in order to avoid unexpected level detection.
    HAL EXTI driver
        Fix computation of pExtiConfig->GPIOSel in HAL_EXTI_GetConfigLine().
    HAL ADC driver
        Remove multiple volatile reads or writes in interrupt handler for better performance.
    HAL DAC driver
        Fix incorrect word ‘surcharged’ in functions headers.
    HAL/LL TIM driver
        Manage configuration of the Capture/compare DMA request source:
            Add related new exported constants (TIM_CCDMAREQUEST_CC, TIM_CCDMAREQUEST_UPDATE).
            Create a new macro __HAL_TIM_SELECT_CCDMAREQUEST() allowing to program the TIMx_CR2.CCDS bitfield.
        Improved driver robustness against wrong period values.
        Improved driver robustness against wrong DMA related parameters.
        __LL_TIM_CALC_PSC() macro update to round up the evaluate value when the fractional part of the division is greater than 0.5.
        Removed lock management from callback management functions.
    HAL RTC driver
        Use bits definitions from CMSIS Device header file instead of hard-coded values.
        Wrap comments to be 80-character long and correct typos.
        Move constants RTC_IT_TAMP. from hal_rtc.h to hal_rtc_ex.h.
        Gather all instructions related to exiting the “init” mode into new function RTC_ExitInitMode().
        Rework functions HAL_RTCEx_SetTamper() and HAL_RTCEx_SetTamper_IT() to:
            Write in TAFCR register in one single access instead of two.
            Avoid modifying user structure sTamper.
        Check if the RTC calendar has been previously initialized before entering initialization mode.
        Add a new API HAL_UARTEx_GetRxEventType that could be used to retrieve the type of event that has led the RxEventCallback execution.
        Remove macro __HAL_RTC_TAMPER_GET_IT() as it is redundant with macro __HAL_RTC_TAMPER_GET_FLAG() and create an alias into the hal_legacy.h file.
    HAL UART driver
        Handling of UART concurrent register access in case of race condition between Tx and Rx transfers.
        Improve header description of UART_WaitOnFlagUntilTimeout() function.
        Add a check on the UART parity before enabling the parity error interruption.
        Fix typo in UART_IT_TXE bit description.
        Removal of HAL_LOCK/HAL_UNLOCK calls in HAL UART Tx and Rx APIs.
        Remove __HAL_LOCK() from HAL_xxx_RegisterCallback()/HAL_xxx_UnRegisterCallback().
    HAL SMARTCARD driver
        Improve header description of SMARTCARD_WaitOnFlagUntilTimeout() function.
        Remove __HAL_LOCK() from HAL_xxx_RegisterCallback()/HAL_xxx_UnRegisterCallback().
    HAL IRDA driver
        Improve header description of IRDA_WaitOnFlagUntilTimeout() function.
        Add a check on the IRDA parity before enabling the parity error interrupt.
        Remove __HAL_LOCK() from HAL_xxx_RegisterCallback()/HAL_xxx_UnRegisterCallback().
    HAL SDMMC driver
        Take in account the voltage range in the CMD1 command.
        Add new LL function to have correct response for MMC driver.
        Update the driver to have all fields correctly initialized.
        Add a internal to manage the power class and call it before to update speed of bus width.
        Add new API to get the value of the Extended CSD register and populate the ExtCSD field of the MMC handle.
    HAL/LL USART driver
        Handle USART concurrent register accesses in case of race condition between Tx and Rx transfers.
        Improve header description of USART_WaitOnFlagUntilTimeout() function.
        Add a check on the USART parity before enabling the parity error interrupt.
        Remove __HAL_LOCK() from HAL_xxx_RegisterCallback()/HAL_xxx_UnRegisterCallback().
    HAL CAN driver
        Removal of never reached code.
        Improve protection against bad inputs.
    HAL HASH driver
        HAL code quality enhancement for MISRA-C2012 Rule-2.2_c.
    HAL NOR driver
        Enable write operations before effective write to NOR memory in HAL_NOR_Init() function to avoid HardFault.
        FMC_WRITE_OPERATION_DISABLE for NOR cause Hardfault for Read operations.
    HAL SPI driver
        Fix driver to don’t update state in case of error (HAL_SPI_STATE_READY will be set only in case of HAL_TIMEOUT).
    HAL IWDG driver
        Update comment describing the calculation of HAL_IWDG_DEFAULT_TIMEOUT macro.
    HAL DMA driver
        Manage the case of an invalid callback ID passed to the HAL_DMA_RegisterCallback() function.
    HAL I2C driver
        Update HAL_I2C_Mem_Write_DMA() and HAL_I2C_Mem_Read_DMA() APIs to add initialization for Devaddress, Memaddress and EventCount parameters.
        Update I2C_MasterReceive_RXNE() process to safely manage data N=2 and N=3, Disable BUF interrupt if nothing to do.
        Update HAL_I2C_Master_Transmit_IT to return HAL_BUSY instead of HAL_ERROR when timeout occur and I2C_FLAG_BUSY is SET.
        Clear ACK bit once 3 bytes to read remain to be able to send the NACK once the transfer ends.
        Duplicate the test condition after timeout detection to avoid false timeout detection.
    HAL/LL USB driver
        PCD: add handling of USB OUT Endpoint disable interrupt.
        PCD: fix device IN endpoint isoc incomplete transfer interrupt handling.
        PCD: fix USB device Isoc OUT Endpoint incomplete transfer interrupt handling.
        HCD: fix handling of ODDFRM bit in OTG_HCCHARx for Isochronous IN transactions.
        PCD: added fix to correct received transfer length with USB DMA activated.
        Fix added to USB_ClearInterrupts() and USB_HC_Halt() APIs.
        Remove useless software setting to setup the frame interval at 80%.
        Adding support of hub split transactions.

update CMSIS/Device/ST/STM32F2xx from V2.2.5 to V2.2.6

V2.2.6 / 07-April-2023
Main Changes

    All source files: update disclaimer to add reference to the new license agreement.
    Update the GCC startup file to be aligned to IAR/Keil IDE.

@pfeerick pfeerick added the house keeping 🧹 Cleanup of code and house keeping label Apr 9, 2024
@pfeerick pfeerick changed the title chore(radio) update F2's CMSIS and STM32F2xx_HAL_Driver chore(radio): update F2's CMSIS and STM32F2xx_HAL_Driver May 19, 2024
@pfeerick pfeerick force-pushed the update_STM32F2xx_HAL_Driver branch from ec6d715 to 42300e2 Compare May 19, 2024 03:35
@pfeerick pfeerick self-requested a review May 19, 2024 03:52
@pfeerick
Copy link
Member

Quick test of three STM32F2 targets (X9D+, TX12, TPro) seems like everything is working properly still - USB, audio, inputs, internal RF

@pfeerick pfeerick merged commit 2d8e434 into EdgeTX:main May 23, 2024
44 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
house keeping 🧹 Cleanup of code and house keeping
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants