Details: Below the list of the different fixes and enhancements. Please refer to the https://github.com/STMicroelectronics/stm32f7xx_hal_driver repository to view the changes introduced by each fix or enhancement in a separate commit.
- [HAL][LL][I2C] Enhance HAL code quality for MISRA-C Rule-8.13 by adding const qualifiers
- [HAL][CRC] Add filter in HAL_CRCEx_Polynomial_Set() to exclude even polynomials
- [HAL][CRYP] Apply MCUAstyle fixes and update Crypt/Decrypt IT processes to avoid Computation Completed IRQ fires before the DINR pointer increment
- [HAL][EXTI] Optimize computation of pExtiConfig->GPIOSel in HAL_EXTI_GetConfigLine()
- [HAL][GENERIC] Allow redefinition of macro UNUSED(x)
- [HAL][GENRIC] Update of HAL_GetTickFreq() brief
- [HAL][GPIO] Add GPIO_AF9_TIM13 in IS_GPIO_AF() macros and apply Artistic Style fixes
- [HAL][HASH] HAL code quality enhancement for MISRA-C2012 Rule-2.2_c
- [HAL][I2C] Duplicate the test condition after timeout detection to avoid false timeout detection
- [HAL][I2C] Update HAL I2C driver to prefetch data before starting the transmission (implementation of errata sheet workaround I2C2-190208: Transmission stalled after first byte)
- [HAL][I2C] Update HAL_I2C_Mem_Write_IT API to initialize XferSize at 0
- [HAL][I2C] Update I2C_Slave_ISR_IT, I2C_Slave_ISR_DMA and I2C_ITSlaveCplt to prevent the call of HAL_I2C_ListenCpltCallback twice
- [HAL][I2C] Update I2C_WaitOnRXNEFlagUntilTimeout to check I2C_FLAG_AF independently from I2C_FLAG_RXNE
- [HAL][IRDA] Remove __HAL_LOCK() and __HAL_UNLOCK() invocation from both HAL_xxx_RegisterCallback() and HAL_xxx_UnRegisterCallback()
- [HAL][LPTIM] Remove __HAL_LOCK() and __HAL_UNLOCK() invocation from both HAL_xxx_RegisterCallback() and HAL_xxx_UnRegisterCallback()
- [HAL][RCC] Add restriction on the available RCC macros to manage SPI6 peripheral clock
- [HAL][SMARTCARD] Remove __HAL_LOCK() and __HAL_UNLOCK() invocation from both HAL_xxx_RegisterCallback() and HAL_xxx_UnRegisterCallback()
- [HAL][SMARTCARD] Wait for the 'Receive Enabled ACK' flag in the SMARTCARD_CheckIdleState() function
- [HAL][SMBUS] Enhance HAL code quality for MISRA-C Rule-8.13 by adding const qualifiers
- [HAL][SMBUS] Update HAL I2C driver to prefetch data before starting the transmission (implementation of errata sheet workaround I2C2-190208: Transmission stalled after first byte)
- [HAL][SPI] 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][SPI] Update IT API to enable interrupts after process unlock
- [HAL][TIM] Remove __HAL_LOCK() and __HAL_UNLOCK() invocation from both HAL_xxx_RegisterCallback() and HAL_xxx_UnRegisterCallback()
- [HAL][TIM] Remove extra white spaces from comment tags
- [HAL][UART] Disable the Receiver Timeout Interrupt when data reception is completed
- [HAL][UART] Remove __HAL_LOCK() and __HAL_UNLOCK() invocation from both HAL_xxx_RegisterCallback() and HAL_xxx_UnRegisterCallback()
- [HAL][UART] Rework UART_WaitOnFlagUntilTimeout() API to avoid being stuck forever when UART overrun error occurs and to enhance behavior
- [HAL][UART] Update initialisation sequence for TXINV, RXINV and TXRXSWAP settings
- [HAL][USART] Remove __HAL_LOCK() and __HAL_UNLOCK() invocation from both HAL_xxx_RegisterCallback() and HAL_xxx_UnRegisterCallback()
- [LL][LPTIM] Homogenize the naming of LL_LPTIM_ClearFlag_XXX() APIs (ClearFLAG --> ClearFlag)
- [LL][TIM] Remove tag '/** @defgroup TIM_LL_EM_Exported_Macros Exported_Macros' as redundant with tag '/** @defgroup TIM_LL_Exported_Macros TIM Exported Macros'
- [LL][TIM] Remove useless check on IS_TIM_ADVANCED_INSTANCE() within LL_TIM_BDTR_Init() to fix Break Filter configuration problem with specific TIM instances
- [LL][USB] Fix added to USB_ClearInterrupts(), should write 1 to clear the interrupt status bits of OTG_FS_GINTSTS register
- [LL][USB] Remove useless software setting to setup the frame interval at 80%
Rationale:
- MW libraries subject to click-thru have been already removed from this repo, but not the projects using them.
- Building these projects, whether manually or automatically via some ACI tool would yield errors.
- Particularly with daily (or nightly) builds in the frame of a CI/CD strategy, such errors would pollute the logs uselessly.
Note: If needed, the removed items can be found in the full firmware package on st.com. Please refer to the README.md file for further details.