<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head> <meta http-equiv="content-type" content="text/html; charset=windows-1252"><title>Release Notes for STM32F4xx HAL Drivers</title></head> <body lang="EN-US" link="blue" vlink="blue"> <div class="WordSection1"> <div> <p class="MsoNormal" style=""><span style="font-family: "Arial",sans-serif;"><o:p> </o:p></span></p> <div align="center"> <table class="MsoNormalTable" style="width: 675pt;" border="0" cellpadding="0" cellspacing="0" width="900"> <tbody> <tr style=""> <td style="padding: 0in;" valign="top"> <table class="MsoNormalTable" style="width: 675pt;" border="0" cellpadding="0" cellspacing="0" width="900"> <tbody> <tr style=""> <td style="padding: 0in 5.4pt;" valign="top"> <p class="MsoNormal" style=""><span style="font-size: 8pt; font-family: "Arial",sans-serif; color: blue;"><a href="../../Release_Notes.html">Back to Release page</a></span><span style="font-size: 10pt;"><o:p></o:p></span></p> </td> </tr> <tr style=""> <td style="padding: 1.5pt;"> <h1 style="margin-bottom: 0.25in; text-align: center;" align="center"><span style="font-size: 20pt; font-family: "Verdana",sans-serif; color: rgb(51, 102, 255);">Release Notes for STM32F4xx HAL Drivers</span><span style="font-size: 20pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></h1> <p class="MsoNormal" style="text-align: center;" align="center"><span style="font-size: 10pt; font-family: "Arial",sans-serif; color: black;">Copyright 2017 STMicroelectronics</span><span style="color: black;"><u1:p></u1:p><o:p></o:p></span></p> <p class="MsoNormal" style="text-align: center;" align="center"><span style="font-size: 10pt; font-family: "Arial",sans-serif; color: black;"><img id="_x0000_i1044" src="_htmresc/st_logo.png" border="0" height="81" width="109"></span><span style="font-size: 10pt;"><o:p></o:p></span></p> </td> </tr> </tbody> </table> <p class="MsoNormal" style=""><span style="font-family: "Arial",sans-serif; display: none;"><o:p> </o:p></span></p> <table class="MsoNormalTable" style="width: 675pt;" border="0" cellpadding="0" width="900"> <tbody> <tr style=""> <td style="padding: 0in;" valign="top"> <table class="MsoNormalTable" style="width: 846.25pt;" border="0" cellpadding="0" width="1128"> <tbody> <tr style=""> <td style="padding: 0in; width: 843.25pt;" valign="top" width="1124"> <h2 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;"><font color="#ffffff"><a name="History"></a><span style="font-size: 12pt;">Update History</span><span style=""><o:p></o:p></span></font></h2><h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.8.1 / 24-June-2022</span></font></h3> <blockquote> <p><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes<br> </span></u></b></p> </blockquote> <ul style="orphans: 2; text-align: start; widows: 2; word-spacing: 0px;" type="disc"><li><font face="Verdana" size="-1">General updates to fix HAL ETH defects and implementation enhancements.</font></li><li><p><font face="Verdana" size="-1"><strong>HAL</strong> updates</font></p> <font face="Verdana" size="-1"> </font> <ul><font face="Verdana" size="-1"> </font><li><font face="Verdana" size="-1"><strong>HAL ETH </strong>update</font></li><ul><li style="font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Helvetica,sans-serif; line-height: 1.4;">Remove useless assert_param(IS_ETH_MAC_ADDRESS0123(MacAddr)) from static function ETH_MACAddressConfig().</li><li style="font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Helvetica,sans-serif; line-height: 1.4;">Replace hard coded Rx buffer size (1000U) by macro ETH_RX_BUF_SIZE.</li><li style="font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Helvetica,sans-serif; line-height: 1.4;">Correct bit positions when getting MAC and DMA configurations and replace �UnicastSlowProtocolPacketDetect� by �UnicastPausePacketDetect� in the MAC default configuration structure.</li><li style="font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Helvetica,sans-serif; line-height: 1.4;">Ensure a delay of 4 TX_CLK/RX_CLK cycles between two successive write operations to the same register.</li><li style="font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Helvetica,sans-serif; line-height: 1.4;">Disable DMA transmission in both HAL_ETH_Stop_IT() and HAL_ETH_Stop() APIs.<br><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;"></span></font></li></ul></ul></li></ul><h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.8.0 / 11-February-2022</span></font></h3> <blockquote> <p><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes<br> </span></u></b></p> </blockquote> <ul style="orphans: 2; text-align: start; widows: 2; word-spacing: 0px;" type="disc"> <li><font face="Verdana" size="-1">General updates to fix known defects and implementation enhancements.</font></li> <li><font face="Verdana" size="-1">All source files: update disclaimer to add reference to the new license agreement.<br> </font></li> <li><font face="Verdana" size="-1"><b>The following changes done on the HAL drivers require an update of the application code based on older HAL versions</b></font></li><ul><li><font face="Verdana" size="-1">Rework of HAL Ethernet driver to resolve problems and improve performance (<b>compatibility break</b>). </font></li><li><font face="Verdana" size="-1">A new HAL Ethernet driver has been redesigned with new APIs, to bypass limitations with previous HAL Ethernet driver version.</font></li><li><font face="Verdana" size="-1">The new HAL Ethernet driver is the recommended version. It is located as usual in Drivers/STM32F4xx_HAL_Driver/Src and Drivers/STM32F4xx_HAL_Driver/Inc folders. </font></li><ul><li><font face="Verdana" size="-1">It can be enabled through switch HAL_ETH_MODULE_ENABLED in stm32f4xx_hal_conf.h</font></li></ul><li><font face="Verdana" size="-1">The legacy HAL Ethernet driver is also present in the release in Drivers/STM32F4xx_HAL_Driver/Src/Legacy and Drivers/STM32F4xx_HAL_Driver/Inc/Legacy folders for software compatibility reasons.</font></li><ul><li><font face="Verdana" size="-1">Its usage is not recommended as deprecated. It can however be enabled through switch HAL_ETH_LEGACY_MODULE_ENABLED in stm32f4xx_hal_conf.h</font></li></ul></ul> <li><p><font face="Verdana" size="-1"><strong>HAL</strong> updates</font></p> <font face="Verdana" size="-1"> </font> <ul> <font face="Verdana" size="-1"> </font> <li><font face="Verdana" size="-1"><strong>HAL ETH </strong>update </font> <br><ul> <li><font face="Verdana" size="-1">Entire receive process reworked.</font></li><li><font face="Verdana" size="-1">Resolve the problem of received data corruption.</font></li><li><font face="Verdana" size="-1">Implement transmission in interrupt mode.</font></li><li><font face="Verdana" size="-1">Handle one interrupt for multiple transmitted packets.</font></li><li><font face="Verdana" size="-1">Implement APIs to handle PTP feature.</font></li><li><font face="Verdana" size="-1">Implement APIs to handle Timestamp feature.</font></li><li><font face="Verdana" size="-1">Add support of receive buffer unavailable.</font></li> <li><font face="Verdana" size="-1">Update HAL_ETH_IRQHandler() to handle receive buffer unavailable.</font></li> </ul></li> <li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL SMBUS</span> update</font></li> <ul> <li><font face="Verdana" size="-1">Update to fix issue of mismatched data received by master in case of data size to be transmitted by the slave is greater than the data size to be received by the master.</font></li> <ul> <li><font face="Verdana" size="-1">Add flush on TX register.</font></li> </ul> </ul> <li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL TIM</span> update</font></li> <ul> <li><font face="Verdana" size="-1">__LL_TIM_CALC_PSC() macro update to round up the evaluate value when the fractional part of the division is greater than 0.5.</font></li> </ul> <li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL LPTIM</span> update</font></li> <ul> <li><font face="Verdana" size="-1"> Add check on PRIMASK register to prevent from enabling unwanted global interrupts within LPTIM_Disable() and LL_LPTIM_Disable()</font></li> </ul> <li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL UART</span> update</font></li> <ul> <li><font face="Verdana" size="-1">Add const qualifier for read only pointers.</font></li> <li><font face="Verdana" size="-1">Improve header description of UART_WaitOnFlagUntilTimeout() function.</font></li> <li><font face="Verdana" size="-1">Add a check on the UART parity before enabling the parity error interruption.</font></li> <li><font face="Verdana" size="-1">Fix typo in UART_IT_TXE bit description.<br> </font></li> </ul> <li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL IRDA </span>update</font></li> <ul> <li><font face="Verdana" size="-1">Improve header description of IRDA_WaitOnFlagUntilTimeout() function.</font></li> <li><font face="Verdana" size="-1">Add a check on the IRDA parity before enabling the parity error interrupt.</font></li> <li><font face="Verdana" size="-1">Add const qualifier for read only pointers.</font></li> </ul> <li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL SMARTCARD</span> update</font></li> <ul> <li><font face="Verdana" size="-1">Improve header description of SMARTCARD_WaitOnFlagUntilTimeout() function</font></li> <li><font face="Verdana" size="-1">Add const qualifier for read only pointers.</font></li> </ul> <li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL NOR</span> update</font></li> <ul> <li><font face="Verdana" size="-1">Apply adequate commands according to the command set field value</font></li> <li><font face="Verdana" size="-1">command set 1 for Micron JS28F512P33</font></li> <li><font face="Verdana" size="-1">command set 2 for Micron M29W128G and Cypress S29GL128P</font></li> <li><font face="Verdana" size="-1">Add new command operations:</font></li> <ul> <li><font face="Verdana" size="-1">NOR_CMD_READ_ARRAY</font></li> <li><font face="Verdana" size="-1">NOR_CMD_WORD_PROGRAM</font></li> <li><font face="Verdana" size="-1">NOR_CMD_BUFFERED_PROGRAM</font></li> <li><font face="Verdana" size="-1">NOR_CMD_CONFIRM</font></li> <li><font face="Verdana" size="-1">NOR_CMD_BLOCK_ERASE</font></li> <li><font face="Verdana" size="-1">NOR_CMD_BLOCK_UNLOCK</font></li> <li><font face="Verdana" size="-1">NOR_CMD_READ_STATUS_REG</font></li> <li><font face="Verdana" size="-1">NOR_CMD_CLEAR_STATUS_REG</font></li> </ul> <li><font face="Verdana" size="-1">Update some APIs in order to be compliant for memories with different command set, the updated APIs are:</font></li> <ul> <li><font face="Verdana" size="-1">HAL_NOR_Init()</font></li> <li><font face="Verdana" size="-1">HAL_NOR_Read_ID()</font></li> <li><font face="Verdana" size="-1">HAL_NOR_ReturnToReadMode()</font></li> <li><font face="Verdana" size="-1">HAL_NOR_Read()</font></li> <li><font face="Verdana" size="-1">HAL_NOR_Program()</font></li> <li><font face="Verdana" size="-1">HAL_NOR_ReadBuffer()</font></li> <li><font face="Verdana" size="-1">HAL_NOR_ProgramBuffer()</font></li> <li><font face="Verdana" size="-1">HAL_NOR_Erase_Block()</font></li> <li><font face="Verdana" size="-1">HAL_NOR_Erase_Chip()</font></li> <li><font face="Verdana" size="-1">HAL_NOR_GetStatus()</font></li> </ul> <li><font face="Verdana" size="-1">Align HAL_NOR_Init() API with core of the function when write operation is disabled to avoid HardFault.</font></li> </ul> <li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL SDMMC</span> update</font></li> <ul> <li><font face="Verdana" size="-1">Take into account the voltage range in the CMD1 command.</font></li> <li><font face="Verdana" size="-1">Add new LL function to have correct response for MMC driver.</font></li> <li><font face="Verdana" size="-1">Update the driver to have all fields correctly initialized.</font></li> <li><font face="Verdana" size="-1">Add an internal variable to manage the power class and call it before to update speed of bus width.</font></li> <li><font face="Verdana" size="-1">Add new API to get the value of the Extended CSD register and populate the ExtCSD field of the MMC handle.</font></li> <li><font face="Verdana" size="-1">In HAL_MMC_InitCard(), call to SDIO_PowerState_ON() moved after __HAL_MMC_ENABLE() to ensure MMC clock is enabled before the call to HAL_Delay() from within SDIO_PowerState_ON().</font></li> </ul> <li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL DMA</span> update</font></li> <ul> <li><font face="Verdana" size="-1">Manage the case of an invalid value of CallbackID passed to the HAL_DMA_RegisterCallback() API.</font></li> </ul> <li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL LTDC</span> update</font></li> <ul> <li><font face="Verdana" size="-1">Update HAL_LTDC_DeInit() to fix MCU Hang up during LCD turn OFF.</font></li> </ul> <li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL I2C</span> update</font></li> <ul> <li><font face="Verdana" size="-1">Update to fix issue detected due to low system frequency execution (HSI).</font></li> <li><font face="Verdana" size="-1">Declare an internal macro link to DMA macro to check remaining data: I2C_GET_DMA_REMAIN_DATA</font></li> <li><font face="Verdana" size="-1">Update HAL I2C Master Receive IT process to safe manage data N= 2 and N= 3.</font></li> <ul> <li><font face="Verdana" size="-1">Disable RxNE interrupt if nothing to do.</font></li> </ul> </ul> <li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL USART</span> update</font></li> <ul> <li><font face="Verdana" size="-1">Improve header description of USART_WaitOnFlagUntilTimeout() function.</font></li> <li><font face="Verdana" size="-1">Add a check on the USART parity before enabling the parity error interrupt.</font></li> <li><font face="Verdana" size="-1">Add const qualifier for read only pointers.</font></li> </ul> <li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL/LL ADC</span> update</font></li> <ul> <li><font face="Verdana" size="-1">Update LL_ADC_IsActiveFlag_MST_EOCS() API to get the appropriate flag.</font></li> <li><font face="Verdana" size="-1">Better performance by removing multiple volatile reads or writes in interrupt handler.</font></li> </ul> <li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL FMPI2C</span> update <br> </font></li> <ul> <li><font face="Verdana" size="-1">Update to handle errors in polling mode.</font></li> <ul> <li><font face="Verdana" size="-1">Rename I2C_IsAcknowledgeFailed() to I2C_IsErrorOccurred() and correctly manage when error occurs.</font></li> </ul> </ul> <li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL EXTI</span> update</font></li> <ul> <li><font face="Verdana" size="-1">Update HAL_EXTI_GetConfigLine() API to fix wrong calculation of GPIOSel value.</font></li> </ul> <li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL QSPI</span> update</font></li> <ul> <li><font face="Verdana" size="-1">Update HAL_QSPI_Abort() and HAL_QSPI_Abort_IT() APIs to check on QSPI BUSY flag status before executing the abort procedure.</font></li> </ul> <li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL/LL RTC</span> cleanup</font></li> <ul> <li><font face="Verdana" size="-1">Use bits definitions from CMSIS Device header file instead of hard-coded values.</font></li> <li><font face="Verdana" size="-1">Wrap comments to be 80-character long and correct typos.</font></li> <li><font face="Verdana" size="-1">Move constants RTC_IT_TAMP. from hal_rtc.h to hal_rtc_ex.h.</font></li> <li><font face="Verdana" size="-1">Gather all instructions related to exiting the "init" mode into new function RTC_ExitInitMode().</font></li> <li><font face="Verdana" size="-1">Add new macro assert_param(IS_RTC_TAMPER_FILTER_CONFIG_CORRECT(sTamper->Filter, sTamper->Trigger)) to check tamper filtering is disabled in case tamper events are triggered on signal edges.</font></li> <li><font face="Verdana" size="-1">Rework functions HAL_RTCEx_SetTamper() and HAL_RTCEx_SetTamper_IT() to:</font></li> <ul> <li><font face="Verdana" size="-1">Write in TAFCR register in one single access instead of two.</font></li> <li><font face="Verdana" size="-1">Avoid modifying user structure sTamper.</font></li> </ul> <li><font face="Verdana" size="-1">Remove functions LL_RTC_EnablePushPullMode() and LL_RTC_DisablePushPullMode() as related to non-supported features.</font></li> <li><font face="Verdana" size="-1">Remove any reference to non-supported features (e.g., LL_RTC_ISR_TAMP3F).</font></li> <li><font face="Verdana" size="-1">Remove useless conditional defines as corresponding features are supported by all part-numbers (e.g., #if defined(RTC_TAFCR_TAMPPRCH)).</font></li> </ul> <li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL USB OTG</span> update</font></li> <ul> <li><font face="Verdana" size="-1">Fix USB_FlushRxFifo() and USB_FlushTxFifo() APIs by adding check on AHB master IDLE state before flushing the USB FIFO</font></li> <li><font face="Verdana" size="-1">Fix to avoid resetting host channel direction during channel halt</font></li> <li><font face="Verdana" size="-1">Fix to report correct received amount of data with USB DMA enabled</font></li> <li><font face="Verdana" size="-1">Fix to avoid compiler optimization on count variable used for USB HAL timeout loop check</font></li> <li><font face="Verdana" size="-1">Add missing registered callbacks check for HAL_HCD_HC_NotifyURBChange_Callback()</font></li> <li><font face="Verdana" size="-1">Add new API HAL_PCD_SetTestMode() APIs to handle USB device high speed Test modes</font></li> <li><font face="Verdana" size="-1">Setting SNAK for EPs not required during device reset</font></li> <li><font face="Verdana" size="-1">Update USB IRQ handler to enable EP OUT disable</font></li> <li><font face="Verdana" size="-1">Add support of USB IN/OUT Iso incomplete</font></li> <li><font face="Verdana" size="-1">Fix USB BCD data contact timeout<br> <br> </font></li> </ul> </ul> </li> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.7.13 / 16-July-2021</span></font></h3> <blockquote> <p><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes<br> </span></u></b></p> </blockquote> <ul style="orphans: 2; text-align: start; widows: 2; word-spacing: 0px;" type="disc"><li> <p><font face="Verdana" size="-1"><strong>HAL</strong> updates</font></p> <font face="Verdana" size="-1"> </font> <ul><font face="Verdana" size="-1"> </font><li><font face="Verdana" size="-1"><strong>HAL EXTI</strong> update </font> <ul><li><font face="Verdana" size="-1">Update HAL_EXTI_GetConfigLine() API to set default configuration value of Trigger and GPIOSel before checking each corresponding registers.</font></li></ul> </li><font face="Verdana" size="-1"> </font><li><font face="Verdana" size="-1"><strong>HAL GPIO</strong> update </font> <ul><li><font face="Verdana" size="-1">Update HAL_GPIO_Init() API to avoid the configuration of PUPDR register when Analog mode is selected.</font></li></ul> </li><font face="Verdana" size="-1"> </font><li><font face="Verdana" size="-1"><strong>HAL DMA</strong> update </font> <ul><li><font face="Verdana" size="-1">Update HAL_DMA_IRQHandler() API to set the DMA state before unlocking access to the DMA handle.</font></li></ul> </li><font face="Verdana" size="-1"> </font><li><font face="Verdana" size="-1"><strong>HAL/LL ADC</strong> update </font> <ul><li><font face="Verdana" size="-1">Update LL_ADC_DeInit() API to clear missing SQR3 register.</font></li><li><font face="Verdana" size="-1">Update LL_ADC_DMA_GetRegAddr() API to prevent unused argument compilation warning.</font></li><li><font face="Verdana" size="-1">Update HAL timeout mechanism to avoid false timeout detection in case of preemption.</font></li></ul> </li><font face="Verdana" size="-1"> </font><li><font face="Verdana" size="-1"><strong>HAL CAN</strong> update </font> <ul><li><font face="Verdana" size="-1">Update HAL_CAN_Init() API to be aligned with referance manual and to avoid timeout error:</font></li></ul> </li><font face="Verdana" size="-1"> </font><li><font face="Verdana" size="-1"><strong>HAL/LL RTC_BKP</strong> update </font> <ul><li><font face="Verdana" size="-1">Update __HAL_RTC_�(__HANDLE__, �) macros to access registers through (__HANDLE__)->Instance pointer and avoid �unused variable� warnings.</font></li><li><font face="Verdana" size="-1">Correct month management in IS_LL_RTC_MONTH() macro.</font></li></ul> </li><font face="Verdana" size="-1"> </font><li><font face="Verdana" size="-1"><strong>HAL RNG</strong> update </font> <ul><li><font face="Verdana" size="-1">Update timeout mechanism to avoid false timeout detection in case of preemption.</font></li></ul> </li><font face="Verdana" size="-1"> </font><li><font face="Verdana" size="-1"><strong>HAL QSPI</strong> update </font> <ul><li><font face="Verdana" size="-1">ES0305 workaround disabled for STM32412xx devices.</font></li></ul> </li><font face="Verdana" size="-1"> </font><li><font face="Verdana" size="-1"><strong>HAL I2C</strong> update </font> <ul><li><font face="Verdana" size="-1">Update HAL_I2C_Mem_Write_DMA() and HAL_I2C_Mem_Read_DMA() APIs to initialize Devaddress, Memaddress and EventCount parameters.</font></li><li><font face="Verdana" size="-1">Update to prevent several calls of Start bit: </font> <ul><li><font face="Verdana" size="-1">Update I2C_MemoryTransmit_TXE_BTF() API to increment EventCount.</font></li></ul> </li><li><font face="Verdana" size="-1">Update to avoid I2C interrupt in endless loop: </font> <ul><li><font face="Verdana" size="-1">Update HAL_I2C_Master_Transmit_IT(), HAL_I2C_Master_Receive_IT(), HAL_I2C_Master_Transmit_DMA() and HAL_I2C_Master_Receive_DMA() APIs to unlock the I2C peripheral before generating the start.</font></li></ul> </li><li><font face="Verdana" size="-1">Update to use the right macro to clear I2C ADDR flag inside I2C_Slave_ADDR() API as it�s indicated in the reference manual.</font></li><li><font face="Verdana" size="-1">Update I2C_IsAcknowledgeFailed() API to avoid I2C in busy state if NACK received after transmitting register address.</font></li><li><font face="Verdana" size="-1">Update HAL_I2C_EV_IRQHandler() and I2C_MasterTransmit_BTF() APIs to correctly manage memory transfers: </font> <ul><li><font face="Verdana" size="-1">Add check on memory mode before calling callbacks procedures.</font></li></ul> </li></ul> </li><font face="Verdana" size="-1"> </font><li><font face="Verdana" size="-1"><strong>LL USART</strong> update </font> <ul><li><font face="Verdana" size="-1">Handling of UART concurrent register access in case of race condition between Tx and Rx transfers (HAL UART and LL LPUART)</font></li></ul> </li><font face="Verdana" size="-1"> </font><li><font face="Verdana" size="-1"><strong>HAL SMBUS</strong> update </font> <ul><li><font face="Verdana" size="-1">Updated HAL_SMBUS_ER_IRQHandler() API to return the correct error code �SMBUS_FLAG_PECERR� in case of packet error occurs.</font></li></ul> </li><font face="Verdana" size="-1"> </font><li><font face="Verdana" size="-1"><strong>HAL/LL SPI</strong> update </font> <ul><li><font face="Verdana" size="-1">Updated to fix MISRA-C 2012 Rule-13.2.</font></li><li><font face="Verdana" size="-1">Update LL_SPI_TransmitData8() API to avoid casting the result to 8 bits.</font></li></ul> </li><font face="Verdana" size="-1"> </font><li><font face="Verdana" size="-1"><strong>HAL UART</strong> update </font> <ul><li><font face="Verdana" size="-1">Fix wrong comment related to RX pin configuration within the description section</font></li><li><font face="Verdana" size="-1">Correction on UART ReceptionType management in case of ReceptionToIdle API are called from RxEvent callback</font></li><li><font face="Verdana" size="-1">Handling of UART concurrent register access in case of race condition between Tx and Rx transfers (HAL UART and LL LPUART) </font> <ul><li><font face="Verdana" size="-1">Update CAN Initialization sequence to set "request initialization" bit before exit from sleep mode.</font></li></ul> </li></ul> </li><font face="Verdana" size="-1"> </font><li><font face="Verdana" size="-1"><strong>HAL USB</strong> update </font> <ul><font face="Verdana" size="-1"> </font><li><font face="Verdana" size="-1">HAL PCD: add fix transfer complete for IN Interrupt transaction in single buffer mode</font></li><font face="Verdana" size="-1"> </font><li><font face="Verdana" size="-1">Race condition in USB PCD control endpoint receive ISR.</font><br><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;"></span></font></li></ul> </li></ul> </li></ul><h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.7.12 / 26-March-2021</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 118.5pt; text-indent: -97.5pt;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b><o:p></o:p></p> <ul style="orphans: 2; text-align: start; widows: 2; word-spacing: 0px;" type="disc"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><b><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL<o:p></o:p></span></b></li> <ul type="circle"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><b><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL/LL USART</span></b><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;"> update<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Fix typo in USART_Receive_IT() and USART_TransmitReceive_IT() APIs to avoid possible compilation issues if the UART driver files are not included.<o:p></o:p></span></li> </ul> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.7.11 / 12-February-2021</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 118.5pt; text-indent: -97.5pt;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b><o:p></o:p></p> <ul style="orphans: 2; text-align: start; widows: 2; word-spacing: 0px;" type="disc"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">General updates to fix known defects and enhancements <span class="grame"><span style="font-family: "Verdana",sans-serif;">implementation</span></span><o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Added new <strong><span style="font-family: "Verdana",sans-serif;">HAL FMPSMBUS extended</span></strong> driver to support FMPSMBUS fast Mode Plus.<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Removed �register� keyword to be compliant with new C++ rules:<o:p></o:p></span></li> <ul type="circle"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">The register storage class specifier was deprecated in C++11 and removed in C++17.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL</span></strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> <ul type="circle"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL</span></strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;"> update<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">General updates to fix known defects and enhancements implementation.<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Added new defines for ARM compiler V6:<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">__weak<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">__packed<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">__NOINLINE<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated HAL <span class="spelle"><span style="font-family: "Verdana",sans-serif;">TimeBase</span></span> TIM, RTC alarm and RTC <span class="spelle"><span style="font-family: "Verdana",sans-serif;">WakeUp</span></span> templates for more robustness<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated <span class="spelle"><span style="font-family: "Verdana",sans-serif;">Hal_Init_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Tick(</span></span>) API to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">propoerty</span></span> store the priority when using the non-default time base.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated PPP_MODULE_ENABLED for FMPSMBUS.<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL/LL ADC</span></strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;"> update<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated to add include of the LL ADC driver.<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated the following APIs to set status HAL_ADC_STATE_ERROR_INTERNAL and error code HAL_ADC_ERROR_INTERNAL when error occurs:<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_ADC_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Start(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_ADC_Start_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_ADC_Start_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">DMA(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_ADCEx_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">InjectedStart(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_ADCEx_InjectedStart_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_ADCEx_MultiModeStart_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">DMA(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_ADC_Stop_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>) API to check if DMA state is Busy before calling <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DMA_Abort</span></span>() API to avoid DMA internal error.<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated IS_ADC_CHANNEL to support temperature sensor for:<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">STM32F411xE<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">STM32F413xx<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">STM32F423xx<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Fixed wrong defined values for:<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">LL_ADC_MULTI_REG_DMA_LIMIT_3<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">LL_ADC_MULTI_REG_DMA_UNLMT_3<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Added __LL_ADC_CALC_VREFANALOG_<span class="grame"><span style="font-family: "Verdana",sans-serif;">VOLTAGE(</span></span>) macro to evaluate analog reference voltage.<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Removed __LL_ADC_CALC_<span class="grame"><span style="font-family: "Verdana",sans-serif;">TEMPERATURE(</span></span>) macro for STM32F4x9 devices as the TS_CAL2 is not available.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL/LL DAC</span></strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;"> update<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Added <span class="spelle"><span style="font-family: "Verdana",sans-serif;">restruction</span></span> on DAC Channel 2 defines and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">parametres</span></span>.<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_DAC_MSPINIT_CB_ID and HAL_DAC_MSPDEINIT_CB_ID used instead of HAL_DAC_MSP_INIT_CB_ID and HAL_DAC_MSP_DEINIT_CB_ID.<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated to support dual mode:<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Added two new APIs:<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_DACEx_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">DualStart(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_DACEx_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">DualStop(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Added position bit definition to be used instead of __DAC_MASK_SHIFT macro<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">__DAC_MASK_SHIFT macro has been removed.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DAC_Start_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>) API to return HAL_ERROR when error occurs.<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DAC_Stop_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>) API to not return HAL_ERROR when DAC is already disabled.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL CEC</span></strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;"> update<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CEC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) API to avoid appending an extra byte to the end of a message.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL/LL GPIO</span></strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;"> update<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated IS_GPIO_<span class="grame"><span style="font-family: "Verdana",sans-serif;">AF(</span></span>) to add missing values for STM32F401xC and STM32F401xE devices:<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">GPIO_AF3_TIM9<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">GPIO_AF3_TIM10<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">GPIO_AF3_TIM11<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated LL/HAL <span class="spelle"><span style="font-family: "Verdana",sans-serif;">GPIO_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">TogglePin(</span></span>) APIs to allow multi Pin�s toggling.<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_GPIO_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) API to avoid the configuration of PUPDR register when Analog mode is selected.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL/LL RCC</span></strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;"> update<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RCC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">OscConfig(</span></span>) API to add missing checks and to don�t return HAL_ERROR if request repeats the current PLL configuration.<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated IS_RCC_PLLN_VALUE(VALUE) macro in case of STM32F411xE device <span class="grame"><span style="font-family: "Verdana",sans-serif;">in order to</span></span> be aligned with reference manual.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL SD</span></strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;"> update<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Update function <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SD_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">FindSCR(</span></span>) to resolve issue of FIFO blocking when reading.<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Update read/write functions in DMA mode <span class="grame"><span style="font-family: "Verdana",sans-serif;">in order to</span></span> force the DMA direction, updated functions:<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_SD_ReadBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">DMA(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_SD_WriteBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">DMA(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Add the block size settings in the initialization functions and remove it from read/write transactions to avoid repeated and inefficient reconfiguration, updated functions:<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_SD_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">InitCard(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_SD_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">GetCardStatus(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_SD_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">ConfigWideBusOperation(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">) <o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_SD_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">ReadBlocks(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_SD_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">WriteBlocks(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_SD_ReadBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_SD_WriteBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_SD_ReadBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">DMA(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_SD_WriteBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">DMA(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL MMC</span></strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;"> update<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Add the block size settings in the initialization function and remove it from read/write transactions to avoid repeated and inefficient reconfiguration, updated functions:<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_MMC_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">InitCard(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_MMC_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">ReadBlocks(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_MMC_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">WriteBlocks(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_MMC_ReadBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_MMC_WriteBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_MMC_ReadBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">DMA(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_MMC_WriteBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">DMA(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Update read/write functions in DMA mode <span class="grame"><span style="font-family: "Verdana",sans-serif;">in order to</span></span> force the DMA direction, updated functions:<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_MMC_ReadBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">DMA(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL_MMC_WriteBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">DMA(</span></span><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Deploy new functions <span class="spelle"><span style="font-family: "Verdana",sans-serif;">MMC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ReadExtCSD(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SDMMC_CmdSendEXTCSD</span></span> () that read and check the sectors number of the device in order to resolve the issue of wrongly reading big memory size.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><b><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL NAND update<o:p></o:p></span></b></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Update functions HAL_NAND_Read_SpareArea_16<span class="grame"><span style="font-family: "Verdana",sans-serif;">b(</span></span>) and HAL_NAND_Write_SpareArea_16b() to fix column address calculation issue.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">LL SDMMC update</span></strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Update the definition of SDMMC_DATATIMEOUT constant <span class="grame"><span style="font-family: "Verdana",sans-serif;">in order to</span></span> allow the user to redefine it in his proper application.<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Remove 'register' storage class specifier from LL SDMMC driver.<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Deploy new functions <span class="spelle"><span style="font-family: "Verdana",sans-serif;">MMC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ReadExtCSD(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SDMMC_CmdSendEXTCSD</span></span> () that read and check the sectors number of the device in order to resolve the issue of wrongly reading big memory size.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL SMBUS</span></strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;"> update<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Support for Fast Mode Plus to be SMBUS rev 3 compliant.<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Added <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_FMPSMBUSEx_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">EnableFastModePlus(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_FMPSMBUSEx_DisableFastModePlus</span></span>() APIs to manage Fm+.<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SMBUS_MasterTransmit_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">BTF(</span></span>) , <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SMBUS_MasterTransmit_TXE</span></span>() and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SMBUS_MasterReceive_BTF</span></span>() APIs to allow stop generation when <span class="spelle"><span style="font-family: "Verdana",sans-serif;">CurrentXferOptions</span></span> is different from SMBUS_FIRST_FRAME and SMBUS_NEXT_FRAME.<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SMBUS_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ITError(</span></span>) API to correct the twice call of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SMBUS_ErrorCallback</span></span>.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL SPI</span></strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;"> update<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SPI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) API<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">To avoid setting the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">BaudRatePrescaler</span></span> in case of Slave Motorola Mode.<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Use the <span class="grame"><span style="font-family: "Verdana",sans-serif;">bit-mask</span></span> for SPI configuration.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated Transmit/Receive processes in half-duplex <span class="grame"><span style="font-family: "Verdana",sans-serif;">mode</span></span><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Disable the SPI instance before setting BDIOE bit.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Fixed wrong timeout <span class="grame"><span style="font-family: "Verdana",sans-serif;">management</span></span><o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Calculate Timeout based on a software loop to avoid blocking issue if <span class="spelle"><span style="font-family: "Verdana",sans-serif;">Systick</span></span> is disabled.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL SPDIFRX </span></strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">update<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Remove 'register' storage class specifier from HAL SPDIFRX driver.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL I2S</span></strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;"> update<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated I2SEx APIs to correctly support circular <span class="grame"><span style="font-family: "Verdana",sans-serif;">transfers</span></span><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated I2SEx_<span class="grame"><span style="font-family: "Verdana",sans-serif;">TxRxDMACplt(</span></span>) API to manage DMA circular mode.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated HAL_I2SEx_TransmitReceive_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>) API to set <span class="spelle"><span style="font-family: "Verdana",sans-serif;">hdmatx</span></span> (<span class="spelle"><span style="font-family: "Verdana",sans-serif;">transfert</span></span> callback and half) to NULL.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL SAI</span></strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;"> update<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated to avoid the incorrect left/right synchronization.<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_Transmit_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>) API to follow the sequence described in the reference manual for slave transmitter mode.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) API to correct the formula in case of SPDIF is wrong.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL CRYP</span></strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;"> update<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CRYP_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">SetConfig(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CRYP_GetConfig</span></span>() APIs to set/get the continent of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">KeyIVConfigSkip</span></span> correctly.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL EXTI</span></strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;"> update<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">__EXTI_LINE__ is now used instead of __LINE__ which is a standard C macro.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL DCMI</span></strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Support of HAL callback registration feature for DCMI extended driver.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL/LL TIM</span></strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;"> update<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIMEx_OnePulseN_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Start(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIMEx_OnePulseN_Stop</span></span>() APIs (pooling and IT mode) to take into consideration all <span class="spelle"><span style="font-family: "Verdana",sans-serif;">OutputChannel</span></span> parameters.<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Corrected reversed description of TIM_LL_EC_ONEPULSEMODE One Pulse Mode.<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Updated <span class="spelle"><span style="font-family: "Verdana",sans-serif;">LL_TIM_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">GetCounterMode(</span></span>) API to return the correct counter mode.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL/LL SMARTCARD</span></strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;"> update<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Fixed invalid initialization of SMARTCARD configuration by removing FIFO mode configuration as it is not member of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SMARTCARD_InitTypeDef</span></span> Structure.<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Fixed typos in SMARTCARD State definition description<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL/LL IRDA</span></strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;"> update<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Fixed typos in IRDA State definition description<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">LL USART</span></strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;"> update<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Remove useless check on maximum BRR value by removing IS_LL_USART_BRR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">MAX(</span></span>) macro.<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Update USART polling and interruption processes to fix issues related to accesses out of user specified buffer.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">HAL USB</span></strong><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;"> update<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">Enhanced USB OTG host HAL with USB DMA is enabled:<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">fixed ping and data toggle issue,<o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: "Verdana",sans-serif;">reworked Channel error report management<o:p></o:p></span></li> </ul> </ul> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">V1.7.10 / 22-October-2020</span><span style="font-family: "Verdana",sans-serif;"><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b></p> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General updates to fix known defects.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL/LL I2C </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> </ul> <ul style="margin-top: 0in;" type="disc"> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Update to fix <span class="spelle"><span style="font-family: "Verdana",sans-serif;">hardfault</span></span> issue with HAL_I2C_Mem_Write_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>) API:<o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Abort the right ongoing DMA transfer when memory write access request operation failed: fix typo �<span class="spelle"><span style="font-family: "Verdana",sans-serif;">hdmarx</span></span>� replaced by �<span class="grame"><span style="font-family: "Verdana",sans-serif;">hdmatx�</span></span></span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.7.9 / 14-August-2020</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b></p> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General updates to fix known defects and enhancements <span class="grame"><span style="font-family: "Verdana",sans-serif;">implementation</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL/LL I2C </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> </ul> <ul style="margin-top: 0in;" type="disc"> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Update HAL_I2C_ER_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) API to fix acknowledge failure issue with I2C memory IT processes<o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Add stop condition generation when NACK occurs.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Update I2C_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMAXferCplt(</span></span>), I2C_DMAError() and I2C_DMAAbort() APIs to fix <span class="spelle"><span style="font-family: "Verdana",sans-serif;">hardfault</span></span> issue when <span class="spelle"><span style="font-family: "Verdana",sans-serif;">hdmatx</span></span> and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">hdmarx</span></span> parameters in i2c handle aren't initialized (NULL pointer).<o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Add additional check on hi2c-><span class="spelle"><span style="font-family: "Verdana",sans-serif;">hdmtx</span></span> and hi2c-><span class="spelle"><span style="font-family: "Verdana",sans-serif;">hdmarx</span></span> before resetting DMA Tx/Rx complete <span class="grame"><span style="font-family: "Verdana",sans-serif;">callbacks</span></span><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Update Sequential transfer APIs to adjust <span class="spelle"><span style="font-family: "Verdana",sans-serif;">xfermode</span></span> condition.<o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: rgb(0, 32, 82); margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Replace hi2c-><span class="spelle"><span style="font-family: "Verdana",sans-serif;">XferCount</span></span> < MAX_NBYTE_SIZE by hi2c-><span class="spelle"><span style="font-family: "Verdana",sans-serif;">XferCount</span></span> <= MAX_NBYTE_SIZE which corresponds to a case without reload</span><span style="font-size: 10pt; font-family: "Arial",sans-serif;"><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> <b>HAL/LL USB </b>update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Bug fix: <span class="spelle"><span style="font-family: "Verdana",sans-serif;">USB_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ReadPMA(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">USB_WritePMA</span></span>() by ensuring 16-bits access to USB PMA memory<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Bug fix: correct USB RX count calculation<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Fix USB Bulk transfer double buffer <span class="grame"><span style="font-family: "Verdana",sans-serif;">mode</span></span><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Remove register keyword from USB defined macros as no more supported by C++ <span class="grame"><span style="font-family: "Verdana",sans-serif;">compiler</span></span><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Minor rework on <span class="spelle"><span style="font-family: "Verdana",sans-serif;">USBD_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Start(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">USBD_Stop</span></span>() APIs: stopping device will be handled by <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PCD_DeInit</span></span>() API.<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Remove non used API for USB device mode.<o:p></o:p></span></li> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.7.8 / 12-February-2020</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b></p> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new <b>HAL FMPSMBUS</b> and <b>LL FMPI2C</b> drivers</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General updates to fix known defects and enhancements <span class="grame"><span style="font-family: "Verdana",sans-serif;">implementation</span></span></span><span style=""><o:p></o:p></span></li> </ul> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL CRYP driver to support block by block decryption without reinitializes the IV and KEY for each call.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 12pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Improve code quality by fixing MisraC-2012 <span class="grame"><span style="font-family: "Verdana",sans-serif;">violations</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL/LL USB </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Add handling USB host babble error <span class="grame"><span style="font-family: "Verdana",sans-serif;">interrupt</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Fix Enabling ULPI interface for platforms that integrates USB HS PHY</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Fix Host data toggling for IN Iso transfers</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Ensure to disable USB EP during endpoint <span class="grame"><span style="font-family: "Verdana",sans-serif;">deactivation</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL CRYP </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Update HAL CRYP driver to support block by block decryption without initializing the IV and KEY at each call.</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new CRYP Handler parameters: "<span class="spelle"><span style="font-family: "Verdana",sans-serif;">KeyIVConfig</span></span>" and "<span class="grame"><span style="font-family: "Verdana",sans-serif;">SizesSum"</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new CRYP <span class="spelle"><span style="font-family: "Verdana",sans-serif;">init</span></span> parameter: "<span class="grame"><span style="font-family: "Verdana",sans-serif;">KeyIVConfigSkip"</span></span></span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL I2S </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL_I2S_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMAStop(</span></span>) API to be more safe</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add a check on BSY, TXE and RXNE flags before disabling the <span class="grame"><span style="font-family: "Verdana",sans-serif;">I2S</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL_I2S_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMAStop(</span></span>) API to fix multi-call transfer issue(to avoid re-initializing the I2S for the next transfer).</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add __HAL_I2SEXT_FLUSH_RX_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DR(</span></span>) and __HAL_I2S_FLUSH_RX_DR() macros to flush the remaining data inside DR registers.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new <span class="spelle"><span style="font-family: "Verdana",sans-serif;">ErrorCode</span></span> define: HAL_I2S_ERROR_BUSY_LINE_RX</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.7.7 / 06-December-2019</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b></p> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General updates to fix known defects and enhancements <span class="grame"><span style="font-family: "Verdana",sans-serif;">implementation</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL Generic </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SetTickFreq(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): update to restore the previous tick frequency when <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_InitTick</span></span>() configuration failed.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL/LL GPIO </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update GPIO initialization sequence<b> </b>to avoid unwanted pulse on GPIO <span class="grame"><span style="font-family: "Verdana",sans-serif;">Pin's</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL EXTI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> </ul> <ul style="margin-top: 0in;" type="disc"> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="orphans: 2; widows: 2; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General update to enhance HAL EXTI driver <span class="grame"><span style="font-family: "Verdana",sans-serif;">robustness</span></span> </span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="orphans: 2; widows: 2; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add additional assert check on EXTI config <span class="grame"><span style="font-family: "Verdana",sans-serif;">lines</span></span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="orphans: 2; widows: 2; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to compute EXTI line mask before read/write access to EXTI registers<br style=""> <!--[if !supportLineBreakNewLine]--><br style=""> <!--[endif]--></span><span style=""><o:p></o:p></span></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update EXTI callbacks management to be compliant with reference manual: only one PR register for rising and falling interrupts.</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="orphans: 2; widows: 2; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update parameters in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">EXTI_HandleTypeDef</span></span> structure: merge HAL EXTI <span class="spelle"><span style="font-family: "Verdana",sans-serif;">RisingCallback</span></span> and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FallingCallback</span></span> in only one <span class="spelle"><span style="font-family: "Verdana",sans-serif;">PendingCallback</span></span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="orphans: 2; widows: 2; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove HAL_EXTI_RISING_CB_ID and HAL_EXTI_FALLING_CB_ID values from </span><span class="spelle"><span style="orphans: 2; widows: 2; float: none; word-spacing: 0px;"><span style="">EXTI_CallbackIDTypeDef</span> enumeration.</span></span><span style=""><br style=""> <!--[if !supportLineBreakNewLine]--><br style=""> <!--[endif]--><o:p></o:p></span></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"></span>Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_EXTI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) API to serve interrupts correctly.<span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to compute EXTI line mask before handle EXTI interrupt.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="orphans: 2; widows: 2; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to support GPIO port interrupts:</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="orphans: 2; widows: 2; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new "<span class="spelle"><span style="font-family: "Verdana",sans-serif;">GPIOSel</span></span>" parameter in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">EXTI_ConfigTypeDef</span></span> structure</span></span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL/LL RCC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RCCEx_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">PeriphCLKConfig(</span></span>) API to support PLLI2S configuration for STM32F42xxx and STM32F43xxx devices</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RCC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ClockConfig(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RCC_DeInit</span></span>() API to don't overwrite the custom tick priority</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix <span class="spelle"><span style="font-family: "Verdana",sans-serif;">LL_RCC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DeInit(</span></span>) failure detected with <span class="spelle"><span style="font-family: "Verdana",sans-serif;">gcc</span></span> compiler and high optimization level is selected(-03)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RCC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">OscConfig(</span></span>) API to don't return HAL_ERROR if request repeats the current PLL configuration</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL ADC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">LL_ADC_REG_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) to fix wrong ADC CR1 register configuration</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">The ADC sequencer length is part of ADC SQR1 register not of ADC CR1 register</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL CRYP </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CRYP_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Encrypt(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CRYP_Decrypt</span></span>() APIs to take into consideration the datatype fed to the DIN register (1-, 8-, 16-, or 32-bit data) when padding the last block of the payload, in case the size of this last block is less than 128 bits.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RNG</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RNG_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) API to fix error code management issue: error code is assigned "HAL_RNG_ERROR_CLOCK" in case of clock error and "HAL_RNG_ERROR_SEED" in case of seed error, not the opposite.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DFSDM </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">DFSDM_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">GetChannelFromInstance(</span></span>) API to remove unreachable check condition</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DMA </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DMA_Start_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) API to omit the FIFO error</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL FLASH </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FLASH_Program_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DoubleWord(</span></span>) API to fix with EWARM high level optimization issue</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL QSPI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove Lock mechanism from <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_QSPI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_QSPI_DeInit</span></span>() APIs</span><span style=""> <o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL HASH </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Null pointer on handler "<span class="spelle"><span style="font-family: "Verdana",sans-serif;">hhash</span></span>" is now checked <b>before</b> accessing structure member "<span class="spelle"><span style="font-family: "Verdana",sans-serif;">hhash</span></span>-><span class="spelle"><span style="font-family: "Verdana",sans-serif;">Init.DataType</span></span>" in the following API:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HASH_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Init(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Following <b>interrupt-based</b> APIs have been added. Interrupt mode could allow the MCU to enter "Sleep" mode while a data block is being processed. Please refer to the "##### How to use this driver #####" section for details about their use.</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HASH_SHA1_Accmlt_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HASH_MD5_Accmlt_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HASHEx_SHA224_Accmlt_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HASHEx_SHA256_Accmlt_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Following <b>aliases</b> have been added (just <b>for clarity sake</b>) as they shall be used at the <b>end</b> of the computation of a multi-buffers message and not at the start:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HASH_SHA1_Accmlt_<span class="grame"><span style="font-family: "Verdana",sans-serif;">End(</span></span>) to be used instead of HAL_HASH_SHA1_Start()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HASH_MD5_Accmlt_<span class="grame"><span style="font-family: "Verdana",sans-serif;">End(</span></span>) to be used instead of HAL_HASH_MD5_Start()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HASH_SHA1_Accmlt_End_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) to be used instead of HAL_HASH_SHA1_Start_IT()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HASH_MD5_Accmlt_End_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) to be used instead of HAL_HASH_MD5_Start_IT()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HASHEx_SHA224_Accmlt_<span class="grame"><span style="font-family: "Verdana",sans-serif;">End(</span></span>) to be used instead of HAL_HASHEx_SHA224_Start()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HASHEx_SHA256_Accmlt_<span class="grame"><span style="font-family: "Verdana",sans-serif;">End(</span></span>) to be used instead of HAL_HASHEx_SHA256_Start()</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in;" type="disc"> <ul style="margin-top: 0in;" type="disc"> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HASHEx_SHA224_Accmlt_End_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) to be used instead of HAL_HASHEx_SHA224_Start_IT()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HASHEx_SHA256_Accmlt_End_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) to be used instead of HAL_HASHEx_SHA256_Start_IT()</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in;" type="disc"> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">MISRAC-2012 rule R.5.1 (identifiers shall be distinct in the first 31 characters) constrained the naming of the above listed aliases <b>(</b>e.g. HAL_HASHEx_SHA256_<b>Accmlt</b>_<span class="grame"><span style="font-family: "Verdana",sans-serif;">End(</span></span>) could not be named HAL_HASHEx_SHA256_<b>Accumulate</b>_End(). Otherwise the name would have conflicted with HAL_HASHEx_SHA256_<b>Accumulate</b>_End_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)<b>)</b>. <span class="grame"><span style="font-family: "Verdana",sans-serif;">In order to</span></span> have aligned names following APIs have been renamed:</span><span style=""><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in;" type="disc"> <ul style="margin-top: 0in;" type="disc"> <ul style="margin-top: 0in;" type="disc"> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HASH_MD5_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Accumulate(</span></span>) renamed HAL_HASH_MD5_Accmlt()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HASH_SHA1_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Accumulate(</span></span>) renamed HAL_HASH_SHA1_Accmlt()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HASHEx_SHA224_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Accumulate(</span></span>) renamed HAL_HASHEx_SHA224_Accmlt()</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> </ul> <ul style="margin-top: 0in;" type="disc"> <ul style="margin-top: 0in;" type="disc"> <ul style="margin-top: 0in;" type="disc"> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HASHEx_SHA256_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Accumulate(</span></span>) renamed HAL_HASHEx_SHA256_Accmlt()</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> </ul> <ul style="margin-top: 0in;" type="disc"> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HASH <b>handler</b> state is <b>no <span class="grame"><span style="font-family: "Verdana",sans-serif;">more</span></span></b> reset to HAL_HASH_STATE_READY <b>once DMA has been started</b> in the following APIs:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HASH_MD5_Start_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HMAC_MD5_Start_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HASH_SHA1_Start_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HMAC_SHA1_Start_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HASH <b>phase</b> state is now set to HAL_HASH_PHASE_READY <b>once the digest has been read</b> in the following APIs:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HASH_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HMAC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Processing(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HASH_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Start(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HASH_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Finish(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Case of a large buffer scattered around in memory each piece of which is <b>not</b> necessarily a <b>multiple of 4</b> bytes in length.</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">In section "##### How to use this driver #####", sub-section "*** Remarks on message length ***" added to provide recommendations to follow in such case.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">No modification of the driver as the root-cause is at design-level.</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL CAN </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_CAN_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">GetRxMessage(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) update to get the correct value for the RTR (type of frame for the message that will be transmitted) field in the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">CAN_RxHeaderTypeDef</span></span> structure.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DCMI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DCMI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ConfigSyncUnmask(</span></span>) API to set embedded synchronization delimiters unmasks.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RTC</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Following IRQ handlers' implementation has been aligned with the STM32Cube firmware specification (in case of interrupt lines shared by multiple events, first check the IT enable bit is set then check the IT flag is set too):</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RTC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">AlarmIRQHandler(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RTCEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">WakeUpTimerIRQHandler(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RTCEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">TamperTimeStampIRQHandler(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL WWDG</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">In "##### WWDG Specific features #####" descriptive comment section:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Maximal <span class="spelle"><span style="font-family: "Verdana",sans-serif;">prescaler</span></span> value has been corrected (8 instead of 128).</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Maximal APB frequency has been corrected (42MHz instead of 56MHz) and possible timeout values updated.</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DMA2D </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> </ul> <ul style="margin-top: 0in;" type="disc"> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the following API's to Start DMA2D CLUT Loading.</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DMA2D_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CLUTStartLoad(</span></span>) Start DMA2D CLUT Loading.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DMA2D_CLUTStartLoad_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) Start DMA2D CLUT Loading with interrupt enabled.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">The following old wrong services will be kept in the HAL DCMI driver for legacy purpose and a specific Note is added:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DMA2D_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CLUTLoad(</span></span>) can be replaced with HAL_DMA2D_CLUTStartLoad()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DMA2D_CLUTLoad_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) can be replaced with HAL_DMA2D_CLUTStartLoad_IT()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DMA2D_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ConfigCLUT(</span></span>) can be omitted as the config can be performed using the HAL_DMA2D_CLUTStartLoad() API.</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SDMMC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="grame"><span style="font-size: 11pt; font-family: "Calibri",sans-serif;">Fix typo</span></span><span style="font-size: 11pt; font-family: "Calibri",sans-serif;"> in "<span class="spelle"><span style="font-family: "Calibri",sans-serif;">FileFormatGroup</span></span>" parameter in the <span class="spelle"><span style="font-family: "Calibri",sans-serif;">HAL_MMC_CardCSDTypeDef</span></span> and <span class="spelle"><span style="font-family: "Calibri",sans-serif;">HAL_SD_CardCSDTypeDef</span></span> structures </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix an improve handle state and error <span class="grame"><span style="font-family: "Verdana",sans-serif;">management</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename the defined MMC card capacity type to be more meaningful:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <b>MMC_HIGH_VOLTAGE_CARD</b> to <b>MMC LOW_CAPACITY_CARD</b></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <b>MMC_DUAL_VOLTAGE_CRAD</b> to <b>MMC_HIGH_CAPACITY_CARD</b></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="orphans: 2; widows: 2; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix management of peripheral flags depending on commands or data <span class="grame"><span style="font-family: "Verdana",sans-serif;">transfers</span></span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="orphans: 2; widows: 2; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new defines "SDIO_STATIC_CMD_FLAGS" and "SDIO_STATIC_DATA_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FLAGS"</span></span> </span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="orphans: 2; widows: 2; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Updates HAL SD and HAL MMC drivers to manage the new SDIO static flags.<br style=""> <!--[if !supportLineBreakNewLine]--><br style=""> <!--[endif]--></span><span style=""><o:p></o:p></span></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"></span>Due to limitation SDIO hardware flow control indicated in Errata Sheet:<span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">In 4-bits bus wide mode, do not use the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SD_WriteBlocks_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) or <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SD_WriteBlocks</span></span>() APIs otherwise underrun will occur and it isn't possible to activate the flow control.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Use DMA mode when using 4-bits bus wide mode or decrease the SDIO_CK frequency.</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL UART </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update UART polling processes to handle efficiently the Lock <span class="grame"><span style="font-family: "Verdana",sans-serif;">mechanism</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Move the process unlock at the top of the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_UART_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Receive(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_UART_Transmit</span></span>() API.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix <span class="spelle"><span style="font-family: "Verdana",sans-serif;">baudrate</span></span> calculation error for clock higher than <span class="grame"><span style="font-family: "Verdana",sans-serif;">172Mhz</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add a forced cast on UART_DIV_SAMPLING8() and UART_DIV_SAMPLING16() macros.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove useless parenthesis from UART_DIVFRAQ_SAMPLING8(), UART_DIVFRAQ_SAMPLING16(), UART_BRR_SAMPLING8() and UART_BRR_SAMPLING16() macros to solve some MISRA warnings.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update UART interruption handler to manage correctly the overrun <span class="grame"><span style="font-family: "Verdana",sans-serif;">interrupt</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add in the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_UART_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) API a check on USART_CR1_RXNEIE bit when an overrun interrupt occurs.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix <span class="spelle"><span style="font-family: "Verdana",sans-serif;">baudrate</span></span> calculation error UART9 and <span class="grame"><span style="font-family: "Verdana",sans-serif;">UART10</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">In <span class="spelle"><span style="font-family: "Verdana",sans-serif;">UART_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">SetConfig(</span></span>) API fix UART9 and UART10 clock source when computing <span class="spelle"><span style="font-family: "Verdana",sans-serif;">baudrate</span></span> values by adding a check on these instances and setting clock sourcePCLK2 instead of PCLK1.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">UART_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">SetConfig(</span></span>) API</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Split HAL_RCC_GetPCLK1<span class="grame"><span style="font-family: "Verdana",sans-serif;">Freq(</span></span>) and HAL_RCC_GetPCLK2Freq() macros from the UART_BRR_SAMPLING8() and UART_BRR_SAMPLING8() macros </span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL USART </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix <span class="spelle"><span style="font-family: "Verdana",sans-serif;">baudrate</span></span> calculation error for clock higher than <span class="grame"><span style="font-family: "Verdana",sans-serif;">172Mhz</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add a forced cast on USART_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DIV(</span></span>) macro.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove useless parenthesis from USART_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DIVFRAQ(</span></span>) macro to solve some MISRA warnings.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update USART interruption handler to manage correctly the overrun <span class="grame"><span style="font-family: "Verdana",sans-serif;">interrupt</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add in the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_USART_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) API a check on USART_CR1_RXNEIE bit when an overrun interrupt occurs.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix <span class="spelle"><span style="font-family: "Verdana",sans-serif;">baudrate</span></span> calculation error UART9 and <span class="grame"><span style="font-family: "Verdana",sans-serif;">UART10</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">In <span class="spelle"><span style="font-family: "Verdana",sans-serif;">USART_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">SetConfig(</span></span>) API fix UART9 and UART10 clock source when computing <span class="spelle"><span style="font-family: "Verdana",sans-serif;">baudrate</span></span> values by adding a check on these instances and setting clock sourcePCLK2 instead of PCLK1.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">USART_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">SetConfig(</span></span>) API</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Split HAL_RCC_GetPCLK1<span class="grame"><span style="font-family: "Verdana",sans-serif;">Freq(</span></span>) and HAL_RCC_GetPCLK2Freq() macros from the USART_BRR() macro</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL IRDA </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix <span class="spelle"><span style="font-family: "Verdana",sans-serif;">baudrate</span></span> calculation error for clock higher than <span class="grame"><span style="font-family: "Verdana",sans-serif;">172Mhz</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add a forced cast on IRDA_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DIV(</span></span>) macro.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove useless parenthesis from IRDA_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DIVFRAQ(</span></span>) macro to solve some MISRA warnings.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update IRDA interruption handler to manage correctly the overrun <span class="grame"><span style="font-family: "Verdana",sans-serif;">interrupt</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add in the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_IRDA_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) API a check on USART_CR1_RXNEIE bit when an overrun interrupt occurs.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix <span class="spelle"><span style="font-family: "Verdana",sans-serif;">baudrate</span></span> calculation error UART9 and <span class="grame"><span style="font-family: "Verdana",sans-serif;">UART10</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">In <span class="spelle"><span style="font-family: "Verdana",sans-serif;">IRDA_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">SetConfig(</span></span>) API fix UART9 and UART10 clock source when computing <span class="spelle"><span style="font-family: "Verdana",sans-serif;">baudrate</span></span> values by adding a check on these instances and setting clock sourcePCLK2 instead of PCLK1.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">IRDA_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">SetConfig(</span></span>) API</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Split HAL_RCC_GetPCLK1<span class="grame"><span style="font-family: "Verdana",sans-serif;">Freq(</span></span>) and HAL_RCC_GetPCLK2Freq() macros from the IRDA_BRR() macro</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SMARTCARD </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix <span class="spelle"><span style="font-family: "Verdana",sans-serif;">baudrate</span></span> calculation error for clock higher than <span class="grame"><span style="font-family: "Verdana",sans-serif;">172Mhz</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add a forced cast on SMARTCARD_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DIV(</span></span>) macro.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove useless parenthesis from SMARTCARD_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DIVFRAQ(</span></span>) macro to solve some MISRA warnings.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update SMARTCARD interruption handler to manage correctly the overrun <span class="grame"><span style="font-family: "Verdana",sans-serif;">interrupti</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add in the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SMARTCARD_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) API a check on USART_CR1_RXNEIE bit when an overrun interrupt occurs.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SMARTCARD_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">SetConfig(</span></span>) API</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Split HAL_RCC_GetPCLK1<span class="grame"><span style="font-family: "Verdana",sans-serif;">Freq(</span></span>) and HAL_RCC_GetPCLK2Freq() macros from the SMARTCARD_BRR() macro</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL TIM </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new macros to enable and disable the fast mode when using the one pulse mode to output a waveform with a minimum <span class="grame"><span style="font-family: "Verdana",sans-serif;">delay</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__<span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIM_ENABLE_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">OCxFAST(</span></span>) and __<span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIM_DISABLE_OCxFAST</span></span>().</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update Encoder interface mode to keep <span class="spelle"><span style="font-family: "Verdana",sans-serif;">TIM_CCER_CCxNP</span></span> bits <span class="grame"><span style="font-family: "Verdana",sans-serif;">low</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add TIM_ENCODERINPUTPOLARITY_RISING and TIM_ENCODERINPUTPOLARITY_FALLING definitions to determine encoder input polarity.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add IS_TIM_ENCODERINPUT_<span class="grame"><span style="font-family: "Verdana",sans-serif;">POLARITY(</span></span>) macro to check the encoder input polarity.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIM_Encoder_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) API </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Replace IS_TIM_IC_<span class="grame"><span style="font-family: "Verdana",sans-serif;">POLARITY(</span></span>) macro by IS_TIM_ENCODERINPUT_POLARITY() macro.</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update TIM remapping input configuration in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIMEx_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">RemapConfig(</span></span>) API</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove redundant check on LPTIM_OR_TIM5_ITR1_RMP bit and replace it by check on LPTIM_OR_TIM9_ITR1_RMP bit.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIMEx_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">MasterConfigSynchronization(</span></span>) API to avoid functional errors and assert fails when using some TIM instances as input trigger.</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Replace IS_TIM_SYNCHRO_<span class="grame"><span style="font-family: "Verdana",sans-serif;">INSTANCE(</span></span>) macro by IS_TIM_MASTER_INSTANCE() macro. </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add IS_TIM_SLAVE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">INSTANCE(</span></span>) macro to check on TIM_SMCR_MSM bit.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add lacking TIM input remapping <span class="grame"><span style="font-family: "Verdana",sans-serif;">definition</span></span> </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add LL_TIM_TIM11_TI1_RMP_SPDIFRX and LL_TIM_TIM2_ITR1_RMP_ETH_PTP.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add lacking definition for linked LPTIM_TIM input trigger <span class="grame"><span style="font-family: "Verdana",sans-serif;">remapping</span></span> </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add following <span class="grame"><span style="font-family: "Verdana",sans-serif;">definitions :</span></span> LL_TIM_TIM9_ITR1_RMP_TIM3_TRGO, LL_TIM_TIM9_ITR1_RMP_LPTIM, LL_TIM_TIM5_ITR1_RMP_TIM3_TRGO, LL_TIM_TIM5_ITR1_RMP_LPTIM, LL_TIM_TIM1_ITR2_RMP_TIM3_TRGO and LL_TIM_TIM1_ITR2_RMP_LPTIM.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add a new mechanism in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">LL_TIM_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">SetRemap(</span></span>) API to remap TIM1, TIM9, and TIM5 input triggers mapped on LPTIM register. </span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL LPTIM </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add a polling mechanism to check on LPTIM_FLAG_XXOK flags in different <span class="grame"><span style="font-family: "Verdana",sans-serif;">API</span></span> </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add </span></span><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LPTIM_WaitForFlag</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">() API to wait for flag set.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Perform new checks on HAL_LPTIM_STATE_TIMEOUT.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add lacking definitions of LPTIM input trigger remapping and its related <span class="grame"><span style="font-family: "Verdana",sans-serif;">API</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL_LPTIM_INPUT1_SRC_PAD_AF, LL_LPTIM_INPUT1_SRC_PAD_PA4, LL_LPTIM_INPUT1_SRC_PAD_PB9 and LL_LPTIM_INPUT1_SRC_TIM_DAC.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add a new API LL_LPTIM_SetInput1<span class="grame"><span style="font-family: "Verdana",sans-serif;">Src(</span></span>) to access to the LPTIM_OR register and remap the LPTIM input trigger.</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Perform a new check on indirect EXTI23 line associated to the LPTIM wake up <span class="grame"><span style="font-family: "Verdana",sans-serif;">timer</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Condition the use of the LPTIM Wake-up Timer associated EXTI line configuration's macros by EXTI_IMR_MR23 bit in different <span class="grame"><span style="font-family: "Verdana",sans-serif;">API :</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE/DDISABLE_FALLING_<span class="grame"><span style="font-family: "Verdana",sans-serif;">EDGE(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_FALLING_<span class="grame"><span style="font-family: "Verdana",sans-serif;">EDGE(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE_RISING_<span class="grame"><span style="font-family: "Verdana",sans-serif;">EDGE(</span></span>) </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_RISING_<span class="grame"><span style="font-family: "Verdana",sans-serif;">EDGE(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE_RISING_FALLING_<span class="grame"><span style="font-family: "Verdana",sans-serif;">EDGE(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_RISING_FALLING_<span class="grame"><span style="font-family: "Verdana",sans-serif;">EDGE(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_LPTIM_WAKEUPTIMER_EXTI_GET_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FLAG(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_LPTIM_WAKEUPTIMER_EXTI_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FLAG(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_LPTIM_WAKEUPTIMER_EXTI_GENERATE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">SWIT(</span></span>) </span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update</span><span style=""> </span><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_LPTIM_TimeOut_Start_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_LPTIM_TimeOut_Stop_IT</span></span>(), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_LPTIM_Counter_Start_IT</span></span>() and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_LPTIM_Counter_Stop_IT</span></span>() API by adding Enable/Disable rising edge trigger on the LPTIM Wake-up Timer <span class="spelle"><span style="font-family: "Verdana",sans-serif;">Exti</span></span> line.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add __HAL_LPTIM_WAKEUPTIMER_EXTI_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FLAG(</span></span>) in the end of the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_LPTIM_IRQHandler</span></span>() API conditioned by EXTI_IMR_MR23 bit.</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL I2C </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul type="circle"> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL_I2C_EV_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) API to fix I2C send break issue </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add additional check on hi2c-><span class="spelle"><span style="font-family: "Verdana",sans-serif;">hdmatx</span></span>, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">hdmatx</span></span>-><span class="spelle"><span style="font-family: "Verdana",sans-serif;">XferCpltCallback</span></span>, hi2c-><span class="spelle"><span style="font-family: "Verdana",sans-serif;">hdmarx</span></span>, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">hdmarx</span></span>-><span class="spelle"><span style="font-family: "Verdana",sans-serif;">XferCpltCallback</span></span> in I2C_Master_<span class="grame"><span style="font-family: "Verdana",sans-serif;">SB(</span></span>) API to avoid enabling DMA request when IT mode is used.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL_I2C_ER_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) API to fix acknowledge failure issue with I2C memory IT processes</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Add stop condition generation when NACK occurs.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL_I2C_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) API to force software reset before setting new I2C configuration</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL I2C processes to report <span class="spelle"><span style="font-family: "Verdana",sans-serif;">ErrorCode</span></span> when wrong I2C start condition <span class="grame"><span style="font-family: "Verdana",sans-serif;">occurs</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Add new <span class="spelle"><span style="font-family: "Verdana",sans-serif;">ErrorCode</span></span> define: HAL_I2C_WRONG_START</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Set <span class="spelle"><span style="font-family: "Verdana",sans-serif;">ErrorCode</span></span> parameter in I2C handle to HAL_I2C_WRONG_START</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update I2C_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMAXferCplt(</span></span>), I2C_DMAError() and I2C_DMAAbort() APIs to fix <span class="spelle"><span style="font-family: "Verdana",sans-serif;">hardfault</span></span> issue when <span class="spelle"><span style="font-family: "Verdana",sans-serif;">hdmatx</span></span> and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">hdmarx</span></span> parameters in i2c handle aren't initialized (NULL pointer).</span><span style=""> <o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add additional check on hi2c-><span class="spelle"><span style="font-family: "Verdana",sans-serif;">hdmtx</span></span> and hi2c-><span class="spelle"><span style="font-family: "Verdana",sans-serif;">hdmarx</span></span> before resetting DMA Tx/Rx complete <span class="grame"><span style="font-family: "Verdana",sans-serif;">callbacks</span></span></span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL FMPI2C </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix HAL FMPI2C slave interrupt handling issue with I2C sequential transfers.</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update FMPI2C_Slave_ISR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) and FMPI2C_Slave_ISR_DMA() APIs to check on STOP condition and handle it before clearing the ADDR flag</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL NAND </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL_NAND_Write_Page_8<span class="grame"><span style="font-family: "Verdana",sans-serif;">b(</span></span>), HAL_NAND_Write_Page_16b() and HAL_NAND_Write_SpareArea_16b() to manage correctly the time out condition.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SAI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Optimize <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SAI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DMATxCplt(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SAI_DMARxCplt</span></span>() APIs to check on "Mode" parameter instead of CIRC bit in the CR register.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove unused SAI_FIFO_SIZE define</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_Receive_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>) programming sequence to be <span class="spelle"><span style="font-family: "Verdana",sans-serif;">inline</span></span> with reference manual</span><span style=""><o:p></o:p></span></li> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.7.6 / 12-April-2019</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b></p> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General updates to fix known defects and enhancements <span class="grame"><span style="font-family: "Verdana",sans-serif;">implementation</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL I2C </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix I2C send break issue in IT <span class="grame"><span style="font-family: "Verdana",sans-serif;">processes</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add additional check on hi2c-><span class="spelle"><span style="font-family: "Verdana",sans-serif;">hdmatx</span></span> and hi2c-><span class="spelle"><span style="font-family: "Verdana",sans-serif;">hdmarx</span></span> to avoid the DMA request enable when IT mode is used.</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SPI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to implement <span class="spelle"><span style="font-family: "Verdana",sans-serif;">Erratasheet</span></span>: BSY bit may stay high at the end of a data transfer in Slave <span class="grame"><span style="font-family: "Verdana",sans-serif;">mode</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL LPTIM </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix compilation errors with <span class="spelle"><span style="font-family: "Verdana",sans-serif;">LL_LPTIM_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">WriteReg(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">LL_LPTIM_ReadReg</span></span>() macros</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SDMMC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix preprocessing compilation issue with SDIO STA STBITERR interrupt</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL/LL USB </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Updated <span class="spelle"><span style="font-family: "Verdana",sans-serif;">USB_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">WritePacket(</span></span>), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">USB_ReadPacket</span></span>() APIs to prevent compilation warning with GCC GNU v8.2.0<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rework <span class="spelle"><span style="font-family: "Verdana",sans-serif;">USB_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">EPStartXfer(</span></span>) API to enable the USB endpoint before unmasking the TX <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FiFo</span></span> empty interrupt in case DMA is not used<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">USB <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_HCD_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PCD_Init</span></span>() APIs updated to avoid enabling USB DMA feature for OTG FS instance, USB DMA feature is available only on OTG HS Instance<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove duplicated line in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">hal_hcd.c</span></span> header file comment <span class="grame"><span style="font-family: "Verdana",sans-serif;">section</span></span> <o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rework USB HAL driver to use instance <span class="spelle"><span style="font-family: "Verdana",sans-serif;">PCD_SPEED_xxx</span></span>, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HCD_SPEED_xx</span></span> speeds instead of OTG register Core speed definition during the instance <span class="grame"><span style="font-family: "Verdana",sans-serif;">initialization</span></span><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Software Quality improvement with a fix of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">CodeSonar</span></span> warning on <span class="spelle"><span style="font-family: "Verdana",sans-serif;">PCD_Port_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HCD_Port_IRQHandler</span></span>() interrupt handlers<o:p></o:p></span></li> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.7.5 / 08-February-2019</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b><o:p></o:p></p> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General updates to fix known defects and enhancements <span class="grame"><span style="font-family: "Verdana",sans-serif;">implementation</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General updates to fix <span class="spelle"><span style="font-family: "Verdana",sans-serif;">CodeSonar</span></span> compilation <span class="grame"><span style="font-family: "Verdana",sans-serif;">warnings</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General updates to fix SW4STM32 compilation errors under <span class="grame"><span style="font-family: "Verdana",sans-serif;">Linux</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General updates to fix the user manual .chm <span class="grame"><span style="font-family: "Verdana",sans-serif;">files</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add support of HAL callback registration <span class="grame"><span style="font-family: "Verdana",sans-serif;">feature</span></span></span><span style=""><o:p></o:p></span></li> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><b>HAL EXTI</b><span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>driver</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><b>HAL SMBUS</b><span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>driver</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">The following changes done on the HAL drivers require an update on the application code based on older HAL <span class="grame"><span style="font-family: "Verdana",sans-serif;">versions</span></span></span></b><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rework of HAL CRYP driver<b> (compatibility break) </b></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL CRYP driver has been redesigned with new API's, to bypass limitations on data Encryption/Decryption management present with previous HAL CRYP driver version.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">The new HAL CRYP driver is the recommended version. It is located as usual in Drivers/STM32F4xx_HAL_Driver/<span class="spelle"><span style="font-family: "Verdana",sans-serif;">Src</span></span> and Drivers/STM32f4xx_HAL_Driver/Inc folders. It can be enabled through switch HAL_CRYP_MODULE_ENABLED in stm32f4xx_hal_conf.h</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">The legacy HAL CRYP driver is no longer supported.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new <span class="spelle"><span style="font-family: "Verdana",sans-serif;">AutoReloadPreload</span></span> field in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">TIM_Base_InitTypeDef</span></span> structure to allow the possibilities to enable or disable the TIM Auto Reload Preload.</span><span style=""><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL/LL Generic </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add support of <b>HAL callback registration</b> <span class="grame"><span style="font-family: "Verdana",sans-serif;">feature</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">The feature disabled by default is available for the following HAL drivers:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">ADC, CAN, CEC, CRYP, DAC, DCMI, DFSDM, DMA2D, DSI, ETH, HASH, HCD, I2C, FMPI2C, SMBUS,<br> UART, USART, IRDA, SMARTCARD, LPTIM, LTDC, MMC, NAND, <span class="grame"><span style="font-family: "Verdana",sans-serif;">NOR,</span></span> PCCARD, PCD, QSPI, RNG,</span></b><span style=""><br> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">RTC, SAI, SD, SDRAM, SRAM, SPDIFRX, SPI, I2S, TIM, </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">and<b> WWDG</b></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">The feature may be enabled individually per HAL <i>PPP</i> driver by setting the corresponding definition USE_HAL_<i>PPP</i>_REGISTER_CALLBACKS to 1U in stm32f4xx_hal_conf.h project configuration file (template file stm32f4xx_hal_conf_template.h available <span class="grame"><span style="font-family: "Verdana",sans-serif;">from Drivers</span></span>/STM32F4xx_HAL_Driver/Inc)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Once <span class="grame"><span style="font-family: "Verdana",sans-serif;">enabled ,</span></span> the user application may resort to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PPP_RegisterCallback</span></span>() to register specific callback function(s) and unregister it(them) with <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_<i>PPP</i>_UnRegisterCallback</span></span>().</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General updates to fix MISRA 2012 compilation <span class="grame"><span style="font-family: "Verdana",sans-serif;">errors</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Replace <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">GetUID(</span></span>) API by HAL_GetUIDw0(), HAL_GetUIDw1() and HAL_GetUIDw2()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_IS_BIT_SET()/HAL_IS_BIT_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CLR(</span></span>) macros implementation update</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">"<span class="spelle"><span style="font-family: "Verdana",sans-serif;">stdio.h</span></span>" include updated with "<span class="spelle"><span style="font-family: "Verdana",sans-serif;">stddef.</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">h</span></span>"</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL <span class="grame"><span style="font-family: "Verdana",sans-serif;">GPIO </span></span></span></b><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add missing define for SPI3 alternate function "GPIO_AF5_SPI3" for STM32F401VE devices</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove "GPIO_AF9_TIM14" from defined alternate function list for STM32F401xx <span class="grame"><span style="font-family: "Verdana",sans-serif;">devices</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_GPIO_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">TogglePin(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) reentrancy robustness improvement</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_GPIO_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DeInit(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) API update to avoid potential pending interrupt after call</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update GPIO_GET_<span class="grame"><span style="font-family: "Verdana",sans-serif;">INDEX(</span></span>) API for more compliance with STM32F412Vx/STM32F412Rx/STM32F412Cx devices</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update GPIO_BRR registers with Reference Manual regarding registers and bit definition values</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL CRYP</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">The <span class="spelle"><span style="font-family: "Verdana",sans-serif;">CRYP_InitTypeDef</span></span> </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">is no more supported, changed by <span class="spelle"><b><span style="font-family: "Verdana",sans-serif;">CRYP_ConfigTypedef</span></b></span> to allow changing parameters using <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CRYP_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">setConfig(</span></span>) API without reinitialize the CRYP IP using the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CRYP_Init</span></span>() API</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">New parameters added in the <span class="spelle"><b><span style="font-family: "Verdana",sans-serif;">CRYP_ConfigTypeDef</span></b></span> structure: <b>B0</b> and <span class="grame"><b><span style="font-family: "Verdana",sans-serif;">DataWidthUnit</span></b></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Input data size parameter is added in the <span class="spelle"><b><span style="font-family: "Verdana",sans-serif;">CRYP_HandleTypeDef</span></b></span> structure</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new APIs to manage the CRYP configuration:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CRYP_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">SetConfig(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_CRYP_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">GetConfig(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new APIs to manage the Key derivation:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_CRYPEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">EnableAutoKeyDerivation(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_CRYPEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DisableAutoKeyDerivation(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new APIs to encrypt and decrypt data:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_CRYP_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Encypt(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_CRYP_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Decypt(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_CRYP_Encypt_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_CRYP_Decypt_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_CRYP_Encypt_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DMA(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_CRYP_Decypt_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DMA(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new APIs to generate TAG:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_CRYPEx_AES<b>GCM</b>_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">GenerateAuthTAG(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_CRYPEx_AES<b>CCM</b>_Generago</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> <span class="grame"><span style="font-family: "Verdana",sans-serif;">teAuthTAG(</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL LPTIM </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove useless LPTIM Wakeup EXTI related macros from <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_LPTIM_TimeOut_Start_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) API</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL I2C</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">I2C API changes for MISRA-C 2012 compliancy:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename HAL_I2C_Master_Sequential_Transmit_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) to HAL_I2C_Master_Seq_Transmit_IT()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename HAL_I2C_Master_Sequentiel_Receive_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) to HAL_I2C_Master_Seq_Receive_IT()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename HAL_I2C_Slave_Sequentiel_Transmit_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) to HAL_I2C_Slave_Seq_Transmit_IT() </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename HAL_I2C_Slave_Sequentiel_Receive_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>) to HAL_I2C_Slave_Seq_Receive_DMA()</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SMBUS defined flags are removed as not used by the HAL I2C driver</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">I2C_FLAG_SMBALERT</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">I2C_FLAG_TIMEOUT</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">I2C_FLAG_PECERR</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">I2C_FLAG_SMBHOST</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">I2C_FLAG_SMBDEFAULT</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add support of I2C repeated start feature in DMA Mode:</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">With the following new API's</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_I2C_Master_Seq_Transmit_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_I2C_Master_Seq_Receive_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_I2C_Slave_Seq_Transmit_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_I2C_Slave_Seq_Receive_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new I2C transfer options to easy manage the sequential <span class="grame"><span style="font-family: "Verdana",sans-serif;">transfers</span></span></span><span style="font-size: 10pt;"><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">I2C_FIRST_AND_NEXT_FRAME</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">I2C_LAST_FRAME_NO_STOP</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">I2C_OTHER_FRAME</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">I2C_OTHER_AND_LAST_FRAME</span><span style="font-size: 10pt;"><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL FMPI2C</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">I2C API changes for MISRA-C 2012 compliancy:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename HAL_FMPI2C_Master_Sequential_Transmit_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) to HAL_FMPI2C_Master_Seq_Transmit_IT()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename HAL_FMPI2C_Master_Sequentiel_Receive_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) to HAL_FMPI2C_Master_Seq_Receive_IT()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename HAL_FMPI2C_Master_Sequentiel_Transmit_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>) to HAL_FMPI2C_Master_Seq_Transmit_DMA() </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename HAL_FMPI2C_Master_Sequentiel_Receive_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>) to HAL_FMPI2C_Master_Seq_Receive_DMA()</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename FMPI2C_CR1_DFN to FMPI2C_CR1_DNF for more compliance with Reference Manual regarding registers and bit definition <span class="grame"><span style="font-family: "Verdana",sans-serif;">naming</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add support of I2C repeated start feature in DMA Mode:</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">With the following new API's</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_FMPI2C_Master_Seq_Transmit_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_FMPI2C_Master_Seq_Receive_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_FMPI2C_Slave_Seq_Transmit_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_FMPI2C_Slave_Seq_Receive_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> </ul> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL FLASH </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FLASH_OB_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">GetRDP(</span></span>) API to return the correct RDP level</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="grame"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RCC</span></b></span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove GPIOD CLK macros for STM32F412Cx devices (X = D)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove GPIOE CLK macros for STM32F412Rx\412Cx devices: (X = E)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove GPIOF/G CLK macros for STM32F412Vx\412Rx\412Cx devices (X= F or G)</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_GPIO<b>X</b>_CLK_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLE(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_GPIO<b>X</b>_CLK_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DISABLE(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_GPIO<b>X</b>_IS_CLK_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLED(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_GPIO<b>X</b>_IS_CLK_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DISABLED(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_GPIO<b>X</b>_FORCE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">RESET(</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RNG </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to manage RNG error code: </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add <span class="spelle"><span style="font-family: "Verdana",sans-serif;">ErrorCode</span></span> parameter in HAL RNG Handler structure</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL ADC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add __LL_ADC_CALC_<span class="grame"><span style="font-family: "Verdana",sans-serif;">TEMPERATURE(</span></span>) helper macro to calculate the temperature (unit: degree Celsius) from ADC conversion data of internal temperature sensor.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix ADC channels configuration issues on STM32F413xx/423xx <span class="grame"><span style="font-family: "Verdana",sans-serif;">devices</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">To allow possibility to switch between VBAT and TEMPERATURE channels <span class="grame"><span style="font-family: "Verdana",sans-serif;">configurations</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_ADC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Start(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_ADC_Start_IT</span></span>() and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_ADC_Start_DMA</span></span>() update to prevention from starting ADC2 or ADC3 once multimode is enabled</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL <span class="grame"><span style="font-family: "Verdana",sans-serif;">DFSDM </span></span></span></b><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General updates to be compliant with DFSDM bits naming used in CMSIS files.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL <span class="grame"><span style="font-family: "Verdana",sans-serif;">CAN </span></span></span></b><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update possible values list for <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FilterActivation</span></span> parameter in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">CAN_FilterTypeDef</span></span> structure</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">CAN_FILTER_ENABLE instead of <span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLE</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">CAN_FILTER_DISABLE instead of <span class="grame"><span style="font-family: "Verdana",sans-serif;">DISABLE</span></span></span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL <span class="grame"><span style="font-family: "Verdana",sans-serif;">CEC </span></span></span></b><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL CEC State management method:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CEC_StateTypeDef</span></span> structure <span class="grame"><span style="font-family: "Verdana",sans-serif;">parameters</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new defines for CEC <span class="grame"><span style="font-family: "Verdana",sans-serif;">states</span></span></span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL <span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA </span></span></span></b><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add clean of callbacks in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DMA_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DeInit(</span></span>) API</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DMA2<span class="grame"><span style="font-family: "Verdana",sans-serif;">D </span></span></span></b><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove unused DMA2D_ColorTypeDef structure to be compliant with MISRAC 2012 Rule 2.3</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General update to use dedicated defines for DMA2D_BACKGROUND_LAYER and DMA2D_FOREGROUND_LAYER instead of numerical values: 0/1.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL <span class="grame"><span style="font-family: "Verdana",sans-serif;">DSI </span></span></span></b><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix read multibyte issue: remove extra call to __HAL_UNLOCK__ from <span class="spelle"><span style="font-family: "Verdana",sans-serif;">DSI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ShortWrite(</span></span>) API.</span><span style=""><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL/LL RTC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL/ LL <span class="grame"><span style="font-family: "Verdana",sans-serif;">drivers</span></span> optimization</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL driver: remove unused <span class="grame"><span style="font-family: "Verdana",sans-serif;">variables</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL driver: getter APIs optimization</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL PWR </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove the followings API's as feature not supported by STM32F469xx/479xx <span class="grame"><span style="font-family: "Verdana",sans-serif;">devices</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_PWREx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">EnableWakeUpPinPolarityRisingEdge(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_PWREx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">EnableWakeUpPinPolarityRisingEdge(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SPI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SPI_StateTypeDef</span></span> structure to add new state: HAL_SPI_STATE_ABORT</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL/LL TIM </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new <span class="spelle"><span style="font-family: "Verdana",sans-serif;">AutoReloadPreload</span></span> field in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">TIM_Base_InitTypeDef</span></span> structure</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Refer to the TIM examples to identify the <span class="grame"><span style="font-family: "Verdana",sans-serif;">changes</span></span><b> </b></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Move the following TIM structures from stm32f4xx_hal_tim_ex.h into stm32f4xx_hal_tim.h</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">TIM_MasterConfigTypeDef</span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">TIM_BreakDeadTimeConfigTypeDef</span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new TIM Callbacks API's:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_TIM_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">PeriodElapsedHalfCpltCallback(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_TIM_IC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">CaptureHalfCpltCallback(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_TIM_PWM_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">PulseFinishedHalfCpltCallback(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_TIM_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">TriggerHalfCpltCallback(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">TIM API changes for MISRA-C 2012 compliancy:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIM_SlaveConfigSynchronization</span></span> to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIM_SlaveConfigSynchro</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIM_SlaveConfigSynchronization_IT</span></span> to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIM_SlaveConfigSynchro_IT</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIMEx_ConfigCommutationEvent</span></span> to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIMEx_ConfigCommutEvent</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIMEx_ConfigCommutationEvent_IT</span></span> to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIMEx_ConfigCommutEvent_IT</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIMEx_ConfigCommutationEvent_DMA</span></span> to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIMEx_ConfigCommutEvent_DMA</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIMEx_CommutationCallback</span></span> to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIMEx_CommutCallback</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIMEx_DMACommutationCplt</span></span> to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">TIMEx_DMACommutationCplt</span></span></span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL/LL USB</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rework USB interrupt handler and improve HS DMA support in Device <span class="grame"><span style="font-family: "Verdana",sans-serif;">mode</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix BCD handling <span class="spelle"><span style="font-family: "Verdana",sans-serif;">fr</span></span> OTG instance in device <span class="grame"><span style="font-family: "Verdana",sans-serif;">mode</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">cleanup reference to low speed in device mode</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">allow writing TX FIFO in case of transfer length is equal to available space in the TX <span class="grame"><span style="font-family: "Verdana",sans-serif;">FIFO</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix Toggle OUT interrupt channel in host <span class="grame"><span style="font-family: "Verdana",sans-serif;">mode</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update USB OTG max number of endpoints (6 FS and 9 HS instead of 5 and 8)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update USB OTG IP to enable internal transceiver when starting USB device after committee BCD <span class="grame"><span style="font-family: "Verdana",sans-serif;">negotiation</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL IWDG </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update LL inline macros to use <span class="spelle"><span style="font-family: "Verdana",sans-serif;">IWDGx</span></span> parameter instead of IWDG instance defined in CMSIS <span class="grame"><span style="font-family: "Verdana",sans-serif;">device</span></span></span><span style=""><o:p></o:p></span></li> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.7.4 / 02-February-2018</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b><o:p></o:p></p> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General updates to fix known defects and enhancements <span class="grame"><span style="font-family: "Verdana",sans-serif;">implementation</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="grame"><span style="font-family: "Verdana",sans-serif;">UNUSED(</span></span>) macro implementation to avoid GCC warning</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">The warning is detected when the <span class="grame"><span style="font-family: "Verdana",sans-serif;">UNUSED(</span></span>) macro is called from C++ file</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to make RAMFUNC define as generic type instead of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_StatusTypdef</span></span> type.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL FLASH </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update the prototypes of the following APIs after change on RAMFUNC <span class="grame"><span style="font-family: "Verdana",sans-serif;">defines</span></span> </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_FLASHEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">StopFlashInterfaceClk(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_FLASHEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">StartFlashInterfaceClk(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_FLASHEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">EnableFlashSleepMode(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_FLASHEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DisableFlashSleepMode(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SAI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DMAStop(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_Abort</span></span>() process to fix the lock/unlock audio issue</span><span style=""><o:p></o:p></span></li> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.7.3 / 22-December-2017</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b><o:p></o:p></p> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General updates to fix known defects and enhancements <span class="grame"><span style="font-family: "Verdana",sans-serif;">implementation</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">The following changes done on the HAL drivers require an update on the application code based on older HAL <span class="grame"><span style="font-family: "Verdana",sans-serif;">versions</span></span></span></b><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rework of HAL CAN driver (compatibility break) </span></b><b><span style=""><o:p></o:p></span></b></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">A new HAL CAN driver has been redesigned with new APIs, to bypass limitations on CAN Tx/Rx FIFO management present with previous HAL CAN driver version.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">The new HAL CAN driver is the recommended version. It is located as usual in Drivers/STM32F4xx_HAL_Driver/<span class="spelle"><span style="font-family: "Verdana",sans-serif;">Src</span></span> and Drivers/STM32f4xx_HAL_Driver/Inc folders. It can be enabled through switch HAL_CAN_MODULE_ENABLED in stm32f4xx_hal_conf.h</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">The legacy HAL CAN driver is also present in the release in Drivers/STM32F4xx_HAL_Driver/<span class="spelle"><span style="font-family: "Verdana",sans-serif;">Src</span></span>/Legacy and Drivers/STM32F4xx_HAL_Driver/Inc/Legacy folders for software compatibility reasons. Its usage is not recommended as deprecated. It can however be enabled through switch HAL_CAN_LEGACY_MODULE_ENABLED in stm32f4xx_hal_conf.h</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL driver to allow user to change <span class="spelle"><span style="font-family: "Verdana",sans-serif;">systick</span></span> period to 1ms, 10 <span class="spelle"><span style="font-family: "Verdana",sans-serif;">ms</span></span> or 100 <span class="grame"><span style="font-family: "Verdana",sans-serif;">ms :</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the following <span class="grame"><span style="font-family: "Verdana",sans-serif;">API's :</span></span> </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">GetTickPrio(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): Returns a tick priority.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SetTickFreq(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): Sets new tick frequency.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">GetTickFreq(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): Returns tick frequency.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TickFreqTypeDef</span></span> enumeration for the different Tick Frequencies: 10 Hz, 100 Hz and 1KHz (default).</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL CAN </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fields of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">CAN_InitTypeDef</span></span> structure are reworked:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SJW to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SyncJumpWidth</span></span>, BS1 to TimeSeg1, BS2 to TimeSeg2, TTCM to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">TimeTriggeredMode</span></span>, ABOM to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">AutoBusOff</span></span>, AWUM to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">AutoWakeUp</span></span>, NART to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">AutoRetransmission</span></span> (inversed), RFLM to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">ReceiveFifoLocked</span></span> and TXFP to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">TransmitFifoPriority</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_CAN_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Init(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) is split into both <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CAN_Init</span></span>() and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CAN_Start</span></span>() API's</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_CAN_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Transmit(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) is replaced by <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CAN_AddTxMessage</span></span>() to place Tx Request, then <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CAN_GetTxMailboxesFreeLevel</span></span>() for polling until completion.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_CAN_Transmit_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) is replaced by <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CAN_ActivateNotification</span></span>() to enable transmit IT, then <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CAN_AddTxMessage</span></span>() for place Tx request.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_CAN_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Receive(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) is replaced by <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CAN_GetRxFifoFillLevel</span></span>() for polling until reception, then <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CAN_GetRxMessage</span></span>() <br> to get Rx message.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_CAN_Receive_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) is replaced by <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CAN_ActivateNotification</span></span>() to enable receive IT, then <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CAN_GetRxMessage</span></span>()<br> in the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">receivecallback</span></span> to get Rx message</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_CAN_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Slepp(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) is renamed as <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CAN_RequestSleep</span></span>()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_CAN_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">TxCpltCallback(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) is split into HAL_CAN_TxMailbox0CompleteCallback(), HAL_CAN_TxMailbox1CompleteCallback() and HAL_CAN_TxMailbox2CompleteCallback().</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_CAN_RxCpltCallback</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> is split into HAL_CAN_RxFifo0<span class="grame"><span style="font-family: "Verdana",sans-serif;">MsgPendingCallback(</span></span>) and HAL_CAN_RxFifo1MsgPendingCallback().</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">More complete "How to use the new driver" is detailed in the driver header section itself.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL FMPI2C </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new option FMPI2C_LAST_FRAME_NO_STOP for the sequential transfer <span class="grame"><span style="font-family: "Verdana",sans-serif;">management</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">This option allows to manage a restart condition after several call of the same master sequential interface. </span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RCC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new HAL <span class="grame"><span style="font-family: "Verdana",sans-serif;">macros</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_GET_RTC_<span class="grame"><span style="font-family: "Verdana",sans-serif;">SOURCE(</span></span>) allowing to get the RTC clock source</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_GET_RTC_HSE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">PRESCALER(</span></span>) allowing to get the HSE clock divider for RTC peripheral</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Ensure reset of CIR and CSR registers when issuing <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RCC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DeInit(</span></span>)/<span class="spelle"><span style="font-family: "Verdana",sans-serif;">LL_RCC_DeInit</span></span> functions</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RCC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">OscConfig(</span></span>) to keep backup domain enabled when configuring respectively LSE and RTC clock source</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new HAL interfaces allowing to control the activation or deactivation of PLLI2S and PLLSAI:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RCCEx_EnablePLLI2<span class="grame"><span style="font-family: "Verdana",sans-serif;">S(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RCCEx_DisablePLLI2<span class="grame"><span style="font-family: "Verdana",sans-serif;">S(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RCCEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">EnablePLLSAI(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RCCEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DisablePLLSAI(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL RCC</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new LL RCC macro </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL_RCC_PLL_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SetMainSource(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) allowing to configure PLL main clock source</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL FMC / LL FSMC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add clear of the PTYP bit to select the PCARD mode in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FMC_PCCARD_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) / <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FSMC_PCCARD_Init</span></span>()</span><span style=""><o:p></o:p></span></li> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.7.2 / 06-October-2017</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b><o:p></o:p></p> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General updates to fix known defects and enhancements <span class="grame"><span style="font-family: "Verdana",sans-serif;">implementation</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix compilation warning with GCC <span class="grame"><span style="font-family: "Verdana",sans-serif;">compiler</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove Date and version from header <span class="grame"><span style="font-family: "Verdana",sans-serif;">files</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL drivers to refer to the new CMSIS bit position defines instead of usage the POSITION_<span class="grame"><span style="font-family: "Verdana",sans-serif;">VAL(</span></span>) macro</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL Generic </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">stm32f4xx_hal_def.h file changes: </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update __weak and __packed defined values for ARM compiler</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update __ALIGN_BEGIN and __ALIGN_END defined values for ARM <span class="grame"><span style="font-family: "Verdana",sans-serif;">compiler</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">stm32f4xx_ll_system.h file: add LL_SYSCFG_REMAP_SDRAM define</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL ADC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix wrong definition of ADC channel temperature sensor for STM32F413xx and STM32F423xx devices.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DMA </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update values for the following defines: DMA_FLAG_FEIF0_4 and DMA_FLAG_DMEIF0_4 </span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DSI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix Extra warning with SW4STM32 <span class="grame"><span style="font-family: "Verdana",sans-serif;">compiler</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix DSI display issue when using EWARM w/ high level <span class="grame"><span style="font-family: "Verdana",sans-serif;">optimization</span></span> </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix MISRAC errors</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL FLASH </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_FLASH_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Unlock(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) update to return state error when the FLASH is already unlocked</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL FMPI2C </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update Interface APIs headers to remove confusing message about device <span class="grame"><span style="font-family: "Verdana",sans-serif;">address</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update FMPI2C_<span class="grame"><span style="font-family: "Verdana",sans-serif;">WaitOnRXNEFlagUntilTimeout(</span></span>) to resolve a race condition between STOPF and RXNE Flags</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update FMPI2C_<span class="grame"><span style="font-family: "Verdana",sans-serif;">TransferConfig(</span></span>) to fix wrong bit management.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update code comments to use DMA stream instead of DMA <span class="grame"><span style="font-family: "Verdana",sans-serif;">channel</span></span><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL PWR </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_PWR_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">EnableWakeUpPin(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) update description to add support of PWR_WAKEUP_PIN2 and PWR_WAKEUP_PIN3</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL NOR </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the support of STM32F412Rx <span class="grame"><span style="font-family: "Verdana",sans-serif;">devices</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL I2C </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update Interface APIs headers to remove confusing <span class="spelle"><span style="font-family: "Verdana",sans-serif;">mesage</span></span> about device <span class="grame"><span style="font-family: "Verdana",sans-serif;">address</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update I2C_MasterReceive_<span class="grame"><span style="font-family: "Verdana",sans-serif;">RXNE(</span></span>) and I2C_MasterReceive_BTF() static APIs to fix bad Handling of NACK in I2C master receive process.</span><span style=""><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RCC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RCC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">GetOscConfig(</span></span>) API to:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">set PLLR in the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">RCC_OscInitStruct</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">check on null <span class="grame"><span style="font-family: "Verdana",sans-serif;">pointer</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RCC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ClockConfig(</span></span>) API to:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">check on null <span class="grame"><span style="font-family: "Verdana",sans-serif;">pointer</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">optimize code size by updating the handling method of the SWS <span class="grame"><span style="font-family: "Verdana",sans-serif;">bits</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update to <span class="grame"><span style="font-family: "Verdana",sans-serif;">use _</span></span>_HAL_FLASH_GET_LATENCY() flash macro instead of using direct register access to LATENCY bits in FLASH ACR register.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RCC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DeInit(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">LL_RCC_DeInit</span></span>() APIs to</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Be able to return HAL/LL status</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add checks for HSI, PLL and PLLI2<span class="grame"><span style="font-family: "Verdana",sans-serif;">S ready</span></span> before modifying RCC CFGR registers</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Clear all interrupt <span class="grame"><span style="font-family: "Verdana",sans-serif;">falgs</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Initialize <span class="spelle"><span style="font-family: "Verdana",sans-serif;">systick</span></span> interrupt <span class="grame"><span style="font-family: "Verdana",sans-serif;">period</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RCC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">GetSysClockFreq(</span></span>) to avoid risk of rounding error which may leads to a wrong returned value.</span><span style="font-size: 7pt;"><span style="font-size-adjust: none; font-stretch: normal;"> </span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> </ul> </ul> <p class="MsoListParagraph" style="margin: 4.5pt 0in 4.5pt 1in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;"><o:p> </o:p></span></p> <p class="MsoListParagraph" style="margin: 4.5pt 0in 4.5pt 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;"><o:p> </o:p></span></p> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RNG </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RNG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Init(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) remove Lock()/Unlock()</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL MMC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_MMC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Erase(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) API: add missing () to fix compilation warning detected with SW4STM32 when extra feature is enabled.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RTC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RTC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Init(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) API: update to force the wait for synchro before setting TAFCR register when BYPSHAD bit in CR register is 0.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SAI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DMAStop(</span></span>) API to flush <span class="spelle"><span style="font-family: "Verdana",sans-serif;">fifo</span></span> after disabling SAI</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL I2S </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update I2S DMA fullduplex process to handle I2S Rx and Tx DMA Half transfer complete <span class="grame"><span style="font-family: "Verdana",sans-serif;">callback</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL TIM </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIMEx_OCN_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">xxxx(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIMEx_PWMN_xxx</span></span>() API description to remove support of TIM_CHANNEL_4</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL DMA </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to clear DMA flags using WRITE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">REG(</span></span>) instead SET_REG() API to avoid read access to the IFCR register that is write only.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL RTC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix warning with static <span class="grame"><span style="font-family: "Verdana",sans-serif;">analyzer</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL USART </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add assert macros to check USART <span class="spelle"><span style="font-family: "Verdana",sans-serif;">BaudRate</span></span> register</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL I2C </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename IS_I2C_CLOCK_<span class="grame"><span style="font-family: "Verdana",sans-serif;">SPEED(</span></span>) and IS_I2C_DUTY_CYCLE() respectively to IS_LL_I2C_CLOCK_SPEED() and IS_LL_I2C_DUTY_CYCLE() to avoid incompatible macros redefinition.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL TIM </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">LL_TIM_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">EnableUpdateEvent(</span></span>) API to clear UDIS bit in TIM CR1 register instead of setting it.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">LL_TIM_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DisableUpdateEvent(</span></span>) API to set UDIS bit in TIM CR1 register instead of clearing it.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL USART </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix MISRA error w/ IS_LL_USART_<span class="grame"><span style="font-family: "Verdana",sans-serif;">BRR(</span></span>) macro</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix wrong check when UART10 instance is <span class="grame"><span style="font-family: "Verdana",sans-serif;">used</span></span></span><span style=""><o:p></o:p></span></li> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.7.1 / 14-April-2017</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b><o:p></o:p></p> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update CHM <span class="spelle"><span style="font-family: "Verdana",sans-serif;">UserManuals</span></span> to support LL <span class="grame"><span style="font-family: "Verdana",sans-serif;">drivers</span></span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General updates to fix known defects and enhancements <span class="grame"><span style="font-family: "Verdana",sans-serif;">implementation</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL CAN </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add management of overrun error. </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Allow possibility to receive messages from the 2 RX FIFOs in parallel via interrupt.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix message lost issue with specific sequence of transmit requests.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Handle transmission failure with error callback, when NART is enabled.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add __HAL_CAN_CANCEL_<span class="grame"><span style="font-family: "Verdana",sans-serif;">TRANSMIT(</span></span>) call to abort transmission when timeout is reached</span><span style=""><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL PWR </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_PWREx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">EnterUnderDriveSTOPMode(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) API: remove check on UDRDY flag</span><span style=""><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL ADC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix wrong ADC group injected sequence <span class="grame"><span style="font-family: "Verdana",sans-serif;">configuration</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL_ADC_INJ_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SetSequencerRanks(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">LL_ADC_INJ_GetSequencerRanks</span></span>() API's update to take in consideration the ADC number of conversions</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update the defined values for ADC group injected <span class="spelle"><span style="font-family: "Verdana",sans-serif;">seqencer</span></span> <span class="grame"><span style="font-family: "Verdana",sans-serif;">ranks</span></span> </span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.7.0 / 17-February-2017</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b><o:p></o:p></p> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add Low Layer drivers allowing performance and footprint <span class="grame"><span style="font-family: "Verdana",sans-serif;">optimization</span></span></span></b></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Low Layer <span class="grame"><span style="font-family: "Verdana",sans-serif;">drivers</span></span> APIs provide register level programming: require deep knowledge of peripherals described in STM32F4xx Reference Manuals</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Low Layer drivers are available for: ADC, Cortex, CRC, DAC, DMA, DMA2D, EXTI, GPIO, I2C, IWDG, LPTIM, PWR, RCC, RNG, RTC, SPI, TIM, USART, WWDG peripherals and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">additionnal</span></span> Low Level Bus, System and Utilities APIs.</span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Low Layer <span class="grame"><span style="font-family: "Verdana",sans-serif;">drivers</span></span> APIs are implemented as static inline function in new<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><i>Inc/stm32f4xx_ll_ppp.h</i><span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>files for PPP peripherals, there is no configuration file and each<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><i>stm32f4xx_ll_ppp.h</i><span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>file must be included in user code.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General updates to fix known defects and enhancements <span class="grame"><span style="font-family: "Verdana",sans-serif;">implementation</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix extra warnings with GCC <span class="grame"><span style="font-family: "Verdana",sans-serif;">compiler</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL drivers clean up: remove double casting 'uint32_t' and '<span class="grame"><span style="font-family: "Verdana",sans-serif;">U</span></span>'</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><b>HAL MMC</b><span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>driver</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">The following changes done on the HAL drivers require an update on the application code based on older HAL <span class="grame"><span style="font-family: "Verdana",sans-serif;">versions</span></span></span></b><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SD</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Overall rework of the driver for a more efficient implementation</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Modify initialization API and <span class="grame"><span style="font-family: "Verdana",sans-serif;">structures</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Modify Read / Write sequences: separate transfer process and SD Cards state <span class="grame"><span style="font-family: "Verdana",sans-serif;">management</span></span> </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Adding interrupt mode for Read / Write operations</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SD_IRQHandler</span></span> function by optimizing the management of interrupt <span class="grame"><span style="font-family: "Verdana",sans-serif;">errors</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Refer to the following example to identify the changes: BSP example and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">USB_Device</span></span>/<span class="spelle"><span style="font-family: "Verdana",sans-serif;">MSC_Standalone</span></span> application</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL NAND</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Modify <span class="spelle"><span style="font-family: "Verdana",sans-serif;">NAND_AddressTypeDef</span></span>, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">NAND_DeviceConfigTypeDef</span></span> and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">NAND_HandleTypeDef</span></span> structures <span class="grame"><span style="font-family: "Verdana",sans-serif;">fields</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_NAND_ConfigDevice</span></span> API</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DFSDM</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add support of Multichannel Delay feature</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DFSDM_ConfigMultiChannelDelay</span></span> API</span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">The following APIs are moved to internal static functions: <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DFSDM_ClockIn_SourceSelection</span></span>, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DFSDM_ClockOut_SourceSelection</span></span>, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DFSDM_DataInX_SourceSelection</span></span> (X=0,2,4,6), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DFSDM_BitStreamClkDistribution_Config</span></span></span></span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL I2S</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add specific callback API to manage I2S full duplex end of transfer process:</span><span style=""><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_I2S_<span class="grame"><span style="font-family: "Verdana",sans-serif;">TxCpltCallback(</span></span>) and HAL_I2S_RxCpltCallback() API's will be replaced with only HAL_I2SEx_TxRxCpltCallback() API. </span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Modifiy</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> default <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_Delay</span></span> implementation to guarantee minimum <span class="grame"><span style="font-family: "Verdana",sans-serif;">delay</span></span> </span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL Cortex</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Move <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_MPU_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Disable(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_MPU_Enable</span></span>() from stm32f4xx_hal_cortex.h to stm32f4xx_hal_cortex.c</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Clear the whole MPU control register in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_MPU_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Disable(</span></span>) API</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL FLASH</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IS_FLASH_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ADDRESS(</span></span>) macro update to support OTP range</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">FLASH_Program_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DoubleWord(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): Replace 64-bit accesses with 2 double-words operations</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL GPIO</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update IS_GPIO_<span class="grame"><span style="font-family: "Verdana",sans-serif;">PIN(</span></span>) macro implementation to be more safe</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL RCC</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update IS_RCC_PLLQ_<span class="grame"><span style="font-family: "Verdana",sans-serif;">VALUE(</span></span>) macro implementation: the minimum accepted value is 2 instead of 4</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename RCC_LPTIM1CLKSOURCE_PCLK define to RCC_LPTIM1CLKSOURCE_PCLK1</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix compilation issue w/ __HAL_RCC_USB_OTG_FS_IS_CLK_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLED(</span></span>) and __HAL_RCC_USB_OTG_FS_IS_CLK_DISABLED() macros for STM32F401xx devices</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the following is clock enabled macros for STM32F401xx <span class="grame"><span style="font-family: "Verdana",sans-serif;">devices</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> __HAL_RCC_SDIO_IS_CLK_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLED(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_SPI4_IS_CLK_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLED(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_TIM10_IS_CLK_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLED(</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the following is clock enabled macros for STM32F410xx <span class="grame"><span style="font-family: "Verdana",sans-serif;">devices</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> __HAL_RCC_CRC_IS_CLK_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLED(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_RNG_IS_CLK_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLED(</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RCC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DeInit(</span></span>) to reset the RCC clock configuration to the default reset state.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove macros to configure BKPSRAM from STM32F401xx devices </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to refer to <span class="grame"><span style="font-family: "Verdana",sans-serif;">AHBPrescTable[</span></span>] and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">APBPrescTable</span></span>[] tables defined in system_stm32f4xx.c file instead of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">APBAHBPrescTable</span></span>[] table.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL FMPI2C</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add FMPI2C_FIRST_AND_NEXT_FRAME define in Sequential Transfer Options</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL ADC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_ADCEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">InjectedConfigChannel(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): update the external trigger injected condition</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DMA </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DMA_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Init(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): update to check compatibility between FIFO threshold level and size of the memory burst </span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL QSPI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">QSPI_HandleTypeDef</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> structure: Update transfer parameters on uint32_t instead of uint16_t</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL UART/USART/IrDA/SMARTCARD </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DMA Receive process; the code has been updated to clear the USART OVR flag before enabling DMA receive request.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">UART_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SetConfig(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) update to manage correctly USART6 instance that is not available on STM32F410Tx devices</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL CAN </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove Lock mechanism from <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CAN_Transmit_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CAN_Receive_IT</span></span>() processes</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL TIM </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add __HAL_TIM_MOE_DISABLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">UNCONDITIONALLY(</span></span>) macro to disable Master output without check on TIM channel state. </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIMEx_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ConfigBreakDeadTime(</span></span>) to fix TIM BDTR register corruption.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL I2C </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL_I2C_Master_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Transmit(</span></span>) and HAL_I2C_Slave_Transmit() to avoid sending extra bytes at the end of the transmit processes</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL_I2C_Mem_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Read(</span></span>) API to fix wrong check on misused parameter �Size�</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update I2C_MasterReceive_<span class="grame"><span style="font-family: "Verdana",sans-serif;">RXNE(</span></span>) and I2C_MasterReceive_BTF() static APIs to enhance Master sequential reception process.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SPI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add transfer abort APIs and associated callbacks in interrupt <span class="grame"><span style="font-family: "Verdana",sans-serif;">mode</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_SPI_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Abort(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_SPI_Abort_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_SPI_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">AbortCpltCallback(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL I2S </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add specific callback API to manage I2S full duplex end of transfer process:</span><span style=""><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_I2S_<span class="grame"><span style="font-family: "Verdana",sans-serif;">TxCpltCallback(</span></span>) and HAL_I2S_RxCpltCallback() API's will be replaced with only HAL_I2SEx_TxRxCpltCallback() API. </span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update I2S Transmit/Receive polling process to manage Overrun and Underrun errors</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Move the I2S clock input frequency calculation to HAL RCC driver.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update the HAL I2SEx driver to keep only full duplex feature.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_I2S_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) API updated to</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix wrong I2S clock calculation when PCM mode is used.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Return state HAL_I2S_ERROR_PRESCALER when the I2S clock is wrongly <span class="grame"><span style="font-family: "Verdana",sans-serif;">configured</span></span></span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL LTDC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt;">Optimize <span class="spelle"><span style="font-family: "Segoe",UI;">HAL_LTDC_</span></span><span class="grame"><span style="font-family: "Segoe",UI;">IRQHandler(</span></span>) function by using direct register read</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt;">Rename the following <span class="grame"><span style="font-family: "Segoe",UI;">API's</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt;">HAL_LTDC_</span></span><span class="grame"><span style="font-size: 10pt;">Relaod(</span></span><span style="font-size: 10pt;">) by <span class="spelle"><span style="font-family: "Segoe",UI;">HAL_LTDC_Reload</span></span>() </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt;">HAL_LTDC_</span></span><span class="grame"><span style="font-size: 10pt;">StructInitFromVideoConfig(</span></span><span style="font-size: 10pt;">) by <span class="spelle"><span style="font-family: "Segoe",UI;">HAL_LTDCEx_StructInitFromVideoConfig</span></span>()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt;">HAL_LTDC_</span></span><span class="grame"><span style="font-size: 10pt;">StructInitFromAdaptedCommandConfig(</span></span><span style="font-size: 10pt;">) by <span class="spelle"><span style="font-family: "Segoe",UI;">HAL_LTDCEx_StructInitFromAdaptedCommandConfig</span></span>()</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt;">Add new defines for LTDC layers (LTDC_LAYER_1 / LTDC_LAYER_2)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt;">Remove unused <span class="grame"><span style="font-family: "Segoe",UI;">asserts</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL USB</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> <b>PCD</b> </span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Flush all TX FIFOs on USB Reset</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove Lock mechanism from <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PCD_EP_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Transmit(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PCD_EP_Receive</span></span>() API's</span><span style=""><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL USB</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Enable DMA Burst mode for USB OTG HS</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix SD card detection <span class="grame"><span style="font-family: "Verdana",sans-serif;">issue</span></span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL SDMMC</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SDMMC_CmdSDEraseStartAdd</span></span>, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SDMMC_CmdSDEraseEndAdd</span></span>, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SDMMC_CmdOpCondition</span></span> and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SDMMC_CmdSwitch</span></span> functions</span><span style=""><o:p></o:p></span></li> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.6.0 / 04-November-2016</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b><o:p></o:p></p> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span></span><span style="">support of</span><span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><b><span style="">STM32F413xx and STM32F423xx</span></b><span style=""> devices</span><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General updates to fix known defects and enhancements <span class="grame"><span style="font-family: "Verdana",sans-serif;">implementation</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL CAN</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to add the support of 3 CAN <span class="grame"><span style="font-family: "Verdana",sans-serif;">management</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL CRYP</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to add the support of AES <span class="grame"><span style="font-family: "Verdana",sans-serif;">features</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DFSDM</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add definitions for new external trigger <span class="grame"><span style="font-family: "Verdana",sans-serif;">filters</span></span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add definition for new Channels 4, 5, 6 and <span class="grame"><span style="font-family: "Verdana",sans-serif;">7</span></span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add functions and API for Filter state configuration and <span class="grame"><span style="font-family: "Verdana",sans-serif;">management</span></span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new functions: </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DFSDM_BitstreamClock_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Start(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DFSDM_BitstreamClock_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Stop(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DFSDM_BitStreamClkDistribution_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Config(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) </span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DMA</span></b></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the support of DMA Channels from 8 to 15</span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DMA_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DeInit(</span></span>) function with the check on DMA stream instance</span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DSI</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span><span style=""><o:p></o:p></span></li> </ul> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DSI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ConfigHostTimeouts(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DSI_Init</span></span>() functions to avoid scratch in DSI_CCR register</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL FLASH</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Enhance <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FLASH_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">WaitForLastOperation(</span></span>) function implementation</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update __HAL_FLASH_GET_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FLAG(</span></span>) macro implementation</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL GPIO</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add specific alternate functions <span class="grame"><span style="font-family: "Verdana",sans-serif;">definitions</span></span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL I2C </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update I2C_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMAError(</span></span>) function implementation to ignore DMA FIFO error</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL I2S </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Enhance HAL_I2S_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) implementation to test on PCM_SHORT and PCM_LONG standards</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL IRDA</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new functions and call backs for Transfer <span class="grame"><span style="font-family: "Verdana",sans-serif;">Abort</span></span><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_IRDA_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Abort(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_IRDA_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">AbortTransmit(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_IRDA_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">AbortReceive(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_IRDA_Abort_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_IRDA_AbortTransmit_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_IRDA_AbortReceive_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_IRDA_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">AbortCpltCallback(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_IRDA_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">AbortTransmitCpltCallback(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_IRDA_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">AbortReceiveCpltCallback(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL PCD</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> </ul> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PCD_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">GetRxCount(</span></span>) function implementation</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RCC</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update __HAL_RCC_HSE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CONFIG(</span></span>) macro implementation</span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> <span style="widows: 1; float: none; word-spacing: 0px;"></span></span></span><span style="">__HAL_RCC_LSE_<span class="grame">CONFIG(</span>) macro implementation</span><o:p></o:p></span></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SMARTCARD</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> </ul> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new functions and call backs for Transfer <span class="grame"><span style="font-family: "Verdana",sans-serif;">Abort</span></span><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_</span><span class="apple-converted-space"><span style=""> </span></span><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SMARTCARD_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Abort(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_</span><span class="apple-converted-space"><span style=""> </span></span><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SMARTCARD_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">AbortTransmit(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_</span><span class="apple-converted-space"><span style=""> </span></span><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SMARTCARD_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">AbortReceive(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_</span><span class="apple-converted-space"><span style=""> </span></span><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SMARTCARD_Abort_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_</span><span class="apple-converted-space"><span style=""> </span></span><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SMARTCARD_AbortTransmit_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_</span><span class="apple-converted-space"><span style=""> </span></span><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SMARTCARD_AbortReceive_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_</span><span class="apple-converted-space"><span style=""> </span></span><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SMARTCARD_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">AbortCpltCallback(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_</span><span class="apple-converted-space"><span style=""> </span></span><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SMARTCARD_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">AbortTransmitCpltCallback(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_</span><span class="apple-converted-space"><span style=""> </span></span><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SMARTCARD_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">AbortReceiveCpltCallback(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL TIM</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIMEx_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">RemapConfig(</span></span>) function to manage TIM internal trigger remap: LPTIM or TIM3_TRGO</span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL UART<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span></span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add Transfer abort functions and <span class="grame"><span style="font-family: "Verdana",sans-serif;">callbacks</span></span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL USART<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span></span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add Transfer abort functions and <span class="grame"><span style="font-family: "Verdana",sans-serif;">callbacks</span></span></span></span><span style=""><o:p></o:p></span></li> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.5.2 / 22-September-2016</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b><o:p></o:p></p> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL I2C</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix wrong behavior in consecutive transfers in case of single byte transmission (Master/Memory Receive <br> interfaces)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL_I2C_Master_Transmit_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>) / HAL_I2C_Master_Receive_DMA()/ HAL_I2C_Slave_Transmit_DMA() <br> and HAL_I2C_Slave_Receive_DMA() to manage addressing phase through interruption instead of polling</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add a check on I2C handle state at start of all I2C API's to ensure that I2C is <span class="grame"><span style="font-family: "Verdana",sans-serif;">ready</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update I2C API's (Polling, IT and DMA interfaces) to manage I2C <span class="spelle"><span style="font-family: "Verdana",sans-serif;">XferSize</span></span> and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">XferCount</span></span> handle parameters instead of API size parameter to help user to get information of counter in case of error. </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update Abort functionality to manage DMA use <span class="grame"><span style="font-family: "Verdana",sans-serif;">case</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL FMPI2C</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to disable Own Address<span style="widows: 1; float: none; word-spacing: 0px;"></span><span style=""> before setting the </span><span style="widows: 1; float: none; word-spacing: 0px;">new Own Address</span><span style="widows: 1; float: none; word-spacing: 0px;"> configuration:</span><o:p></o:p></span></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL_FMPI2C_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) to disable FMPI2C_OARx_EN bit before any configuration in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">OARx</span></span> registers</span></span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL CAN </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update CAN receive processes to set CAN <span class="spelle"><span style="font-family: "Verdana",sans-serif;">RxMsg</span></span> <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FIFONumber</span></span> parameter</span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL UART </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update UART handle </span><span class="spelle"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="">TxXferCount</span> and RxXferCount <span style="widows: 1; float: none; word-spacing: 0px;"></span></span><span style="">parameters as volatile to avoid eventual issue with <span class="grame">High Speed</span> optimization </span><o:p></o:p></span></span></li> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.5.1 / 01-July-2016</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b><o:p></o:p></p> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL GPIO</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_GPIO_Init</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">()/<span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_GPIO_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DeInit(</span></span>) API's: update GPIO_GET_INDEX() macro implementation to support all GPIO's</span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SPI</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix regression issue: retore <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SPI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DMAPause(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SPI_DMAResume</span></span>() <span style="widows: 1; float: none; word-spacing: 0px;"></span><span style="">API's</span><span style="widows: 1; float: none; word-spacing: 0px;"> <o:p></o:p></span></span></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RCC</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix FSMC macros compilation warnings with STM32F412Rx <span class="grame"><span style="font-family: "Verdana",sans-serif;">devices</span></span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DMA </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DMA_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">PollFortransfer(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) API clean up <br style=""> <!--[if !supportLineBreakNewLine]--><br style=""> <!--[endif]--></span><span style=""><o:p></o:p></span></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL PPP </span></b><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">PPP refers to IRDA, UART, USART and SMARTCARD)</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: rgb(31, 73, 125); margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PPP_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) to add a check on interrupt source before managing the error</span></span><span style="font-size: 7pt;"><span style="font-size-adjust: none; font-stretch: normal;"> </span></span><span style=""><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL QSPI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Implement workaround to fix the limitation </span><span style="">pronounced <span style="widows: 1; float: none; word-spacing: 0px;">in the Errata sheet 2.1.8 section: In some specific cases, DMA2 data corruption occurs when managing AHB and APB2 peripherals in a concurrent <span class="grame">way</span></span></span><o:p></o:p></span></li> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.5.0 / 06-May-2016</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b><o:p></o:p></p> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span></span><span style="">support of</span><span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><b><span style="">STM32F412cx, STM32F412rx, STM32F412vx and STM32F412zx </span></b><span style="">devices</span><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General updates to fix known defects and enhancements <span class="grame"><span style="font-family: "Verdana",sans-serif;">implementation</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new HAL driver for <b>DFSDM </b><span class="grame"><span style="font-family: "Verdana",sans-serif;">peripheral</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Enhance HAL delay and time base implementation:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new drivers stm32f4xx_hal_timebase_rtc_alarm_template.c and stm32f4xx_hal_timebase_rtc_wakeup_template.c which override the native HAL time base functions (defined as weak) to either use the RTC as time base tick source. For more details about the usage of these drivers, please refer to HAL\<span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TimeBase_RTC</span></span> examples <span style="widows: 1; float: none; word-spacing: 0px;">and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FreeRTOS</span></span>-based <span class="grame"><span style="font-family: "Verdana",sans-serif;">applications</span></span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">The following changes done on the HAL drivers require an update on the application code based on HAL V1.4.4</span></b><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL UART, USART, IRDA, SMARTCARD, SPI, I2<span class="grame"><span style="font-family: "Verdana",sans-serif;">C,FMPI</span></span>2C, QSPI<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span></span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">(referenced as<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><i>PPP</i><span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>here below)<span class="apple-converted-space"><i><span style="font-family: "Verdana",sans-serif;"> </span></i></span>drivers</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add PPP error management during DMA process. This requires the following updates on user application:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Configure and enable the PPP IRQ in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PPP_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">MspInit(</span></span>) function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">In<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>stm32f4xx_it.c file,<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">PPP_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) function:<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>add a call to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PPP_IRQHandler</span></span>() function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add and customize the Error Callback API: <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PPP_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ErrorCallback(</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL I2C</span></i><span class="apple-converted-space"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">, FMPI2C </span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">(referenced as<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><i>PPP</i><span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>here below)<span class="apple-converted-space"><i><span style="font-family: "Verdana",sans-serif;"> </span></i></span>drivers:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to avoid waiting on<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>STOPF/BTF/AF flag under DMA ISR by using the<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>PPP end of transfer interrupt in the DMA transfer process.<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>This requires the following updates on user application:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Configure and enable the PPP IRQ in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PPP_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">MspInit(</span></span>) function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">In<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>stm32f4xx_it.c file,<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">PPP_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) function:<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>add a call to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PPP_IRQHandler</span></span>() function</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL I2C </span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">driver:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">I2C transfer processes IT update: NACK during addressing phase is managed through I2C Error interrupt instead of HAL <span class="grame"><span style="font-family: "Verdana",sans-serif;">state</span></span></span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL IWDG<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span></span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">driver: rework overall driver for better implementation</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_IWDG_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Start(</span></span>),<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_IWDG_MspInit</span></span>() and<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_IWDG_GetState</span></span>() APIs</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL WWDG<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span></span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">driver: rework overall driver for better implementation</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_WWDG_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Start(</span></span>),<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_WWDG_Start_IT</span></span>(),<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_WWDG_MspDeInit</span></span>() and<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_WWDG_GetState</span></span>() APIs </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update the </span><span class="spelle"><span style="font-size: 11pt; font-family: "Calibri",sans-serif;">HAL_WWDG_</span></span><span class="grame"><span style="font-size: 11pt; font-family: "Calibri",sans-serif;">Refresh(</span></span><span class="spelle"><span style="font-size: 11pt; font-family: "Calibri",sans-serif;">WWDG_HandleTypeDef</span></span><span style="font-size: 11pt; font-family: "Calibri",sans-serif;"> *<span class="spelle"><span style="font-family: "Calibri",sans-serif;">hwwdg</span></span>, uint32_t counter) function and API by removing the "counter" parameter</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL QSPI driver:<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span></span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Enhance the DMA transmit process by using PPP TC interrupt instead of waiting on TC flag under DMA ISR. This requires the following updates on user application:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Configure and enable the QSPI IRQ in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_QSPI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">MspInit(</span></span>) function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">In<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>stm32f4xx_it.c file,<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">QSPI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) function:<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>add a call to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_QSPI_IRQHandler</span></span>() function</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL CEC driver:<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span></span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Overall driver rework with compatibility break versus previous HAL version</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove HAL CEC polling Process functions: <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CEC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Transmit(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CEC_Receive</span></span>()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove HAL CEC receive interrupt process function <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CEC_Receive_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) and enable the "receive" mode during the Init phase</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CEC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">GetReceivedFrameSize(</span></span>) <span class="spelle"><span style="font-family: "Verdana",sans-serif;">funtion</span></span> to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CEC_GetLastReceivedFrameSize</span></span>()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new HAL APIs: <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CEC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">SetDeviceAddress(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CEC_ChangeRxBuffer</span></span>()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove the '<span class="spelle"><span style="font-family: "Verdana",sans-serif;">InitiatorAddress</span></span>' field from the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">CEC_InitTypeDef</span></span> structure and manage it as a parameter in the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CEC_Transmit_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new parameter '<span class="spelle"><span style="font-family: "Verdana",sans-serif;">RxFrameSize</span></span>' in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CEC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">RxCpltCallback(</span></span>) function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Move CEC Rx buffer pointer from <span class="spelle"><span style="font-family: "Verdana",sans-serif;">CEC_HandleTypeDef</span></span> structure to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">CEC_InitTypeDef</span></span> structure</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RCC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RCC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ClockConfig(</span></span>) function to adjust the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SystemCoreClock</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename macros and Literals:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">RCC_PERIPHCLK_CK48 by RCC_PERIPHCLK_C<b>L</b>K48</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IS_RCC_CK48CLKSOURCE by IS_RCC_C<b>L</b>K48CLKSOURCE</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">RCC_CK48CLKSOURCE_PLLSAIP by RCC_C<b>L</b>K48CLKSOURCE_PLLSAIP</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">RCC_SDIOCLKSOURCE_CK48 by RCC_SDIOCLKSOURCE_C<b>L</b>K48</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">RCC_CK48CLKSOURCE_PLLQ by RCC_C<b>L</b>K48CLKSOURCE_PLLQ</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RCCEx_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">GetPeriphCLKConfig(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RCCEx_PeriphCLKConfig</span></span>() functions to support TIM <span class="spelle"><span style="font-family: "Verdana",sans-serif;">Prescaler</span></span> for STM32F411xx devices</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RCCEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">PeriphCLKConfig(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) API: update to fix the RTC clock configuration issue</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL CEC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Overall driver rework with break of compatibility with HAL V1.4.4</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove the HAL CEC polling Process: <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CEC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Transmit(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CEC_Receive</span></span>()</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="circle"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove the HAL CEC receive interrupt process (<span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CEC_Receive_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)) and manage the "Receive" mode enable within the Init phase</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CEC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">GetReceivedFrameSize(</span></span>) function to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CEC_GetLastReceivedFrameSize</span></span>() function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new HAL APIs: <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CEC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">SetDeviceAddress(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CEC_ChangeRxBuffer</span></span>()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove the '<span class="spelle"><span style="font-family: "Verdana",sans-serif;">InitiatorAddress</span></span>' field from the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">CEC_InitTypeDef</span></span> structure and manage it as a parameter in the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CEC_Transmit_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new parameter '<span class="spelle"><span style="font-family: "Verdana",sans-serif;">RxFrameSize</span></span>' in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CEC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">RxCpltCallback(</span></span>) function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Move CEC Rx buffer pointer from <span class="spelle"><span style="font-family: "Verdana",sans-serif;">CEC_HandleTypeDef</span></span> structure to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">CEC_InitTypeDef</span></span> structure<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update driver to implement the new CEC state machine:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new "<span class="spelle"><span style="font-family: "Verdana",sans-serif;">rxState</span></span>"<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>field in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">CEC_HandleTypeDef</span></span> structure to provide the<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>CEC<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>state information related to Rx <span class="grame"><span style="font-family: "Verdana",sans-serif;">Operations</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename "state" field in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">CEC_HandleTypeDef</span></span> structure to "<span class="spelle"><span style="font-family: "Verdana",sans-serif;">gstate</span></span>": CEC<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>state information related to global Handle management and Tx <span class="grame"><span style="font-family: "Verdana",sans-serif;">Operations</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update CEC process to manage the new CEC states.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update __HAL_CEC_RESET_HANDLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">STATE(</span></span>) macro to handle the new CEC state parameters (<span class="spelle"><span style="font-family: "Verdana",sans-serif;">gState</span></span>, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">rxState</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL UART, USART, SMARTCARD and IRDA </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">(referenced as <i>PPP</i> here below)<i> </i><span class="grame"><span style="font-family: "Verdana",sans-serif;">update</span></span></span><span style=""> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></b></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update Polling management:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">The user Timeout value must be estimated for the overall process duration: <span class="grame"><span style="font-family: "Verdana",sans-serif;">the</span></span> Timeout measurement is cumulative</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update DMA process:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update the management of PPP peripheral errors during DMA process. This requires the following updates in user application:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Configure and enable the PPP IRQ in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PPP_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">MspInit(</span></span>) function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">In stm32f4xx_it.c file, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">PPP_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) function: add a call to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PPP_IRQHandler</span></span>() function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add and customize the Error Callback API: <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PPP_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ErrorCallback(</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL FMC</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FMC_NORSRAM_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) to remove the Burst access mode configuration</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FMC_SDRAM_Timing_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) to fix initialization issue when configuring 2 SDRAM banks</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL HCD</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HCD_Port_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) to unmask disconnect IT only when the port is disabled</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL I2C/FMPI2C</span></b><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>Polling management:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">The Timeout value must be estimated for the overall process duration: <span class="grame"><span style="font-family: "Verdana",sans-serif;">the</span></span> Timeout measurement is cumulative</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the management of Abort service: Abort DMA transfer through <span class="grame"><span style="font-family: "Verdana",sans-serif;">interrupt</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">In the case of Master Abort IT transfer usage:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new user HAL_I2C_<span class="grame"><span style="font-family: "Verdana",sans-serif;">AbortCpltCallback(</span></span>) to inform user of the end of abort process</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">A new abort state is defined in the<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>HAL_I2C_StateTypeDef<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>structure</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the management of I2C peripheral errors, ACK failure and STOP condition detection during DMA process. This requires the following updates on user application:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Configure and enable the I2C IRQ in HAL_I2C_<span class="grame"><span style="font-family: "Verdana",sans-serif;">MspInit(</span></span>) function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">In stm32f4xx_it.c file, I2C_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) function: add a call to HAL_I2C_IRQHandler() function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add and customize the Error Callback API: HAL_I2C_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ErrorCallback(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Refer to the I2C_EEPROM or I2C_TwoBoards_ComDMA project examples usage of the <span class="grame"><span style="font-family: "Verdana",sans-serif;">API</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">NACK error during addressing phase is returned through interrupt instead of previously through I2C transfer <span class="grame"><span style="font-family: "Verdana",sans-serif;">API's</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">I2C addressing phase is updated to be managed using interrupt instead of polling (Only for HAL I2C driver)</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new static functions to manage I2C SB, ADDR and ADD10 flags</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SPI<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span></span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> </ul> <ul style="margin-top: 0in; text-align: start; widows: 1; word-spacing: 0px;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Overall driver optimization to improve performance in polling/interrupt mode to reach maximum peripheral <span class="grame"><span style="font-family: "Verdana",sans-serif;">frequency</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Polling mode:</span><span style=""><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Replace the use of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SPI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">WaitOnFlagUnitTimeout(</span></span>) function by "if" statement to check on RXNE/TXE <span class="spelle"><span style="font-family: "Verdana",sans-serif;">flage</span></span> while transferring data</span><span style="font-size: 13.5pt;"><o:p></o:p></span></li> </ul> </ul> </ul> </ul> <ul style="margin-top: 0in; text-align: start; widows: 1; word-spacing: 0px;" type="square"> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Interrupt mode:</span><span style=""><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Minimize access on SPI <span class="grame"><span style="font-family: "Verdana",sans-serif;">registers</span></span></span><span style="font-size: 13.5pt;"><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">All modes:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the USE_SPI_CRC switch to minimize the number of statements when CRC calculation is <span class="grame"><span style="font-family: "Verdana",sans-serif;">disabled</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update timeout management to check on global <span class="grame"><span style="font-family: "Verdana",sans-serif;">processes</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update error code management in all processes</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update DMA process:<o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the management of SPI peripheral errors during DMA process. This requires the following updates in the user application:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Configure and enable the SPI IRQ in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SPI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">MspInit(</span></span>) function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">In stm32f4xx_it.c file, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SPI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) function: add a call to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SPI_IRQHandler</span></span>() function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add and customize the Error Callback API: <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SPI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ErrorCallback(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Refer to the following example which describe the changes: <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SPI_FullDuplex_ComDMA</span></span></span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix regression in polling mode:<o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add preparing data to transmit in case of slave mode in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SPI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">TransmitReceive(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SPI_Transmit</span></span>()<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add to manage properly the overrun flag at the end of a <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SPI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">TransmitReceive(</span></span>)<o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix regression in interrupt mode:<o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add a wait on TXE flag in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SPI_CloseTx_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ISR(</span></span>) and in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SPI_CloseTxRx_ISR</span></span>()<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add to manage properly the overrun flag in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SPI_CloseRxTx_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ISR(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SPI_CloseRx_ISR</span></span>()</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DMA2D<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span></span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update the HAL_DMA2D_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DeInit(</span></span>) function to:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Abort transfer in case of ongoing DMA2D transfer</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Reset DMA2D control <span class="grame"><span style="font-family: "Verdana",sans-serif;">registers</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL_DMA2D_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Abort(</span></span>) to disable DMA2D interrupts after stopping transfer</span><span style="font-size: 13.5pt;"><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Optimize HAL_DMA2D_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) by reading status registers only once</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL_DMA2D_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ProgramLineEvent(</span></span>) function to:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Return HAL error state in case of wrong line <span class="grame"><span style="font-family: "Verdana",sans-serif;">value</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Enable line interrupt after setting the line watermark <span class="grame"><span style="font-family: "Verdana",sans-serif;">configuration</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new HAL_DMA2D_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CLUTLoad(</span></span>) and<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>HAL_DMA2D_CLUTLoad_IT()<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span>functions to start DMA2D CLUT loading</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DMA2D_CLUTLoading_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Abort(</span></span>) function to abort the DMA2D CLUT loading</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DMA2D_CLUTLoading_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Suspend(</span></span>) function to suspend the DMA2D CLUT loading</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DMA2D_CLUTLoading_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Resume(</span></span>) function to resume the DMA2D CLUT loading</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new DMA2D dead time management:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DMA2D_<span class="grame"><span style="font-family: "Verdana",sans-serif;">EnableDeadTime(</span></span>) function to enable DMA2D dead time feature</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DMA2D_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DisableDeadTime(</span></span>) function to disable DMA2D dead time feature</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DMA2D_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ConfigDeadTime(</span></span>) function to configure dead time</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update the name of DMA2D Input/Output color mode defines to be <span class="grame"><span style="font-family: "Verdana",sans-serif;">more clear</span></span> for user (DMA2D_INPUT_XXX for input layers Colors, DMA2D_OUTPUT_XXX for output framebuffer Colors)</span><span style=""><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in; text-align: start; widows: 1; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL LTDC<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span></span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> </ul> <ul style="margin-top: 0in; text-align: start; widows: 1; word-spacing: 0px;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_LTDC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) to manage the case of reload interrupt</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new callback API <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_LTDC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ReloadEventCallback(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_LTDC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Reload(</span></span>) to configure LTDC reload feature</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new No Reload LTDC variant <span class="grame"><span style="font-family: "Verdana",sans-serif;">APIs</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_LTDC_ConfigLayer_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) to configure the LTDC Layer according to the specified without reloading</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_LTDC_SetWindowSize_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) to set the LTDC window size without reloading</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_LTDC_SetWindowPosition_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) to set the LTDC window position without reloading</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_LTDC_SetPixelFormat_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) to reconfigure the pixel format without reloading</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_LTDC_SetAlpha_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) to reconfigure the layer alpha value without reloading</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_LTDC_SetAddress_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) to reconfigure the frame buffer Address without reloading</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_LTDC_SetPitch_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) to reconfigure the pitch for specific cases</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_LTDC_ConfigColorKeying_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) to configure the color keying without reloading</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_LTDC_EnableColorKeying_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) to enable the color keying without reloading</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_LTDC_DisableColorKeying_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) to disable the color keying without reloading</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_LTDC_EnableCLUT_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) to enable the color lookup table without reloading</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_LTDC_DisableCLUT_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) to disable the color lookup table without reloading</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Note:</span></u></i><span class="apple-converted-space"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Variant functions with �_<span class="spelle"><span style="font-family: "Verdana",sans-serif;">NoReload</span></span>� post fix allows to set the LTDC configuration/settings without immediate reload. This is useful in case when the program requires to modify several LTDC settings (on one or both layers) then applying (reload) these settings in one shot by calling the function �<span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_LTDC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Reload</span></span>�</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RTC<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span></span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new timeout implementation based on <span class="spelle"><span style="font-family: "Verdana",sans-serif;">cpu</span></span> cycles for ALRAWF, ALRBWF and WUTWF flags</span><span style=""><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in; text-align: start; widows: 1; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SAI<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span></span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update<o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update SAI state in case of TIMEOUT error within the<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Transmit(</span></span>) / <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_Receive</span></span>()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_IRQHandler</span></span>:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add error management in case DMA errors through <span class="grame"><span style="font-family: "Verdana",sans-serif;">XferAbortCallback(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DMA_Abort_IT</span></span>()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add error management in case of <span class="grame"><span style="font-family: "Verdana",sans-serif;">IT</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Move <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SAI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">BlockSynchroConfig(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SAI_GetInputClock</span></span>() functions to stm32f4xx_hal_sai.c/.h files (extension files are kept empty for projects compatibility reason)</span><span style=""><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in; text-align: start; widows: 1; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DCMI<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span></span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update<o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename <span class="spelle"><span style="font-family: "Verdana",sans-serif;">DCMI_DMAConvCplt</span></span> to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">DCMI_DMAXferCplt</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DCMI_Start_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>) function to Enable the DCMI peripheral</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new timeout implementation based on <span class="spelle"><span style="font-family: "Verdana",sans-serif;">cpu</span></span> cycles for DCMI <span class="grame"><span style="font-family: "Verdana",sans-serif;">stop</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DCMI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Suspend(</span></span>) function to suspend DCMI capture</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DCMI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Resume(</span></span>) function to resume capture after DCMI suspend</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update lock mechanism for DCMI process</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DCMI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) function to:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add error management in case DMA errors through <span class="grame"><span style="font-family: "Verdana",sans-serif;">XferAbortCallback(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DMA_Abort_IT</span></span>()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Optimize code by using direct register <span class="grame"><span style="font-family: "Verdana",sans-serif;">read</span></span></span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL <i>DMA</i></span></b><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new APIs <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DMA_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">RegisterCallback(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DMA_UnRegisterCallback</span></span> to register/unregister the different callbacks identified by the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">enum</span></span> typedef <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DMA_CallbackIDTypeDef</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new API <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DMA_Abort_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) to abort DMA transfer under interrupt context</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">The new registered Abort callback is called when DMA transfer abortion is <span class="grame"><span style="font-family: "Verdana",sans-serif;">completed</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the check of compatibility between FIFO threshold level and size of the memory burst in the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DMA_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) API</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new Error Codes: HAL_DMA_ERROR_PARAM, HAL_DMA_ERROR_NO_XFER and HAL_DMA_ERROR_NOT_SUPPORTED</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove all DMA states related to MEM0/MEM1 in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DMA_StateTypeDef</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL IWDG</span></b><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Overall rework of the driver for a more efficient implementation</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove the following APIs:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_IWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Start(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_IWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">MspInit(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_IWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">GetState(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update implementation:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_IWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Init(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): this function insures the configuration and the start of the IWDG counter</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_IWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Refresh(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): this function insures the reload of the IWDG counter</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Refer to the following example to identify the changes: <span class="spelle"><span style="font-family: "Verdana",sans-serif;">IWDG_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Example</span></span></span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL LPTIM</span></b><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_LPTIM_TimeOut_Start_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_LPTIM_Counter_Start_IT</span></span>( ) APIs to configure <span class="spelle"><span style="font-family: "Verdana",sans-serif;">WakeUp</span></span> Timer EXTI interrupt to be able to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">wakeup</span></span> MCU from low power mode by pressing the EXTI line. </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_LPTIM_TimeOut_Stop_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_LPTIM_Counter_Stop_IT</span></span>( ) APIs to disable <span class="spelle"><span style="font-family: "Verdana",sans-serif;">WakeUp</span></span> Timer EXTI interrupt. </span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL NOR</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update NOR_ADDR_SHIFT macro <span class="grame"><span style="font-family: "Verdana",sans-serif;">implementation</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL PCD</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PCD_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) to get HCLK frequency before setting TRDT value</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL QSPI</span></b><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> </ul> <ul style="margin-top: 0in; text-align: start; widows: 1; word-spacing: 0px;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to manage QSPI error management during DMA <span class="grame"><span style="font-family: "Verdana",sans-serif;">process</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Improve the DMA transmit process by using QSPI TC interrupt instead of waiting loop on TC flag under DMA ISR</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">These two improvements require the following updates on user application:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Configure and enable the QSPI IRQ in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_QSPI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">MspInit(</span></span>) function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">In stm32f4xx_it.c file, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">QSPI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) function: add a call to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_QSPI_IRQHandler</span></span>() function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add and customize the Error Callback API: <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_QSPI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ErrorCallback(</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the management of non-blocking transfer abort service: <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_QSPI_Abort_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>). In this case the user must:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new callback <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_QSPI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">AbortCpltCallback(</span></span>) to inform user at the end of abort process</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">A new value of State in the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_QSPI_StateTypeDef</span></span> provides the current state during the abort <span class="grame"><span style="font-family: "Verdana",sans-serif;">phase</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Polling management update:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">The Timeout value user must be estimated for the overall process duration: <span class="grame"><span style="font-family: "Verdana",sans-serif;">the</span></span> Timeout measurement is cumulative. </span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Refer to the following examples, which describe the changes:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">QSPI_ReadWrite_DMA</span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">QSPI_MemoryMapped</span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">QSPI_ExecuteInPlace</span></span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in; text-align: start; widows: 1; word-spacing: 0px;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add two new APIs for the QSPI <span class="spelle"><span style="font-family: "Verdana",sans-serif;">fifo</span></span> threshold:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_QSPI_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SetFifoThreshold(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): configure the FIFO threshold of the QSPI</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_QSPI_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">GetFifoThreshold(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): give the current FIFO threshold</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix wrong data size management in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_QSPI_Receive_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL ADC</span></b><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new __HAL_ADC_PATH_INTERNAL_VBAT_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DISABLE(</span></span>) macro for STM32F42x and STM32F43x devices to provide the possibility to convert <span class="spelle"><span style="font-family: "Verdana",sans-serif;">VrefInt</span></span> channel when both <span class="spelle"><span style="font-family: "Verdana",sans-serif;">VrefInt</span></span> and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">Vbat</span></span> channels are selected.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SPDIFRX<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span></span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Overall <span class="grame"><span style="font-family: "Verdana",sans-serif;">driver</span></span> update for wait on flag management optimization<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL WWDG<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span></span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Overall rework of the driver for more efficient implementation</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove the following APIs:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_WWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Start(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_WWDG_Start_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_WWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">MspDeInit(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_WWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">GetState(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update implementation:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_WWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Init(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">A new parameter in the Init Structure: <span class="spelle"><span style="font-family: "Verdana",sans-serif;">EWIMode</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_WWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">MspInit(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_WWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Refresh(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">This function insures the reload of the <span class="grame"><span style="font-family: "Verdana",sans-serif;">counter</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">The "counter" parameter has been <span class="grame"><span style="font-family: "Verdana",sans-serif;">removed</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_WWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IRQHandler(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_WWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">EarlyWakeupCallback(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) is the new prototype of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_WWDG_WakeUpCallback</span></span>()</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Refer to the following example to identify the changes: <span class="spelle"><span style="font-family: "Verdana",sans-serif;">WWDG_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Example</span></span></span><span style=""><o:p></o:p></span></li> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.4.4 / 22-January-2016</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b></p> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL Generic </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update<o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">stm32f4xx_hal_conf_template.h</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Optimize HSE Startup Timeout value from 5000ms to 100 <span class="grame"><span style="font-family: "Verdana",sans-serif;">ms</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new define LSE_STARTUP_TIMEOUT</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new define USE_SPI_CRC for code cleanup when the CRC calculation is disabled.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL drivers to support MISRA C 2004 rule <span class="grame"><span style="font-family: "Verdana",sans-serif;">10.6</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new template driver to configure <span class="spelle"><span style="font-family: "Verdana",sans-serif;">timebase</span></span> using <span class="grame"><span style="font-family: "Verdana",sans-serif;">TIMER :</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="">s</span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">tm32f4xx_hal_timebase_tim_template.c</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL CAN </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CAN_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Transmit(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CAN_Transmit_IT</span></span>() functions to unlock process when all Mailboxes are busy</span><span style=""><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DSI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update<o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DSI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">SetPHYTimings(</span></span>) functions to use the correct mask</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL UART </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></b></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Several update on HAL UART driver to implement the new UART state machine: </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new field in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">UART_HandleTypeDef</span></span> structure: "<span class="spelle"><span style="font-family: "Verdana",sans-serif;">rxState</span></span>", UART state information related to Rx <span class="grame"><span style="font-family: "Verdana",sans-serif;">Operations</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename "state" field in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">UART_HandleTypeDef</span></span> structure by "<span class="spelle"><span style="font-family: "Verdana",sans-serif;">gstate</span></span>": UART state information related to global Handle management and Tx <span class="grame"><span style="font-family: "Verdana",sans-serif;">Operations</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update UART process to manage the new UART states.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update __HAL_UART_RESET_HANDLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">STATE(</span></span>) macro to handle the new UART state parameters (<span class="spelle"><span style="font-family: "Verdana",sans-serif;">gState</span></span>, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">rxState</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update UART_BRR_SAMPLING16() and UART_BRR_SAMPLING8() Macros to fix wrong <span class="spelle"><span style="font-family: "Verdana",sans-serif;">baudrate</span></span> calculation.</span><span style=""><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL IRDA </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></b></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Several update on HAL IRDA driver to implement the new UART state machine: </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new field in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">IRDA_HandleTypeDef</span></span> structure: "<span class="spelle"><span style="font-family: "Verdana",sans-serif;">rxState</span></span>", IRDA state information related to Rx <span class="grame"><span style="font-family: "Verdana",sans-serif;">Operations</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename "state" field in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">UART_HandleTypeDef</span></span> structure by "<span class="spelle"><span style="font-family: "Verdana",sans-serif;">gstate</span></span>": IRDA state information related to global Handle management and Tx <span class="grame"><span style="font-family: "Verdana",sans-serif;">Operations</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update IRDA process to manage the new UART states.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update __HAL_IRDA_RESET_HANDLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">STATE(</span></span>) macro to handle the new IRDA state parameters (<span class="spelle"><span style="font-family: "Verdana",sans-serif;">gState</span></span>, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">rxState</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Removal of IRDA_TIMEOUT_VALUE define</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update IRDA_<span class="grame"><span style="font-family: "Verdana",sans-serif;">BRR(</span></span>) Macro to fix wrong <span class="spelle"><span style="font-family: "Verdana",sans-serif;">baudrate</span></span> calculation</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SMARTCARD </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></b></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Several update on HAL SMARTCARD driver to implement the new UART state machine: </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new field in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SMARTCARD_HandleTypeDef</span></span> structure: "<span class="spelle"><span style="font-family: "Verdana",sans-serif;">rxState</span></span>", <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SMARTCARDstate</span></span> information related to Rx <span class="grame"><span style="font-family: "Verdana",sans-serif;">Operations</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename "state" field in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">UART_HandleTypeDef</span></span> structure by "<span class="spelle"><span style="font-family: "Verdana",sans-serif;">gstate</span></span>": <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SMARTCARDstate</span></span> information related to global Handle management and Tx <span class="grame"><span style="font-family: "Verdana",sans-serif;">Operations</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update SMARTCARD process to manage the new UART states.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update __HAL_SMARTCARD_RESET_HANDLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">STATE(</span></span>) macro to handle the new SMARTCARD state parameters (<span class="spelle"><span style="font-family: "Verdana",sans-serif;">gState</span></span>, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">rxState</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update SMARTCARD_<span class="grame"><span style="font-family: "Verdana",sans-serif;">BRR(</span></span>) macro to fix wrong <span class="spelle"><span style="font-family: "Verdana",sans-serif;">baudrate</span></span> calculation</span><span style=""><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="grame"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RCC</span></b></span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new default define value for HSI calibration "RCC_HSICALIBRATION_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DEFAULT"</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Optimize Internal oscillators and PLL startup <span class="grame"><span style="font-family: "Verdana",sans-serif;">timeout</span></span> </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to avoid the disable for HSE/LSE oscillators before setting the new RCC HSE/LSE configuration and add the following notes in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RCC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">OscConfig(</span></span>) API description:</span><span style="font-size: 10pt;"><o:p></o:p></span></li> </ul> </ul> <p class="MsoNormal" style=""><span style="font-size: 10pt;"> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> * @note Transitions LSE Bypass to LSE On and LSE On to LSE Bypass are not</span><span style="font-size: 10pt;"> <br> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> * supported by this API. User should request a transition to LSE Off</span><span style="font-size: 10pt;"> <br> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> * first and then LSE On or LSE Bypass.</span><span style="font-size: 10pt;"> <br> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> * @note Transition HSE Bypass to HSE On and HSE On to HSE Bypass are not</span><span style="font-size: 10pt;"> <br> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> * supported by this API. User should request a transition to HSE Off</span><span style="font-size: 10pt;"> <br> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> * first and then HSE On or HSE Bypass.</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></p> <ul type="disc"> <ul type="circle"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Optimize the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RCC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ClockConfig(</span></span>) API implementation.</span><span style="font-size: 10pt;"><o:p></o:p></span></li> </ul> </ul> <ul type="disc"> <li class="MsoNormal" style=""><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DMA2D </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL_DMA2D_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Abort(</span></span>) Function to end current DMA2D transfer properly</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL_DMA2D_<span class="grame"><span style="font-family: "Verdana",sans-serif;">PollForTransfer(</span></span>) function to add poll for background CLUT loading (layer 0 and layer 1).</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL_DMA2D_<span class="grame"><span style="font-family: "Verdana",sans-serif;">PollForTransfer(</span></span>) to set the corresponding <span class="spelle"><span style="font-family: "Verdana",sans-serif;">ErrorCode</span></span> in case of error occurrence</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL_DMA2D_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ConfigCLUT(</span></span>) function to fix wrong CLUT size and color mode settings</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Removal of useless macro __HAL_DMA2D_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DISABLE(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL_DMA2D_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Suspend(</span></span>) to manage correctly the case where no transfer is on going</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL_DMA2D_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Resume(</span></span>) to manage correctly the case where no transfer is on going</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL_DMA2D_Start_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) to enable all required interrupts before enabling the transfer.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add HAL_DMA2D_CLUTLoad_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) Function to allow loading a CLUT with interruption model.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 7pt;"><span style="font-size-adjust: none; font-stretch: normal;"> </span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL_DMA2D_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) to manage the following cases :</span><span style="font-size: 7pt;"><span style="font-size-adjust: none; font-stretch: normal;"><br style=""> <!--[if !supportLineBreakNewLine]--><br style=""> <!--[endif]--><o:p></o:p></span></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">CLUT transfer <span class="grame"><span style="font-family: "Verdana",sans-serif;">complete</span></span></span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">CLUT access error</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Transfer watermark <span class="grame"><span style="font-family: "Verdana",sans-serif;">reached</span></span></span><span style="font-size: 10pt;"><o:p></o:p></span></li> </ul> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new Callback APIs:</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> HAL_DMA2D_<span class="grame"><span style="font-family: "Verdana",sans-serif;">LineEventCallback(</span></span>) to signal a transfer watermark reached event</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> HAL_DMA2D_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CLUTLoadingCpltCallback(</span></span>) to signal a CLUT loading complete event <o:p></o:p></span></li> </ul> </ul> </ul> <ul type="disc"> <ul type="circle"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Miscellaneous Improvement:</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add "HAL_DMA2D_ERROR_CAE" new define for CLUT Access error management.</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add </span><span style="font-size: 7pt;"><span style="font-size-adjust: none; font-stretch: normal;"> <span class="grame"> </span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">�</span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">assert_param</span></span>� used for parameters check is now done on the top of the exported functions : before locking the process using __HAL_LOCK</span><span style="font-size: 10pt;"><o:p></o:p></span></li> </ul> </ul> </ul> <p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p> </o:p></span></p> <ul type="square"> <li class="MsoNormal" style=""><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL I2C </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add support of I2C repeated start feature:</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">With the following new API's</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_I2C_Master_Sequential_Transmit_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_I2C_Master_Sequential_Receive_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_I2C_Master_Abort_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_I2C_Slave_Sequential_Transmit_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_I2C_Slave_Sequential_Receive_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_I2C_EnableListen_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_I2C_DisableListen_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> </ul> <li class="MsoNormal" style=""><span style="font-size: 10pt;">Add new user callbacks:<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_I2C_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ListenCpltCallback(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_I2C_<span class="grame"><span style="font-family: "Verdana",sans-serif;">AddrCallback(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to generate STOP condition when a acknowledge failure error is <span class="grame"><span style="font-family: "Verdana",sans-serif;">detected</span></span></span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Several update on HAL I2C driver to implement the new I2C state machine: </span><span style="font-size: 10pt;"><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new API to get the I2C mode: HAL_I2C_<span class="grame"><span style="font-family: "Verdana",sans-serif;">GetMode(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update I2C process to manage the new I2C states.</span><span style="font-size: 10pt;"><o:p></o:p></span></li> </ul> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix wrong <span class="spelle"><span style="font-family: "Verdana",sans-serif;">behaviour</span></span> in single byte <span class="grame"><span style="font-family: "Verdana",sans-serif;">transmission</span></span> </span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update I2C_<span class="grame"><span style="font-family: "Verdana",sans-serif;">WaitOnFlagUntilTimeout(</span></span>) to manage the NACK feature.</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update I</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">2C transmission process to support the case data size equal 0</span><span style="font-size: 10pt;"><o:p></o:p></span></li> </ul> </ul> <ul type="square"> <li class="MsoNormal" style=""><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL FMPI2C </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add support of FMPI2C repeated start feature:</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">With the following new API's</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_FMPI2C_Master_Sequential_Transmit_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_FMPI2C_Master_Sequential_Receive_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_FMPI2C_Master_Abort_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_FMPI2C_Slave_Sequential_Transmit_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_FMPI2C_Slave_Sequential_Receive_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_FMPI2C_EnableListen_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_FMPI2C_DisableListen_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> </ul> <li class="MsoNormal" style=""><span style="font-size: 10pt;">Add new user callbacks:<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_FMPI2C_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ListenCpltCallback(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_FMPI2C_<span class="grame"><span style="font-family: "Verdana",sans-serif;">AddrCallback(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Several update on HAL I2C driver to implement the new I2C state machine: </span><span style="font-size: 10pt;"><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new API to get the FMPI2C mode: HAL_FMPI2C_<span class="grame"><span style="font-family: "Verdana",sans-serif;">GetMode(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update FMPI2C process to manage the new FMPI2C states.</span><span style="font-size: 10pt;"><o:p></o:p></span></li> </ul> </ul> </ul> <ul type="square"> <li class="MsoNormal" style=""><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SPI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style="font-size: 10pt;"> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></b></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Major Update to improve performance in polling/interrupt mode to reach max frequency:</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Polling <span class="grame"><span style="font-family: "Verdana",sans-serif;">mode :</span></span></span><span style="font-size: 10pt;"><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Replace use of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SPI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">WaitOnFlagUnitTimeout(</span></span>) <span class="spelle"><span style="font-family: "Verdana",sans-serif;">funnction</span></span> by "if" statement to check on RXNE/TXE <span class="spelle"><span style="font-family: "Verdana",sans-serif;">flage</span></span> while transferring data.</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Use API data pointer instead of SPI handle data pointer.</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Use a <span class="spelle"><span style="font-family: "Verdana",sans-serif;">Goto</span></span> implementation instead of "<span class="grame"><span style="font-family: "Verdana",sans-serif;">if..</span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">else</span></span>" statements.</span><span style="font-size: 10pt;"><o:p></o:p></span></li> </ul> </ul> </ul> </ul> <ul type="square"> <ul type="square"> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt;">Interrupt mode<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Minimize access on SPI registers.</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Split the SPI modes into dedicated static functions to minimize checking statements under <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>):</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">1lines/2lines modes</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">8 bit/ 16 bits data formats</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">CRC calculation enabled/disabled.</span><span style="font-size: 10pt;"><o:p></o:p></span></li> </ul> <li class="MsoNormal" style=""><span style="font-size: 10pt;">Remove waiting loop under ISR when <span class="grame">closing the</span> communication.<o:p></o:p></span></li> </ul> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">All modes: </span><span style="font-size: 10pt;"><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Adding switch USE_SPI_CRC to minimize number of statements when CRC calculation is disabled.</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update Timeout management to check on global process.</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update Error code management in all processes.</span><span style="font-size: 10pt;"><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style=""><span style="font-size: 10pt;">Add note to the max frequencies reached in all modes.<o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt;">Add note about Master Receive mode <span class="grame">restrictions :</span><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: rgb(0, 32, 82);"><span style="font-size: 10pt;">Master Receive mode restriction:<br> <span class="grame"> (</span>#) In Master unidirectional receive-only mode (MSTR =1, BIDIMODE=0, RXONLY=0) or <br> bidirectional receive mode (MSTR=1, BIDIMODE=1, BIDIOE=0), to ensure that the SPI <br> does not initiate a new transfer the following procedure has to be respected:<br> (##) <span class="spelle">HAL_SPI_DeInit</span>()<br> (##) <span class="spelle">HAL_SPI_Init</span>() </span><span style="font-size: 10pt; font-family: "Arial",sans-serif;"><o:p></o:p></span></li> </ul> </ul> </ul> <ul type="square"> <li class="MsoNormal" style=""><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SAI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style="font-size: 10pt;"> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></b></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update for proper management of the external synchronization input <span class="grame"><span style="font-family: "Verdana",sans-serif;">selection</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_Init</span></span> () <span class="spelle"><span style="font-family: "Verdana",sans-serif;">funciton</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update definition of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SAI_Block_SyncExt</span></span> and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SAI_Block_Synchronization</span></span> groups</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update SAI_SLOTACTIVE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">X defines</span></span> values</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) function for proper <span class="spelle"><span style="font-family: "Verdana",sans-serif;">companding</span></span> mode management</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SAI_Transmit_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ITxxBit(</span></span>) functions to add the check on transfer counter before writing new data to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SAIx_DR</span></span> registers</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SAI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">FillFifo(</span></span>) function to avoid issue when the number of data to transmit is smaller than the FIFO size</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">EnableRxMuteMode(</span></span>) function for proper mute management</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SAI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">InitPCM(</span></span>) function to support 24bits configuration</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL ETH </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></b></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Removal of ETH MAC debug register <span class="grame"><span style="font-family: "Verdana",sans-serif;">defines</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL FLASH </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></b></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FLASH_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">MassErase(</span></span>) function to apply correctly voltage range parameter</span><span style=""> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL I2S </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><b><span style=""> </span></b><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></b></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update I2S_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMATxCplt(</span></span>) and I2S_DMARxCplt() to manage properly <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FullDuplex</span></span> mode without any risk of missing data.</span><span style=""> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL FMC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update<b> <o:p></o:p></b></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FMC_NORSRAM_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) function to use <span class="spelle"><span style="font-family: "Verdana",sans-serif;">BurstAccessMode</span></span> field properly</span><span style=""> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL <span class="grame"><span style="font-family: "Verdana",sans-serif;">FSMC </span></span></span></b><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span></span><span style=""> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></b></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FSMC_NORSRAM_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) function to use <span class="spelle"><span style="font-family: "Verdana",sans-serif;">BurstAccessMode</span></span> field properly</span><span style=""><o:p></o:p></span></li> </ul> </ul> <p class="MsoNormal" style=""><span style="font-size: 10pt;"><br style=""> <!--[if !supportLineBreakNewLine]--><br style=""> <!--[endif]--><o:p></o:p></span></p> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.4.4 / 11-December-2015</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style=""><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b><span style="font-size: 10pt;"><o:p></o:p></span></p> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL Generic </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL weak empty callbacks to prevent unused argument compilation warnings with some compilers by calling the following line:</span><span style=""> <o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">UNUSED(</span></span><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">hppp</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">);</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">STM32Fxxx_User_Manual.chm files regenerated for HAL V1.4.3</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL ETH</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_ETH_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) function to add timeout on the Software reset management</span><span style=""><o:p></o:p></span></li> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.4.2 / 10-November-2015</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b><o:p></o:p></p> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General updates to fix known defects and enhancements <span class="grame"><span style="font-family: "Verdana",sans-serif;">implementation</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">One change done on the HAL CRYP requires an update on the application code based on HAL V1.4.1</span></b><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CRYP_DESECB_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Decrypt(</span></span>) API to invert <span class="spelle"><span style="font-family: "Verdana",sans-serif;">pPlainData</span></span> and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">pCypherData</span></span> parameters</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL generic</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL weak empty callbacks to prevent unused argument compilation warnings with some compilers by calling the following line:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 12pt;"><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">UNUSED(</span></span><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">hppp</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">);</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL CORTEX </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove duplication for __HAL_CORTEX_SYSTICKCLK_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CONFIG(</span></span>) macro</span><span style=""><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL HASH </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_HASH_STATETypeDef</span></span> to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_HASH_StateTypeDef</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_HASH_PhaseTypeDef</span></span> to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_HASH_PhaseTypeDef</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RCC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new macros __HAL_RCC_<i>PPP</i>_IS_CLK_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLED(</span></span>) to check on Clock enable/disable status</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update __HAL_RCC_USB_OTG_FS_CLK_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DISABLE(</span></span>) macro to remove the disable for the SYSCFG</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RCC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">MCOConfig(</span></span>) API to use new defines for the GPIO Speed</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Generic update to improve the PLL VCO min value(100MHz): PLLN, PLLI2S and PLLSAI min value is 50 instead of <span class="grame"><span style="font-family: "Verdana",sans-serif;">192</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL FLASH </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: rgb(2, 3, 2); margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="text-align: start; float: none; word-spacing: 0px;"><span style="font-size: 9pt; font-family: "Verdana",sans-serif;">__HAL_FLASH_INSTRUCTION_CACHE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">RESET(</span></span>) macro: update to <span style="text-align: start; float: none; word-spacing: 0px;"></span><span style="">reset </span><span style="text-align: start; float: none; word-spacing: 0px;">ICRST </span><span style="text-align: start; float: none; word-spacing: 0px;">bit in the ACR register after setting it.</span></span></span><span style="font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(2, 3, 2); margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to support until 15 FLASH wait state (FLASH_LATENCY_15) for STM32F446xx <span class="grame"><span style="font-family: "Verdana",sans-serif;">devices</span></span> </span><span style="font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> </ul> </ul> <p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">�</span><span style="font-size: 7pt; color: black;"> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">HAL CRYP </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">update</span><span style="color: black;"><o:p></o:p></span></p> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_CRYP_DESECB_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Decrypt(</span></span>) API to fix the inverted <span class="spelle"><span style="font-family: "Verdana",sans-serif;">pPlainData</span></span> and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">pCypherData</span></span> parameters issue</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL I2S </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL_I2S_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) API to call __HAL_RCC_I2S_CONFIG() macro when external I2S clock is selected</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL LTDC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_LTDC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">SetWindowPosition(</span></span>) API to configure Immediate reload register instead of vertical blanking reload register.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL TIM </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIM_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ConfigClockSource(</span></span>) API to check only the required parameters</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL NAND </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update HAL_NAND_Read_Page()/HAL_NAND_Write_Page()/HAL_NAND_Read_<span class="grame"><span style="font-family: "Verdana",sans-serif;">SpareArea(</span></span>) APIs to manage correctly the NAND Page access</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL CAN </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to use "=" instead of "|=" to clear flags in the MSR, TSR, RF0R and RF1R registers</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL HCD </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix typo in __HAL_USB_OTG_HS_WAKEUP_EXTI_ENABLE_RISING_FALLING_<span class="grame"><span style="font-family: "Verdana",sans-serif;">EDGE(</span></span>) macro implementation</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL PCD </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PCD_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) API to avoid issue when DMA mode enabled for Status Phase IN stage</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL FMC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FMC_NORSRAM_Extended_Timing_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) API to remove the check on <span class="spelle"><span style="font-family: "Verdana",sans-serif;">CLKDIvison</span></span> and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">DataLatency</span></span> parameters</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FMC_NORSRAM_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) API to add a check on the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">PageSize</span></span> parameter for STM32F42/43xx devices</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL FSMC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FSMC_NORSRAM_Extended_Timing_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) API to remove the check on <span class="spelle"><span style="font-family: "Verdana",sans-serif;">CLKDIvison</span></span> and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">DataLatency</span></span> parameters</span><span style=""><o:p></o:p></span></li> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.4.1 / 09-October-2015</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b><o:p></o:p></p> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DSI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update TCCR register assigned value in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DSI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ConfigHostTimeouts(</span></span>) function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update WPCR register assigned value in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DSI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DSI_SetSlewRateAndDelayTuning</span></span>(), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DSI_SetSlewRateAndDelayTuning</span></span>(), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DSI_SetLowPowerRXFilter</span></span>() / <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DSI_SetSDD</span></span>(), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DSI_SetLanePinsConfiguration</span></span>(), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DSI_SetPHYTimings</span></span>(), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DSI_ForceTXStopMode</span></span>(), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DSI_ForceRXLowPower</span></span>(), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DSI_ForceDataLanesInRX</span></span>(), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DSI_SetPullDown</span></span>() and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DSI_SetContentionDetectionOff</span></span>() functions</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update DSI_HS_PM_ENABLE define <span class="grame"><span style="font-family: "Verdana",sans-serif;">value</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Implement workaround for the hardware limitation: �The time to activate the clock between HS transmissions is not calculated <span class="grame"><span style="font-family: "Verdana",sans-serif;">correctly�</span></span></span><span style=""><o:p></o:p></span></li> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.4.0 / 14-August-2015</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b><o:p></o:p></p> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add support of<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><b>STM32F469xx</b><span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;">, <b>STM32F479xx</b>, <b>STM32F410Cx, STM32F410Rx </b>and<b> STM32F410</b></span></span><span class="grame"><b><span style="font-family: "Verdana",sans-serif;">Tx </span></b></span><span class="grame"><span style="font-family: "Verdana",sans-serif;"> devices</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General updates to fix known defects and enhancements <span class="grame"><span style="font-family: "Verdana",sans-serif;">implementation</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new HAL drivers for <b>DSI </b>and<b> LPTIM </b>peripherals</span><span style=""><o:p></o:p></span></li> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL ADC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename ADC_CLOCKPRESCALER_PCLK_DIV2 define to ADC_CLOCK_SYNC_PCLK_DIV2</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename ADC_CLOCKPRESCALER_PCLK_DIV4 define to ADC_CLOCK_SYNC_PCLK_DIV4</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename ADC_CLOCKPRESCALER_PCLK_DIV6 define to ADC_CLOCK_SYNC_PCLK_DIV6</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename ADC_CLOCKPRESCALER_PCLK_DIV8 define to ADC_CLOCK_SYNC_PCLK_DIV8 </span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL CORTEX </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add specific API for MPU management</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">add <span class="spelle"><span style="font-family: "Verdana",sans-serif;">MPU_Region_InitTypeDef</span></span> structure</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">add new function <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_MPU_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ConfigRegion(</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DMA </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Overall <span class="grame"><span style="font-family: "Verdana",sans-serif;">driver</span></span> update for code optimization</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">add <span class="spelle"><span style="font-family: "Verdana",sans-serif;">StreamBaseAddress</span></span> and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">StreamIndex</span></span> new fields in the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">DMA_HandleTypeDef</span></span> structure</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">add <span class="spelle"><span style="font-family: "Verdana",sans-serif;">DMA_Base_Registers</span></span> private <span class="grame"><span style="font-family: "Verdana",sans-serif;">structure</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">add static function <span class="spelle"><span style="font-family: "Verdana",sans-serif;">DMA_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">CalcBaseAndBitshift(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DMA_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) function to use the new added static function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DMA_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DeInit(</span></span>) function to optimize clear flag operations</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DMA_Start_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) function to optimize interrupts enable</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DMA_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">PollForTransfer(</span></span>) function to optimize check on flags</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DMA_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) function to optimize interrupt flag management</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL FLASH </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_FLASH_Program_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) function by removing the pending flag clear</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_FLASH_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) function to improve erase operation procedure</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FLASH_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">WaitForLastOperation(</span></span>) function by checking on end of operation flag</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL GPIO </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename GPIO_SPEED_LOW define to GPIO_SPEED_FREQ_LOW</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename GPIO_SPEED_MEDIUM define to GPIO_SPEED_FREQ_MEDIUM</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename GPIO_SPEED_FAST define to GPIO_SPEED_FREQ_HIGH</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename GPIO_SPEED_HIGH define to GPIO_SPEED_FREQ_VERY_HIGH</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL I2S </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Move I2S_Clock_Source defines to extension file to properly add the support of STM32F410xx <span class="grame"><span style="font-family: "Verdana",sans-serif;">devices</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL LTDC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">rename <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_LTDC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">LineEvenCallback(</span></span>) function to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_LTDC_LineEventCallback</span></span>()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">add new function <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_LTDC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">SetPitch(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">add new functions <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_LTDC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">StructInitFromVideoConfig(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_LTDC_StructInitFromAdaptedCommandConfig</span></span>() applicable only to STM32F469xx and STM32F479xx devices</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL PWR </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">move __HAL_PWR_VOLTAGESCALING_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CONFIG(</span></span>) macro to extension file</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">move PWR_WAKEUP_PIN2 define to extension <span class="grame"><span style="font-family: "Verdana",sans-serif;">file</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">add PWR_WAKEUP_PIN3 define, applicable only to STM32F10xx <span class="grame"><span style="font-family: "Verdana",sans-serif;">devices</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">add new functions <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PWREx_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">EnableWakeUpPinPolarityRisingEdge(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PWREx_EnableWakeUpPinPolarityFallingEdge</span></span>(), applicable only to STM32F469xx and STM32F479xx devices</span><span style=""><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RTC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RTCEx_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">SetWakeUpTimer(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RTCEx_SetWakeUpTimer_IT</span></span>() functions to properly check on the WUTWF flag</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL TIM </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">add new defines TIM_SYSTEMBREAKINPUT_<span class="grame"><span style="font-family: "Verdana",sans-serif;">HARDFAULT, TIM</span></span>_SYSTEMBREAKINPUT_PVD and TIM_SYSTEMBREAKINPUT_HARDFAULT_PVD, applicable only to STM32F410xx devices</span><span style=""><o:p></o:p></span></li> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.3.2 / 26-June-2015</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b><o:p></o:p></p> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General updates to fix known defects and enhancements <span class="grame"><span style="font-family: "Verdana",sans-serif;">implementation</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">One <span class="grame"><span style="font-family: "Verdana",sans-serif;">changes</span></span> done on the HAL may require an update on the application code based on HAL V1.3.1</span></b><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HASH IT process: update to call the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_HASH_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">InCpltCallback(</span></span>) at the end of the complete buffer instead of every each 512 bits</span><span style=""><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RCC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RCCEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">PeriphCLKConfig(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) updates:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update the LSE check condition after backup domain <span class="grame"><span style="font-family: "Verdana",sans-serif;">reset:</span></span> update to check LSE ready flag when LSE oscillator is already enabled instead of check on LSE oscillator only when LSE is used as RTC clock source</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Use the right macro to check the PLLI2SQ <span class="grame"><span style="font-family: "Verdana",sans-serif;">parameters</span></span> </span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RTC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RTC_TAMPER_TIMESTAMP_EXTI_GET_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FLAG(</span></span>) macro: fix implementation issue</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RTC_ALARM_GET_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>), __HAL_RTC_ALARM_CLEAR_FLAG(), __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(), __HAL_RTC_TIMESTAMP_CLEAR_FLAG() and __HAL_RTC_TAMPER_CLEAR_FLAG() macros implementation changed: remove unused cast</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IS_RTC_<span class="grame"><span style="font-family: "Verdana",sans-serif;">TAMPER(</span></span>) macro: update to use literal instead of hardcoded value </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new parameter <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SecondFraction</span></span> in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">RTC_TimeTypeDef</span></span> structure</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RTC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">GetTime(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) API update to support the new parameter <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SecondFraction</span></span> </span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL ADC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new literal: ADC_INJECTED_SOFTWARE_START to be used as possible value for the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">ExternalTrigInjecConvEdge</span></span> parameter in the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">ADC_InitTypeDef</span></span> structure to select the ADC software trigger mode.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL FLASH </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">FLASH_OB_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">GetRDP(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) API update to return uint8_t instead of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FlagStatus</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> __HAL_FLASH_GET_<span class="grame"><span style="font-family: "Verdana",sans-serif;">LATENCY(</span></span>) new macro add to get the flash latency</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SPI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix the wrong definition of HAL_SPI_ERROR_FLAG literal</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL I2S </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_I2S_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Transmit(</span></span>) API update to check on busy flag only for I2S slave mode</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL CRC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_CRC_SET_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IDR(</span></span>) macro implementation change to use WRITE_REG() instead of MODIFY_REG()</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DMA2D </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DMA2D_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ConfigLayer(</span></span>) API update to use "=" instead of "|=" to erase BGCOLR and FGCOLR registers before setting the new configuration</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL HASH </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HASH_<b>MODE</b>_Start_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) (<b>MODE </b>stands for MD5, SHA1, SHA224 and SHA36) updates:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix processing fail for small input <span class="grame"><span style="font-family: "Verdana",sans-serif;">buffers</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to unlock the process and call return HAL_OK at the end of HASH processing to avoid incorrectly repeating <span class="grame"><span style="font-family: "Verdana",sans-serif;">software</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to properly manage the <span class="grame"><span style="font-family: "Verdana",sans-serif;">HashITCounter</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to call the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_HASH_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">InCpltCallback(</span></span>) at the end of the complete buffer instead of every each 512 bits </span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_HASH_GET_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FLAG(</span></span>) update to check the right register when the DINNE flag is selected</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HASH_SHA1_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Accumulate(</span></span>) updates:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add a call to the new IS_HASH_SHA1_BUFFER_<span class="grame"><span style="font-family: "Verdana",sans-serif;">SIZE(</span></span>) macro to check the size parameter. </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the following note in API <span class="grame"><span style="font-family: "Verdana",sans-serif;">description</span></span></span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <div style="margin-left: 1.25in;"> <p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> * @<span class="grame"><span style="font-family: "Verdana",sans-serif;">note Input</span></span> buffer size in bytes must be a multiple of 4 otherwise the digest computation is corrupted.</span><span style="font-size: 10pt;"><o:p></o:p></span></p> </div> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RTC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to define hardware independent literals names:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename RTC_TAMPERPIN_PC13 <span class="grame"><span style="font-family: "Verdana",sans-serif;">by RTC</span></span>_TAMPERPIN_DEFAULT</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename RTC_TAMPERPIN_PA0 by RTC_TAMPERPIN_POS1</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename RTC_TAMPERPIN_PI8 by RTC_TAMPERPIN_POS1</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename RTC_TIMESTAMPPIN_PC13 by RTC_TIMESTAMPPIN_DEFAULT</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename RTC_TIMESTAMPPIN_PA0 by RTC_TIMESTAMPPIN_POS1</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename RTC_TIMESTAMPPIN_PI8 by RTC_TIMESTAMPPIN_POS1</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL ETH </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove duplicated IS_ETH_DUPLEX_<span class="grame"><span style="font-family: "Verdana",sans-serif;">MODE(</span></span>) and IS_ETH_RX_MODE() macros</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove illegal space ETH_MAC_READCONTROLLER_FLUSHING macro</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update ETH_MAC_READCONTROLLER_XXX defined values (XXX can be IDLE, READING_DATA and READING_STATUS)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL PCD </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_PCD_IRQHandler</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> API: fix the bad Configuration of Turnaround Time</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL HCD </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to use local variable in USB Host channel re-<span class="grame"><span style="font-family: "Verdana",sans-serif;">activation</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL FMC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">FMC_SDRAM_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SendCommand(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) API: remove the following line: return HAL_ERROR;</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LL USB </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">USB_FlushTxFifo</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> API: update to flush all Tx <span class="grame"><span style="font-family: "Verdana",sans-serif;">FIFO</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to use local variable in USB Host channel re-<span class="grame"><span style="font-family: "Verdana",sans-serif;">activation</span></span></span><span style=""><o:p></o:p></span></li> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.3.1 / 25-Mars-2015</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b><o:p></o:p></p> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL PWR </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix compilation issue with STM32F417xx product: update <b>STM32F17xx</b> by <b>STM32F417xx</b></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SPI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove unused variable to avoid warning with <span class="grame"><span style="font-family: "Verdana",sans-serif;">TrueSTUDIO</span></span> </span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL I2C </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">I2C Polling/IT/DMA processes: move the wait loop on busy flag at the top of the processes, to ensure that software not perform any write access to I2C_CR1 register before hardware clearing STOP bit and to <span class="grame"><span style="font-family: "Verdana",sans-serif;">avoid also</span></span> the waiting loop on BUSY flag under I2C/DMA ISR.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update busy flag Timeout <span class="grame"><span style="font-family: "Verdana",sans-serif;">value</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">I2C Master Receive Processes update to disable ACK before <span class="grame"><span style="font-family: "Verdana",sans-serif;">generate</span></span> the STOP </span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DAC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix V1.3.0 regression issue with DAC software trigger <span class="grame"><span style="font-family: "Verdana",sans-serif;">configuration</span></span></span><span style=""><o:p></o:p></span></li> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.3.0 / 09-Mars-2015</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b><o:p></o:p></p> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add support of<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><b>STM32F446xx</b><span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">devices</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">General updates to fix known defects and enhancements <span class="grame"><span style="font-family: "Verdana",sans-serif;">implementation</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new HAL drivers for <b>CEC, QSPI, FMPI2C </b>and <b>SPDIFRX </b>peripherals</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Two changes done on the HAL requires an update on the application code based on HAL V1.2.0</span></b><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Overall <b>SAI</b> <b>driver rework</b> to have exhaustive support of the peripheral features: details are provided in <b>HAL SAI </b>update section below --> <b>Compatibility with previous version is <span class="grame"><span style="font-family: "Verdana",sans-serif;">impacted</span></span></b></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">CRYP </span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">driver updated to support multi <span class="grame"><span style="font-family: "Verdana",sans-serif;">instance,so</span></span> user must ensure that the new parameter Instance is <span class="spelle"><span style="font-family: "Verdana",sans-serif;">initalized</span></span> in his application(<span class="spelle"><span style="font-family: "Verdana",sans-serif;">CRYPHandle.Instance</span></span> = CRYP) </span><span style=""><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL Generic </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">stm32f4xx_hal_def.h</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove NULL definition and add include for <span class="spelle"><span style="font-family: "Verdana",sans-serif;">stdio.h</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">stm32_hal_legacy.h</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update method to manage deference in alias implementation between all STM32 <span class="grame"><span style="font-family: "Verdana",sans-serif;">families</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">stm32f4xx_hal_ppp.c</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_PPP_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Init(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): update to force the HAL_PPP_STATE_RESET before calling the <span class="spelle"><i><span style="font-family: "Verdana",sans-serif;">HAL_PPP_MspInit</span></i></span><i>()</i></span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RCC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new function <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RCCEx_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">GetPeriphCLKFreq(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Move <span class="spelle"><span style="font-family: "Verdana",sans-serif;">RCC_PLLInitTypeDef</span></span> structure to extension file and add the new PLLR field specific to STM32F446xx <span class="grame"><span style="font-family: "Verdana",sans-serif;">devices</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Move the following functions to extension file and add a __weak attribute in generic <span class="grame"><span style="font-family: "Verdana",sans-serif;">driver :</span></span> this update is related to new system clock source (<i>PLL/PLLR</i>) added and only available for STM32F44xx devices <o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RCC_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">OscConfig(</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RCC_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">GetSysClockFreq(</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RCC_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">GetOscConfig(</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span></i><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Move the following macro to extension file as they have device dependent <span class="grame"><span style="font-family: "Verdana",sans-serif;">implementation</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_PLL_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CONFIG(</span></span>)</span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> <o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_PLLI2S_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CONFIG(</span></span>)</span></i><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_I2S_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CONFIG(</span></span>)</span></i><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new structure <i>RCC_PLLI2SInitTypeDef</i> containing new <i>PLLI2S</i> division factors used only w/ STM32F446xx <span class="grame"><span style="font-family: "Verdana",sans-serif;">devices</span></span><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new structure <span class="spelle"><i><span style="font-family: "Verdana",sans-serif;">RCC_PLLSAIInitTypeDef</span></i></span> containing new <i>PLLSAI</i> division factors used only w/ STM32F446xx <span class="grame"><span style="font-family: "Verdana",sans-serif;">devices</span></span><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new <span class="spelle"><i><span style="font-family: "Verdana",sans-serif;">RCC_PeriphCLKInitTypeDef</span></i></span> to support the peripheral source clock selection for (<i>I2S, SAI, SDIO, FMPI2C, CEC, SPDIFRX and CLK48</i>)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update the <span class="spelle"><i><span style="font-family: "Verdana",sans-serif;">HAL_RCCEx_</span></i></span><span class="grame"><i><span style="font-family: "Verdana",sans-serif;">PeriphCLKConfig(</span></i></span><i>)</i> and <span class="spelle"><i><span style="font-family: "Verdana",sans-serif;">HAL_RCCEx_GetPeriphCLKConfig</span></i></span><i>() </i>functions to support the new peripherals Clock source selection<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add <i>__HAL_RCC_PLL_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CONFIG(</span></span>)</i> macro (the number of parameter and the implementation depend on the device part number)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add <i>__HAL_RCC_PLLI2S_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CONFIG(</span></span>)</i> macro(the number of parameter and the implementation depend on device part number)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <i>__HAL_RCC_PLLSAI_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CONFIG(</span></span>)</i> macro to support new PLLSAI factors <i>(PLLSAIM and PLLSAIP)</i><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new macros for clock enable/Disable for the following peripherals <i>(CEC, SPDIFRX, SAI2, QUADSPI)</i><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the following new macros for clock source <span class="grame"><span style="font-family: "Verdana",sans-serif;">selection :</span></span><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_SAI1_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CONFIG(</span></span>) / __HAL_RCC_GET_SAI1_SOURCE()<o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_SAI2_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CONFIG(</span></span>) / __HAL_RCC_GET_SAI2_SOURCE()<o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_I2S1_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CONFIG(</span></span>) / __HAL_RCC_GET_I2S1_SOURCE()<o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_I2S2_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CONFIG(</span></span>) / __HAL_RCC_GET_I2S2_SOURCE()<o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_CEC_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CONFIG(</span></span>) / __HAL_RCC__GET_CEC_SOURCE() <o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_FMPI2C1_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CONFIG(</span></span>) / __HAL_RCC_GET_FMPI2C1_SOURCE() <o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_SDIO_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CONFIG(</span></span>) / __HAL_RCC_GET_SDIO_SOURCE() <o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_CLK48_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CONFIG(</span></span>) / __HAL_RCC_GET_CLK48_SOURCE() <o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_SPDIFRXCLK_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CONFIG(</span></span>) / __HAL_RCC_GET_SPDIFRX_SOURCE()</span></i><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_PPP_CLK_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLE(</span></span>): Implement workaround to cover RCC limitation regarding peripheral enable delay</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RCC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">OscConfig(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) fix issues: </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add a check on LSERDY flag when LSE_BYPASS is selected as new state for LSE oscillator.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new possible value <i>RCC_PERIPHCLK_PLLI2S </i>to be selected as<i> <span class="spelle"><span style="font-family: "Verdana",sans-serif;">PeriphClockSelection</span></span> </i>parameter in <span class="grame"><span style="font-family: "Verdana",sans-serif;">the </span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">RCC_PeriphCLKInitTypeDef</span></span> structure to allow the possibility to output the PLLI2S on MCO without activating the I2S or the SAI.</span><span style="font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="text-align: start; float: none; word-spacing: 0px;"><span style="font-size: 9pt; font-family: "Verdana",sans-serif;">__HAL_RCC_HSE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CONFIG(</span></span>)</span><span style="font-size: 9pt; font-family: "Verdana",sans-serif;"> </span></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">macro: add the comment below:</span></i><span style=""><o:p></o:p></span></li> </ul> </ul> <div style="margin-left: 1.25in;"> <p class="MsoNormal" style=""><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> * @note Transition HSE Bypass to HSE On and HSE On to HSE Bypass are not supported by this macro. <br> * User should request a transition to HSE Off first and then HSE On or HSE Bypass.</span></i><span style="font-size: 10pt;"><o:p></o:p></span></p> </div> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="text-align: start; float: none; word-spacing: 0px;"><span style="font-size: 9pt; font-family: "Helvetica",sans-serif;">__HAL_RCC_LSE_<span class="grame"><span style="font-family: "Helvetica",sans-serif;">CONFIG(</span></span>)</span><span style="font-size: 9pt; font-family: "Helvetica",sans-serif;"> </span></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">macro: add the comment below:</span></i><span style=""><o:p></o:p></span></li> </ul> </ul> <div style="margin-left: 1.25in;"> <p class="MsoNormal" style=""><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> * @note Transition LSE Bypass to LSE On and LSE On to LSE Bypass are not supported by this macro.<br> * User should request a transition to LSE Off first and then LSE On or LSE Bypass.</span></i><span style="font-size: 10pt;"><o:p></o:p></span></p> </div> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the following new macros for PLL source and PLLM <span class="grame"><span style="font-family: "Verdana",sans-serif;">selection :</span></span><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_PLL_PLLSOURCE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CONFIG(</span></span>)<o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_PLL_PLLM_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CONFIG(</span></span>)</span></i><i><span style=""><o:p></o:p></span></i></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Macros rename:</span></i><i><span style=""><o:p></o:p></span></i></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RCC_OTGHS_FORCE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">RESET(</span></span>) by HAL_RCC_USB_OTG_HS_FORCE_RESET()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RCC_OTGHS_RELEASE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">RESET(</span></span>) by HAL_RCC_USB_OTG_HS_RELEASE_RESET()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RCC_OTGHS_CLK_SLEEP_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLE(</span></span>) by HAL_RCC_USB_OTG_HS_CLK_SLEEP_ENABLE()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RCC_OTGHS_CLK_SLEEP_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DISABLE(</span></span>) by HAL_RCC_USB_OTG_HS_CLK_SLEEP_DISABLE()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RCC_OTGHSULPI_CLK_SLEEP_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLE(</span></span>) by HAL_RCC_USB_OTG_HS_ULPI_CLK_SLEEP_ENABLE()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RCC_OTGHSULPI_CLK_SLEEP_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DISABLE(</span></span>) by HAL_RCC_USB_OTG_HS_ULPI_CLK_SLEEP_DISABLE()</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add __HAL_RCC_SYSCLK_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CONFIG(</span></span>) new macro to configure the system clock source (SYSCLK)</span><span style="font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RCC_GET_SYSCLK_<span class="grame"><span style="font-family: "Verdana",sans-serif;">SOURCE(</span></span>) updates:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new RCC Literals:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">RCC_SYSCLKSOURCE_STATUS_HSI</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">RCC_SYSCLKSOURCE_STATUS_HSE</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">RCC_SYSCLKSOURCE_STATUS_PLLCLK</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">RCC_SYSCLKSOURCE_STATUS_PLLRCLK</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> Update macro description to refer to the literals <span class="grame"><span style="font-family: "Verdana",sans-serif;">above</span></span> </span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL PWR </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new define PWR_WAKEUP_PIN2</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new API to Control/Get VOS bits of CR <span class="grame"><span style="font-family: "Verdana",sans-serif;">register</span></span></span><span style=""><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_PWR_HAL_PWREx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">ControlVoltageScaling(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style="font-size: 13.5pt;"><o:p></o:p></span></li> <li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_PWREx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">GetVoltageRange(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style="font-size: 13.5pt;"><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_PWR_</span><span style="font-size: 11pt; font-family: "Calibri",sans-serif;"> VOLTAGESCALING_<span class="grame"><span style="font-family: "Calibri",sans-serif;">CONFIG</span></span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): Implement workaround to cover VOS limitation delay when PLL is enabled after setting the VOS configuration</span><span style="background-attachment: scroll;"><span style="text-align: start; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: "Helvetica",sans-serif;"> </span><span style=""><o:p></o:p></span></span></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"></span>HAL GPIO </b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the new Alternate functions literals related to remap for <b><i>SPI, USART, I2C, SPDIFRX, CEC and QSPI</i></b></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 7.5pt; font-family: "Verdana",sans-serif;">HAL_GPIO_</span></span><span class="grame"><span style="font-size: 7.5pt; font-family: "Verdana",sans-serif;">DeInit(</span></span><span style="font-size: 7.5pt; font-family: "Verdana",sans-serif;">): Update to check if GPIO Pin x is already used in EXTI mode on another GPIO Port before De-Initialize the EXTI register</span><span style="font-size: 11pt; font-family: "Calibri",sans-serif;">s</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL FLASH </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: rgb(2, 3, 2); margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="text-align: start; float: none; word-spacing: 0px;"><span style="font-size: 9pt; font-family: "Verdana",sans-serif;">__HAL_FLASH_INSTRUCTION_CACHE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">RESET(</span></span>) macro: update to <span style="text-align: start; float: none; word-spacing: 0px;"></span><span style="">reset </span><span style="text-align: start; float: none; word-spacing: 0px;">ICRST </span><span style="text-align: start; float: none; word-spacing: 0px;">bit in the ACR register after setting it.</span></span></span><span style="font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> <li class="MsoNormal" style="color: rgb(5, 5, 5); margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 9pt; font-family: "Verdana",sans-serif;"><span style="text-align: start; float: none; word-spacing: 0px;">__HAL_FLASH_DATA_CACHE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">RESET(</span></span>) macro: update to reset DCRST bit in the ACR register after setting it.</span></span><span style="font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL ADC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new literal: ADC_SOFTWARE_START to be used as possible value for the <span class="spelle"><i><span style="font-family: "Verdana",sans-serif;">ExternalTrigConv</span></i></span> parameter in the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">ADC_InitTypeDef</span></span> structure to select the ADC software trigger mode.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IS_ADC_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CHANNEL(</span></span>) macro update to don't assert stop the <i>ADC_CHANNEL_TEMPSENSOR</i> value</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 11pt; font-family: "Calibri",sans-serif;">HAL_ADC_</span></span><span class="grame"><span style="font-size: 11pt; font-family: "Calibri",sans-serif;">PollForConversion(</span></span><span style="font-size: 11pt; font-family: "Calibri",sans-serif;">): update to manage particular case when ADC configured in DMA mode and ADC sequencer with several ranks and polling for end of each conversion</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 11pt; font-family: "Calibri",sans-serif;">HAL_ADC_Start</span></span><span style="font-size: 11pt; font-family: "Calibri",sans-serif;">()/<span class="spelle"><span style="font-family: "Calibri",sans-serif;">HAL_ADC_Start_</span></span><span class="grame"><span style="font-family: "Calibri",sans-serif;">IT(</span></span>) /<span class="spelle"><span style="font-family: "Calibri",sans-serif;">HAL_ADC_Start_DMA</span></span>() update:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 11pt; font-family: "Calibri",sans-serif;">unlock the process before starting the ADC software conversion.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 11pt; font-family: "Calibri",sans-serif;">Optimize the ADC stabilization <span class="grame"><span style="font-family: "Calibri",sans-serif;">delays</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 11pt; font-family: "Calibri",sans-serif;">__HAL_ADC_GET_IT_<span class="grame"><span style="font-family: "Calibri",sans-serif;">SOURCE(</span></span>) update macro implementation</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 11pt; font-family: "Calibri",sans-serif;">Add more details in 'How to use this driver' <span class="grame"><span style="font-family: "Calibri",sans-serif;">section</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DAC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new macro to check if the specified DAC interrupt source is enabled or <span class="grame"><span style="font-family: "Verdana",sans-serif;">disabled</span></span><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_DAC_GET_IT_<span class="grame"><span style="font-family: "Verdana",sans-serif;">SOURCE(</span></span>)</span><span style="font-size: 13.5pt;"><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DACEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">TriangleWaveGeneration(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) update to use DAC CR bit mask definition</span><span style="font-size: 13.5pt;"><o:p></o:p></span></li> <li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DACEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">NoiseWaveGeneration(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) update to use DAC CR bit mask definition</span><span style="font-size: 13.5pt;"><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL CAN </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">CanTxMsgTypeDef</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> structure: update to use<b> </b>uint8_t <span class="grame"><span style="font-family: "Verdana",sans-serif;">Data[</span></span>8] instead of uint32_t Data[8]</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">CanRxMsgTypeDef</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> structure: update to use<b> </b>uint8_t <span class="grame"><span style="font-family: "Verdana",sans-serif;">Data[</span></span>8]<b> </b>instead of uint32_t Data[8]</span><span style=""><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RTC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to use CMSIS mask definition instead of hardcoded values (</span><span style="text-align: start; float: none; word-spacing: 0px;"><span style="font-size: 9pt; font-family: "Helvetica",sans-serif;">EXTI_IMR_IM17, EXTI_IMR_IM<span class="grame"><span style="font-family: "Helvetica",sans-serif;">19..</span></span></span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL LTDC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LTDC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SetConfig(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) update to allow the drawing of partial bitmap in active layer.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL USART </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_USART_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Init(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) fix USART baud rate configuration issue: USART baud rate is twice Higher than expected</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SMARTCARD </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_SMARTCARD_Transmit_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) update to force the disable for the ERR interrupt to avoid the OVR interrupt</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_SMARTCARD_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IRQHandler(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) update check condition for transmission end </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Clean up: remove the following literals that aren't used in smartcard <span class="grame"><span style="font-family: "Verdana",sans-serif;">mode</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 11pt; font-family: "Calibri",sans-serif;">SMARTCARD_PARITY_NONE</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 11pt; font-family: "Calibri",sans-serif;">SMARTCARD_WORDLENGTH_8B</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 11pt; font-family: "Calibri",sans-serif;">SMARTCARD_STOPBITS_1</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 11pt; font-family: "Calibri",sans-serif;">SMARTCADR_STOPBITS_2</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SPI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_SPI_Transmit_DMA()/HAL_SPI_Receive_DMA()/HAL_SPI_TarnsmitReceive_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>) update to unlock the process before enabling the SPI peripheral</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 11pt; font-family: "Calibri",sans-serif;">HAL_SPI_Transmit_</span></span><span class="grame"><span style="font-size: 11pt; font-family: "Calibri",sans-serif;">DMA(</span></span><span style="font-size: 11pt; font-family: "Calibri",sans-serif;">) update to manage correctly the DMA RX stream in SPI Full duplex mode</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Section SPI_Exported_Functions_Group2 update to remove duplication in *.chm <span class="grame"><span style="font-family: "Verdana",sans-serif;">UM</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL CRYP </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to manage <span class="grame"><span style="font-family: "Verdana",sans-serif;">multi instance</span></span>:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new parameter Instance in the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">CRYP_HandleTypeDef</span></span> Handle structure.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new parameter in all HAL CRYP macros</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">example: __HAL_CRYP_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLE(</span></span>) updated by __HAL_CRYP_ENABLE(__HANDLE__)</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DCMI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add an extension driver stm32f4xx_hal_dcmi_ex.c/h to manage the support of new Black and White feature</span><span style=""> <o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add <i> _</i></span></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">_weak</span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> attribute for <span class="spelle"><i><span style="font-family: "Verdana",sans-serif;">HAL_DCMI_Init</span></i></span><i>()</i> function and add a new implementation in the extension driver to manage the black and white configuration only available in the STM32F446xx devices.</span><span style=""> <o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Move <span class="spelle"><span style="font-family: "Verdana",sans-serif;">DCMI_InitTypeDef</span></span> structure to extension driver and add the following new fields related to black and white feature: <span class="spelle"><span style="font-family: "Verdana",sans-serif;">ByteSelectMode</span></span>, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">ByteSelectStart</span></span>, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">LineSelectMode</span></span> and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">LineSelectStart</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL PCD </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the support of LPM <span class="grame"><span style="font-family: "Verdana",sans-serif;">feature</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">add <span class="spelle"><span style="font-family: "Verdana",sans-serif;">PCD_LPM_StateTypeDef</span></span> <span class="spelle"><span style="font-family: "Verdana",sans-serif;">enum</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">PCD_HandleTypeDef</span></span> structure to support the LPM <span class="grame"><span style="font-family: "Verdana",sans-serif;">feature</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">add new functions <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PCDEx_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ActivateLPM(</span></span>), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PCDEx_DeActivateLPM</span></span>() and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PCDEx_LPM_Callback</span></span>() in the stm32f4xx_hal_pcd_ex.h/.c files</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL TIM </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add TIM</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">_TIM11_SPDIFRX define</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SAI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add stm32f4xx_hal_sai_ex.h/.c files for the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SAI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">BlockSynchroConfig(</span></span>) and the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SAI_GetInputClock</span></span>() management</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new defines HAL_SAI_ERROR_AFSDET, HAL_SAI_ERROR_LFSDET, HAL_SAI_ERROR_CNREADY, HAL_SAI_ERROR_WCKCFG, HAL_SAI_ERROR_TIMEOUT in the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SAI_Error_Code</span></span> group</span><span style=""> <o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new defines SAI_SYNCEXT_DISABLE, SAI_SYNCEXT_IN_ENABLE, SAI_SYNCEXT_OUTBLOCKA_ENABLE, SAI_SYNCEXT_OUTBLOCKB_ENABLE for the SAI External synchronization </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new defines SAI_I2S_STANDARD, SAI_I2S_MSBJUSTIFIED, SAI_I2S_LSBJUSTIFIED, SAI_PCM_LONG and SAI_PCM_SHORT for the SAI Supported protocol</span><span style=""> <o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new defines SAI_PROTOCOL_DATASIZE_16BIT, SAI_PROTOCOL_DATASIZE_16BITEXTENDED, SAI_PROTOCOL_DATASIZE_24BIT and SAI_PROTOCOL_DATASIZE_32BIT for SAI protocol data <span class="grame"><span style="font-family: "Verdana",sans-serif;">size</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add SAI Callback prototype <span class="grame"><span style="font-family: "Verdana",sans-serif;">definition</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SAI_InitTypeDef</span></span> structure by adding new fields: <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SynchroExt</span></span>, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">Mckdiv</span></span>, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">MonoStereoMode</span></span>, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">CompandingMode</span></span>, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">TriState</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SAI_HandleTypeDef</span></span> structure:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">remove uint16_t *<span class="spelle"><span style="font-family: "Verdana",sans-serif;">pTxBuffPtr</span></span>, *<span class="spelle"><span style="font-family: "Verdana",sans-serif;">pRxBuffPtr</span></span>, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">TxXferSize</span></span>, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">RxXferSize</span></span>, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">TxXferCount</span></span> and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">RxXferCount</span></span> and replace them respectively by uint8_t *<span class="spelle"><span style="font-family: "Verdana",sans-serif;">pBuffPtr</span></span>, uint16_t <span class="spelle"><span style="font-family: "Verdana",sans-serif;">XferSize</span></span> and uint16_t <span class="grame"><span style="font-family: "Verdana",sans-serif;">XferCount</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">add <span class="spelle"><span style="font-family: "Verdana",sans-serif;">mutecallback</span></span> <span class="grame"><span style="font-family: "Verdana",sans-serif;">field</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">add struct __<span class="spelle"><span style="font-family: "Verdana",sans-serif;">SAI_HandleTypeDef</span></span> *<span class="spelle"><span style="font-family: "Verdana",sans-serif;">hsai</span></span> <span class="grame"><span style="font-family: "Verdana",sans-serif;">field</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove SAI_CLKSOURCE_PLLR and SAI_CLOCK_PLLSRC defines</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add SAI_CLKSOURCE_NA define</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add SAI_AUDIO_FREQUENCY_MCKDIV define</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add SAI_SPDIF_PROTOCOL define</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add SAI_SYNCHRONOUS_EXT define</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new functions <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">InitProtocol(</span></span>), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_Abort</span></span>(), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_EnableTxMuteMode</span></span>(), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_DisableTxMuteMode</span></span>(), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_EnableRxMuteMode</span></span>(), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_DisableRxMuteMode</span></span>()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Transmit(</span></span>), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_Receive</span></span>(), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_Transmit_IT</span></span>(), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_Receive_IT</span></span>(), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_Transmit_DMA</span></span>(), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAI_Receive_DMA</span></span>() functions to use<b> uint8_t *<span class="spelle"><span style="font-family: "Verdana",sans-serif;">pData</span></span> </b>instead of <b>uint16_t *<span class="spelle"><span style="font-family: "Verdana",sans-serif;">pData</span></span> --> This update is mainly impacting the compatibility with previous driver version.</b></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL I2S </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Split the following functions between Generic and Extended API based on full duplex management and add the attribute __weak in the Generic <span class="grame"><span style="font-family: "Verdana",sans-serif;">API</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_I2S_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>), HAL_I2S_DMAPause(), HAL_I2S_DMAStop(), HAL_I2S_DMAResume(), HAL_I2S_IRQHandle() <o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Move the following static functions from generic to extension <span class="grame"><span style="font-family: "Verdana",sans-serif;">driver</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> I2S_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DMARxCplt(</span></span>) and I2S_DMATxCplt()</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove static attribute from I2S_Transmit_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) and I2S_Receive_IT() functions</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Move I2<span class="grame"><span style="font-family: "Verdana",sans-serif;">SxEXT(</span></span>) macro to extension file</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add I2S_CLOCK_PLLR and I2S_CLOCK_PLLSRC defines for I2S clock <span class="grame"><span style="font-family: "Verdana",sans-serif;">source</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new function I2S_<span class="grame"><span style="font-family: "Verdana",sans-serif;">GetInputClock(</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL LL FMC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add <span class="spelle"><span style="font-family: "Verdana",sans-serif;">WriteFifo</span></span> and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">PageSize</span></span> fields in the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FMC_NORSRAM_InitTypeDef</span></span> structure</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add FMC_PAGE_SIZE_NONE, FMC_PAGE_SIZE_128, FMC_PAGE_SIZE_256, FMC_PAGE_SIZE_1024, FMC_WRITE_FIFO_DISABLE, FMC_WRITE_FIFO_ENABLE defines</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FMC_NORSRAM_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>), <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FMC_NORSRAM_DeInit</span></span>() and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FMC_NORSRAM_Extended_Timing_Init</span></span>() functions</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL LL USB </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">USB_OTG_CfgTypeDef</span></span> structure to support LPM, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">lpm_enable</span></span> field <span class="grame"><span style="font-family: "Verdana",sans-serif;">added</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">USB_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">HostInit(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">USB_DevInit</span></span>() functions to support the VBUS Sensing B activation</span><span style=""><o:p></o:p></span></li> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.2.0 / 26-December-2014</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b><o:p></o:p></p> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Maintenance release to fix known defects and enhancements <span class="grame"><span style="font-family: "Verdana",sans-serif;">implementation</span></span></span></b><span style=""><o:p></o:p></span></li> </ul> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Macros and literals renaming to ensure compatibles across STM32 series</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">, backward compatibility maintained thanks to new added file <i>stm32_hal_legacy.h </i>under /Inc/<span class="grame"><i><span style="font-family: "Verdana",sans-serif;">Legacy</span></i></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add *.chm UM for all drivers, a UM is provided for each superset <span class="grame"><span style="font-family: "Verdana",sans-serif;">RPN</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update drivers to be C++ <span class="grame"><span style="font-family: "Verdana",sans-serif;">compliant</span></span></span><span style=""> <o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Several update on source code formatting, for better UM generation (<span class="grame"><span style="font-family: "Verdana",sans-serif;">i.e.</span></span> <span class="spelle"><span style="font-family: "Verdana",sans-serif;">Doxygen</span></span> tags updated)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Two changes done on the HAL requires an update on the application code based on HAL V1.1.0</span></b><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LSI_VALUE</span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> constant has been corrected in stm32f4xx_hal_conf.h file, its value changed from 40 <span class="spelle"><span style="font-family: "Verdana",sans-serif;">KHz</span></span> to 32 <span class="grame"><span style="font-family: "Verdana",sans-serif;">KHz</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">UART</span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">, <i>USART</i>, <i>IRDA</i> and <i>SMARTCARD </i>(referenced as <i>PPP</i> here below)<i> </i>drivers: in DMA transmit process, the code has been updated to avoid waiting on TC flag under DMA ISR, <i>PPP</i> TC interrupt is used instead. Below the update to be done on user application:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Configure and enable the USART IRQ in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PPP_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">MspInit(</span></span>) function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">In stm32f4xx_it.c file, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">PPP_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) function: add a call to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PPP_IRQHandler</span></span>() function</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL generic</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span><span style=""><o:p></o:p></span></li> </ul> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">stm32f4xx_hal_def.h</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update NULL definition to fix C++ compilation <span class="grame"><span style="font-family: "Verdana",sans-serif;">issue</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add <span class="grame"><span style="font-family: "Verdana",sans-serif;">UNUSED(</span></span>) macro</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add a new define __NOINLINE to be used for the no inline code independent from tool <span class="grame"><span style="font-family: "Verdana",sans-serif;">chain</span></span><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">stm32f4xx_hal_conf_template.h</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">LSI_VALUE</span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> constant has been <span class="grame"><span style="font-family: "Verdana",sans-serif;">corrected,</span></span> its value changed from 40 <span class="spelle"><span style="font-family: "Verdana",sans-serif;">KHz</span></span> to 32 <span class="spelle"><span style="font-family: "Verdana",sans-serif;">KHz</span></span></span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update all macros and literals naming to be <span class="spelle"><span style="font-family: "Verdana",sans-serif;">uper</span></span> <span class="grame"><span style="font-family: "Verdana",sans-serif;">case</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">ErrorCode</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> parameter in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">PPP_HandleTypeDef</span></span> structure updated to uint32_t instead of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">enum</span></span> <span class="spelle"><i><span style="font-family: "Verdana",sans-serif;">HAL_PPP_ErrorTypeDef</span></i></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove the unused FLAG and IT assert <span class="grame"><span style="font-family: "Verdana",sans-serif;">macros</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL ADC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix temperature sensor channel configuration issue for STM32F427/437<span class="grame"><span style="font-family: "Verdana",sans-serif;">xx and</span></span> STM32F429/439xx devices</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DAC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DAC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">ConfigChannel(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): update the access to the DAC peripheral registers via the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">hdac</span></span> handle instance</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DAC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IRQHandler(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): update to check on both DAC_FLAG_DMAUDR1 and DAC_FLAG_DMAUDR2</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DACEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">NoiseWaveGenerate(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): update to reset DAC CR register before setting the new DAC configuration</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DACEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">TriangleWaveGenerate(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): update to reset DAC CR register before setting the new DAC configuration</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL CAN </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Unlock the CAN process when communication error <span class="grame"><span style="font-family: "Verdana",sans-serif;">occurred</span></span><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL CORTEX </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new macro <i>IS_NVIC_DEVICE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQ(</span></span>)</i> to check on negative values of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">IRQn</span></span> parameter</span><span style=""><o:p></o:p></span></li> </ul> </ul> <p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">�</span><span style="font-size: 7pt; color: black;"> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">HAL CRYP </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">update</span><span style="color: black;"><o:p></o:p></span></p> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_CRYP_DESECB_Decrypt_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DMA(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): fix the inverted <span class="spelle"><span style="font-family: "Verdana",sans-serif;">pPlainData</span></span> and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">pCypherData</span></span> parameters issue</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">CRYPEx_GCMCCM_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SetInitVector(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): remove the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">IVSize</span></span> parameter as the key length 192bits and 256bits are not supported by this version</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add restriction for the CCM Encrypt/Decrypt API's that</span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">only <span class="spelle"><span style="font-family: "Verdana",sans-serif;">DataType</span></span> equal to 8bits is <span class="grame"><span style="font-family: "Verdana",sans-serif;">supported</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_CRYPEx_AESGCM_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Finish(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">):</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add restriction that the implementation is limited to 32bits inputs data <span class="grame"><span style="font-family: "Verdana",sans-serif;">length (</span></span>Plain/Cyphertext, Header) compared with GCM <span class="spelle"><span style="font-family: "Verdana",sans-serif;">stadards</span></span> specifications (800-38D)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update Size parameter on 32bits instead of 16bits</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix issue with 16-bit Data Type: update to use intrinsic __<span class="grame"><span style="font-family: "Verdana",sans-serif;">ROR(</span></span>) instead of __REV16()</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">�</span><span style="font-size: 7pt; color: black;"> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">HAL DCMI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">update</span><span style="color: black;"><o:p></o:p></span></p> <ul type="square"> <ul type="square"> <li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DCMI_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">ConfigCROP(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): Invert assert macros to check Y0 and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">Ysize</span></span> parameters</span><span style=""><o:p></o:p></span></li> </ul> </ul> <p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">�</span><span style="font-size: 7pt; color: black;"> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">HAL DMA </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">update</span><span style="color: black;"><o:p></o:p></span></p> <ul type="square"> <ul type="square"> <li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_DMA_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Init(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): Update to clear the DBM bit in the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SxCR</span></span> register before setting the new configuration</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DMA_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SetConfig(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): add to clear the DBM bit in the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SxCR</span></span> register</span><span style=""><o:p></o:p></span></li> </ul> </ul> <p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">�</span><span style="font-size: 7pt; color: black;"> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">HAL FLASH </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">update</span><span style="color: black;"><o:p></o:p></span></p> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add "HAL_" prefix in the defined values for the FLASH error <span class="grame"><span style="font-family: "Verdana",sans-serif;">code</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Example: <i>FLASH_ERROR_PGP</i> renamed by <b><i>HAL_</i></b><i>FLASH_ERROR_PGP</i></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Clear the Flash <span class="spelle"><span style="font-family: "Verdana",sans-serif;">ErrorCode</span></span> in the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FLASH_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">WaitForLastOperation(</span></span>) function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">FLASH_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">SetErrorCode(</span></span>) function to use "|=" operant to update the Flash <span class="spelle"><span style="font-family: "Verdana",sans-serif;">ErrorCode</span></span> parameter in the FLASH handle</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IS_FLASH_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ADDRESS(</span></span>)</span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">: Update the macro check using '<=' condition instead of '<'</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IS_<span class="grame"><span style="font-family: "Verdana",sans-serif;">OPTIONBYTE(</span></span>)</span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">: Update the macro check using '<=' condition instead of '<'</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add "FLASH_" prefix in the defined values of FLASH Type Program parameter</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Example: <i>TYPEPROGRAM_BYTE</i> renamed by <b><i>FLASH_</i></b><i>TYPEPROGRAM_BYTE</i></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add "FLASH_" prefix in the defined values of FLASH Type Erase parameter</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Example: <i>TYPEERASE_SECTORS</i> renamed by <b><i>FLASH_</i></b><i>TYPEERASE_SECTORS</i></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add "FLASH_" prefix in the defined values of FLASH Voltage Range parameter</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Example: <i>VOLTAGE_RANGE_1</i> renamed by <b><i>FLASH_</i></b><i>VOLTAGE_RANGE_1</i></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add "OB_" prefix in the defined values of FLASH WRP State parameter</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Example: <i>WRPSTATE_ENABLE</i> renamed by <b><i>OB_</i></b><i>WRPSTATE_ENABLE</i></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add "OB_" prefix in the defined values of the FLASH PCROP State parameter</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">PCROPSTATE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DISABLE</span></span></span></i><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> updated</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> by <b><i>OB_</i></b><i>PCROP<b>_</b>STATE_DISABLE</i></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">PCROPSTATE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLE</span></span></span></i><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> updated</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> by <b><i>OB_</i></b><i>PCROP<b>_</b>STATE_ENABLE</i></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Change "OBEX" prefix by "OPTIONBYTE" prefix in these defines:</span></i><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">OBEX_PCROP by OPTIONBYTE_PCROP </span></i><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">OBEX_BOOTCONFIG by OPTIONBYTE_BOOTCONFIG</span></i><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">�</span><span style="font-size: 7pt; color: black;"> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">HAL ETH </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">update</span><span style="color: black;"><o:p></o:p></span></p> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix macros naming <span class="grame"><span style="font-family: "Verdana",sans-serif;">typo</span></span></span><span style=""><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in;" type="disc"> <ul style="margin-top: 0in;" type="disc"> <ul style="margin-top: 0in;" type="disc"> <li class="MsoNormal" style="margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update __HAL_ETH_EXTI_SET_RISING_E<b>GD</b>E_<span class="grame"><span style="font-family: "Verdana",sans-serif;">TRIGGER(</span></span>) by __HAL_ETH_EXTI_SET_RISING_E<b>DG</b>E_TRIGGER()<o:p></o:p></span></li> <li class="MsoNormal" style="margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update __HAL_ETH_EXTI_SET_FALLING_E<b>GD</b>E_<span class="grame"><span style="font-family: "Verdana",sans-serif;">TRIGGER(</span></span>) by __HAL_ETH_EXTI_SET_FALLING_E<b>DG</b>E_TRIGGER() <o:p></o:p></span></li> </ul> </ul> </ul> <p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">�</span><span style="font-size: 7pt; color: black;"> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">HAL PWR </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">update</span><span style="color: black;"><o:p></o:p></span></p> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new API to manage SLEEPONEXIT and SEVONPEND bits of SCR <span class="grame"><span style="font-family: "Verdana",sans-serif;">register</span></span></span><span style=""><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_PWR_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DisableSleepOnExit(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""> <o:p></o:p></span></li> <li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_PWR_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">EnableSleepOnExit(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""> <o:p></o:p></span></li> <li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_PWR_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">EnableSEVOnPend(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""> <o:p></o:p></span></li> <li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_PWR_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DisableSEVOnPend(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_PWR_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">EnterSTOPMode(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to clear the CORTEX SLEEPDEEP bit of SCR register before entering in sleep <span class="grame"><span style="font-family: "Verdana",sans-serif;">mode</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update usage of __<span class="grame"><span style="font-family: "Verdana",sans-serif;">WFE(</span></span>) in low power entry function: if there is a pending event, calling __WFE() will not enter the CortexM4 core to sleep mode. The solution is to made the call below; the first __<span class="grame"><span style="font-family: "Verdana",sans-serif;">WFE(</span></span>) is always ignored and clears the event if one was already pending, the second is always applied</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <div style="margin-left: 1.25in;"> <p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__SEV()</span><span style="font-size: 10pt;"><br> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__WFE()</span><span style="font-size: 10pt;"><br> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__<span class="grame"><span style="font-family: "Verdana",sans-serif;">WFE(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></p> </div> <ul type="square"> <ul type="square"> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new PVD configuration <span class="grame"><span style="font-family: "Verdana",sans-serif;">modes</span></span><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">PWR_PVD_MODE_NORMAL</span><span style="font-size: 10pt;"> <o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">PWR_PVD_MODE_EVENT_RISING </span><span style="font-size: 10pt;"> <o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">PWR_PVD_MODE_EVENT_FALLING</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">PWR_PVD_MODE_EVENT_RISING_FALLING</span><span style="font-size: 10pt;"><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new macros to manage PVD <span class="grame"><span style="font-family: "Verdana",sans-serif;">Trigger</span></span><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_PWR_PVD_EXTI_ENABLE_RISING_<span class="grame"><span style="font-family: "Verdana",sans-serif;">EDGE(</span></span>)</span><span style="font-size: 10pt;"> <o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_PWR_PVD_EXTI_DISABLE_RISING_<span class="grame"><span style="font-family: "Verdana",sans-serif;">EDGE(</span></span></span><span style="font-size: 10pt;"> <o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_PWR_PVD_EXTI_ENABLE_FALLING_<span class="grame"><span style="font-family: "Verdana",sans-serif;">EDGE(</span></span>)</span><span style="font-size: 10pt;"> <o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_PWR_PVD_EXTI_DISABLE_FALLING_<span class="grame"><span style="font-family: "Verdana",sans-serif;">EDGE(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_PWR_PVD_EXTI_ENABLE_RISING_FALLING_<span class="grame"><span style="font-family: "Verdana",sans-serif;">EDGE(</span></span>)</span><span style="font-size: 10pt;"> <o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_PWR_PVD_EXTI_DISABLE_RISING_FALLING_<span class="grame"><span style="font-family: "Verdana",sans-serif;">EDGE(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">PVD macros:<o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove the __EXTILINE__ parameter</span><span style="font-size: 10pt;"><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to use prefix "__HAL_PWR_PVD_" instead <span class="grame"><span style="font-family: "Verdana",sans-serif;">of prefix</span></span> "__HAL_PVD"</span><span style="font-size: 10pt;"><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PWR_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">PVDConfig(</span></span>) by <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PWR_ConfigPVD</span></span>()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PWREx_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ActivateOverDrive(</span></span>) by <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PWREx_EnableOverDrive</span></span>() </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PWREx_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DeactivateOverDrive(</span></span>) by <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PWREx_DisableOverDrive</span></span>() </span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL GPIO </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: black;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_GPIO_Init</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">()/<span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_GPIO_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DeInit(</span></span>):</span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> add a call to the CMSIS assert macro to check GPIO instance: IS_GPIO_ALL_INSTANCE() </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_GPIO_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">WritePin(</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">):</span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update to write in BSRR register</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename <i>GPIO_GET_<span class="grame"><span style="font-family: "Verdana",sans-serif;">SOURCE(</span></span>) </i>by<i> GET_GPIO_INDEX() </i>and move this later to file stm32f4xx_hal_gpio_ex.h</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new define for alternate function<i> GPIO_AF5_SPI3</i> for STM32F429xx/439xx and STM32F427xx/437xx <span class="grame"><span style="font-family: "Verdana",sans-serif;">devices</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL HASH </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_HASH_MD5_Start_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>): </span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">fix input address management issue</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RCC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update<o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename the following <span class="grame"><span style="font-family: "Verdana",sans-serif;">Macros</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__PPP_CLK_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLE(</span></span>) by __HAL_RCC_PPP_CLK_ENABLE()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__PPP_CLK_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DISABLE(</span></span>) by __HAL_RCC_PPP_CLK_DISABLE()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__PPP_FORCE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">RESET(</span></span>) by __HAL_RCC_PPP_FORCE_RESET()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__PPP_RELEASE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">RESET(</span></span>) by __HAL_RCC_PPP_RELEASE_RESET()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__PPP_CLK_SLEEP_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLE(</span></span>) by __HAL_RCC_PPP_CLK_SLEEP_ENABLE()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__PPP_CLK_SLEEP_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DISABLE(</span></span>) by __HAL_RCC_PPP_CLK_SLEEP_DISABLE()</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IS_RCC_PLLSAIN_<span class="grame"><span style="font-family: "Verdana",sans-serif;">VALUE(</span></span>) macro: update the check condition</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add description of RCC known <span class="grame"><span style="font-family: "Verdana",sans-serif;">Limitations</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RCC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">C<b>C</b>SCallback(</span></span>) by <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RCC_C<b>S</b>SCallback</span></span>()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RCC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">OscConfig(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) fix issues: </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove the disable of HSE oscillator when HSE_BYPASS is used as system clock source or as PPL clock <span class="grame"><span style="font-family: "Verdana",sans-serif;">source</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add a check on HSERDY flag when HSE_BYPASS is selected as new state for HSE oscillator.</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename __HAL_RCC_I2<span class="grame"><span style="font-family: "Verdana",sans-serif;">SCLK(</span></span>) by __HAL_RCC_I2S_Config()</span><span style=""><o:p></o:p></span></li> </ul> </ul> <p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">�</span><span style="font-size: 7pt; color: black;"> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">HAL I2S </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">update</span><span style="color: black;"><o:p></o:p></span></p> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_I2S_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>)</span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">: add check on I2S instance using CMSIS macro <i>IS_I2S_ALL_INSTANCE() </i></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_I2S_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) update for compliancy w/ C++</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add use of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">tmpreg</span></span> variable in __HAL_I2S_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">OVRFLAG(</span></span>) and __HAL_I2S_CLEAR_UDRFLAG() macro for compliancy with C++</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_I2S_<span class="grame"><span style="font-family: "Verdana",sans-serif;">GetError(</span></span>)</span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">: update to return uint32_t instead of HAL_I2S_ErrorTypeDef enumeration</span><span style=""><o:p></o:p></span></li> </ul> </ul> <p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">�</span><span style="font-size: 7pt; color: black;"> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">HAL I2C </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">update</span><span style="color: black;"><o:p></o:p></span></p> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update to clear the POS bit in the CR1 register at the end of HAL_I2C_Master_Read_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) and HAL_I2C_Mem_Read_IT() process</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename HAL_I2CEx_DigitalFilter_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Config(</span></span>) by HAL_I2CEx_ConfigDigitalFilter() </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename HAL_I2CEx_AnalogFilter_<span class="grame"><span style="font-family: "Verdana",sans-serif;">Config(</span></span>) by HAL_I2CEx_ConfigAnalogFilter() </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add use of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">tmpreg</span></span> variable in __HAL_I2C_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ADDRFLAG(</span></span>) and __HAL_I2C_CLEAR_STOPFLAG() macro for compliancy with C++</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL IrDA </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DMA transmit process; the code has been updated to avoid waiting on TC flag under DMA ISR, IrDA TC interrupt is used instead. Below the update to be done on user application:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Configure and enable the USART IRQ in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_IRDA_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">MspInit(</span></span>) function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">In stm32f4xx_it.c file, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">UASRTx_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) function: add a call to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_IRDA_IRQHandler</span></span>() function</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IT transmit process; the code has been updated to avoid waiting on TC flag under IRDA ISR, IrDA TC interrupt is used instead. No impact on user application</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename Macros: add prefix "__HAL"</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__IRDA_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLE(</span></span>) by __HAL_IRDA_ENABLE()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__IRDA_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DISABLE(</span></span>) by __HAL_IRDA_DISABLE()</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new user macros to manage the sample method <span class="grame"><span style="font-family: "Verdana",sans-serif;">feature</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_IRDA_ONE_BIT_SAMPLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLE(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_IRDA_ONE_BIT_SAMPLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DISABLE(</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_IRDA_Transmit_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IT(</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): </span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update to remove the enable of the parity error interrupt</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add use of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">tmpreg</span></span> variable in __HAL_IRDA_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">PEFLAG(</span></span>) macro for compliancy with C++</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_</span></i></span><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IRDA<i>_Transmit_</i></span></span><span class="grame"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DMA(</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) </span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update to follow the right procedure "Transmission using DMA" in the reference manual</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add clear the TC flag in the SR register before enabling the DMA <span class="grame"><span style="font-family: "Verdana",sans-serif;">transmit</span></span> request</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL IWDG </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename the defined IWDG keys: </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">KR_KEY_RELOAD by IWDG_KEY_RELOAD</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">KR_KEY_ENABLE by IWDG_KEY_ENABLE</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">KR_KEY_EWA by IWDG_KEY_WRITE_ACCESS_ENABLE</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">KR_KEY_DWA by IWDG_KEY_WRITE_ACCESS_DISABLE</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style=""> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new macros __HAL_IWDG_RESET_HANDLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">STATE(</span></span>) and __HAL_IWDG_CLEAR_FLAG() </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update __HAL_IWDG_ENABLE_WRITE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ACCESS(</span></span>) and __HAL_IWDG_DISABLE_WRITE_ACCESS() as private macro</span><span style=""><o:p></o:p></span></li> </ul> </ul> <p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">�</span><span style="font-size: 7pt; color: black;"> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">HAL SPI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">update</span><span style="color: black;"><o:p></o:p></span></p> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_SPI_TransmitReceive_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DMA(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) update to remove the DMA Tx Error Callback initialization when SPI <span class="spelle"><span style="font-family: "Verdana",sans-serif;">RxOnly</span></span> mode is selected</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add use of <span class="grame"><span style="font-family: "Verdana",sans-serif;">UNUSED(</span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">tmpreg</span></span>) in __HAL_SPI_CLEAR_MODFFLAG(), __HAL_SPI_CLEAR_OVRFLAG(), __HAL_SPI_CLEAR_FREFLAG() to fix "Unused variable" warning with <span class="spelle"><span style="font-family: "Verdana",sans-serif;">TrueSTUDIO</span></span>.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename Literals: remove "D" from "DISABLED" and "ENABLED"</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SPI_TIMODE_DISABLE<b>D</b> by SPI_TIMODE_DISABLE</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SPI_TIMODE_ENABLE<b>D</b> by SPI_TIMODE_ENABLE</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SPI_CRCCALCULATION_DISABLE<b>D</b> <span class="grame"><span style="font-family: "Verdana",sans-serif;">by SPI</span></span>_CRCCALCULATION_DISABLE</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SPI_CRCCALCULATION_ENABLE<b>D</b> <span class="grame"><span style="font-family: "Verdana",sans-serif;">by SPI</span></span>_CRCCALCULATION_ENABLE</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add use of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">tmpreg</span></span> variable in __HAL_SPI_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">MODFFLAG(</span></span>), __HAL_SPI_CLEAR_FREFLAG() and __HAL_SPI_CLEAR_OVRFLAG() macros for compliancy with C++</span><span style=""><o:p></o:p></span></li> </ul> </ul> <p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">�</span><span style="font-size: 7pt; color: black;"> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">HAL SDMMC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">update</span><span style="color: black;"><o:p></o:p></span></p> <ul type="square"> <ul type="square"> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IS_SDIO_ALL_<span class="grame"><span style="font-family: "Verdana",sans-serif;">INSTANCE(</span></span>) macro moved to CMSIS files</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL LTDC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_LTDC_ConfigCLUT</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">: optimize the function when pixel format is LTDC_PIXEL_FORMAT_AL44 </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update the size of color look up table to 16 instead of 256 when the pixel format is LTDC_PIXEL_FORMAT_AL44 </span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL NAND </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename NAND Address structure to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">NAND_AddressType<b>D</b>ef</span></span> instead of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">NAND_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">AddressTypedef</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update the used algorithm of these <span class="grame"><span style="font-family: "Verdana",sans-serif;">functions</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_NAND_Read_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Page(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_NAND_Write_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Page(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_NAND_Read_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SpareArea(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_NAND_Write_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SpareArea(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_NAND_Write_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Page(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): move initialization of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">tickstart</span></span> before while loop</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_NAND_Erase_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Block(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): add <span class="spelle"><span style="font-family: "Verdana",sans-serif;">whait</span></span> until NAND status is ready before exiting this function</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL NOR </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename NOR Address structure to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">NOR_AddressType<b>D</b>ef</span></span> instead of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">NOR_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">AddressTypedef</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">NOR Status literals <span class="grame"><span style="font-family: "Verdana",sans-serif;">renamed</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">NOR_SUCCESS by HAL_NOR_STATUS_SUCCESS</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">NOR_ONGOING by HAL_NOR_STATUS_ONGOING</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">NOR_ERROR by HAL_NOR_STATUS_ERROR</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">NOR_TIMEOUT by HAL_NOR_STATUS_TIMEOUT</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_NOR_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">GetStatus(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) update to fix Timeout issue and exit from waiting loop when timeout occurred</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL PCCARD </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename PCCARD Address structure to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PCCARD_StatusType<b>D</b>ef</span></span> instead of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">CF_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">StatusTypedef</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">PCCARD Status literals <span class="grame"><span style="font-family: "Verdana",sans-serif;">renamed</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">CF_SUCCESS by HAL_PCCARD_STATUS_SUCCESS</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">CF_ONGOING by HAL_PCCARD_STATUS_ONGOING</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">CF_ERROR by HAL_PCCARD_STATUS_ERROR</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">CF_TIMEOUT by HAL_PCCARD_STATUS_TIMEOUT</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update "CF" by "PCCARD" in functions, <span class="grame"><span style="font-family: "Verdana",sans-serif;">literals</span></span> and macros</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL PCD </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename <span class="grame"><span style="font-family: "Verdana",sans-serif;">functions</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_PCD_</span></span><span class="grame"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Active</span></b></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">RemoteWakeup(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) by <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PCD_<b>Activate</b>RemoteWakeup</span></span>()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_PCD_</span></span><span class="grame"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DeActive</span></b></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">RemoteWakeup(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) by <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PCD_<b>DeActivate</b>RemoteWakeup</span></span>()</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename <span class="grame"><span style="font-family: "Verdana",sans-serif;">literals</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">USB_FS_EXTI_TRIGGER_RISING_EDGE by USB_OTG_FS_WAKEUP_EXTI_RISING_EDGE</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">USB_FS_EXTI_TRIGGER_FALLING_EDGE by USB_OTG_FS_WAKEUP_EXTI_FALLING_EDGE</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">USB_FS_EXTI_TRIGGER_BOTH_<span class="grame"><span style="font-family: "Verdana",sans-serif;">EDGE(</span></span>) by USB_OTG_FS_WAKEUP_EXTI_RISING_FALLING_EDGE</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">USB_HS_EXTI_TRIGGER_RISING_EDGE by USB_OTG_HS_WAKEUP_EXTI_RISING_EDGE </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">USB_HS_EXTI_TRIGGER_FALLING_EDGE by USB_OTG_HS_WAKEUP_EXTI_FALLING_EDGE</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">USB_HS_EXTI_TRIGGER_BOTH_EDGE by USB_OTG_HS_WAKEUP_EXTI_RISING_FALLING_EDGE</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">USB_HS_EXTI_LINE_WAKEUP by USB_OTG_HS_EXTI_LINE_WAKEUP</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">USB_FS_EXTI_LINE_WAKEUP by USB_OTG_FS_EXTI_LINE_WAKEUP</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename USB EXTI macros <i>(FS,</i> <i>HS </i>referenced as <b>SUBBLOCK </b>here below)</span><span style=""> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_USB_<b>SUBBLOCK</b>_EXTI_ENABLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) by __HAL_USB_OTG_<b>SUBBLOCK</b>_WAKEUP_EXTI_ENABLE_IT() <o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_USB_<b>SUBBLOCK</b>_EXTI_DISABLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) by __HAL_USB_OTG_<b>SUBBLOCK</b>_WAKEUP_EXTI_DISABLE_IT()<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_USB_<b>SUBBLOCK</b>_EXTI_GET_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FLAG(</span></span>) by __HAL_USB_OTG_<b>SUBBLOCK</b>_WAKEUP_EXTI_GET_FLAG() <o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_USB_<b>SUBBLOCK</b>_EXTI_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FLAG(</span></span>) by __HAL_USB_OTG_<b>SUBBLOCK</b>_WAKEUP_EXTI_CLEAR_FLAG()<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_USB_<b>SUBBLOCK</b>_EXTI_SET_RISING_EGDE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">TRIGGER(</span></span>) by __HAL_USB_OTG_<b>SUBBLOCK</b>_WAKEUP_EXTI_ENABLE_RISING_EDGE()<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_USB_<b>SUBBLOCK</b>_EXTI_SET_FALLING_EGDE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">TRIGGER(</span></span>) by __HAL_USB_OTG_<b>SUBBLOCK</b>_WAKEUP_EXTI_ENABLE_FALLING_EDGE()<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_USB_<b>SUBBLOCK</b>_EXTI_SET_FALLINGRISING_<span class="grame"><span style="font-family: "Verdana",sans-serif;">TRIGGER(</span></span>) by __HAL_USB_OTG_<b>SUBBLOCK</b>_WAKEUP_EXTI_ENABLE_RISING_FALLING_EDGE()<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_USB_<b>SUBBLOCK</b>_EXTI_GENERATE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">SWIT(</span></span>) by __HAL_USB_OTG_<b>SUBBLOCK</b>_WAKEUP_EXTI_GENERATE_SWIT() </span><span style=""> <o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RNG </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new <span class="grame"><span style="font-family: "Verdana",sans-serif;">functions</span></span></span><span style=""><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RNG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">GenerateRandomNumber(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): to generate a 32-bits random number,</span><span style=""> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">return random value in argument and return HAL status.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RNG_GenerateRandomNumber_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): to start generation of the 32-bits random number, user should call the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RNG_ReadLastRandomNumber</span></span>() function under the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RNG_ReadyCallback</span></span>() to get the generated random value.</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RNG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">ReadLastRandomNumber(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): to return the last random value stored in the RNG handle</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RNG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">GetRandomNumber(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): return value update (obsolete), replaced by <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RNG_GenerateRandomNumber</span></span>()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RNG_GetRandomNumber_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): wrong implementation (obsolete), replaced by <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RNG_GenerateRandomNumber_IT</span></span>()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RNG_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FLAG(</span></span>) macro (obsolete), replaced by new __HAL_RNG_CLEAR_IT() macro</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new define for RNG ready interrupt: RNG_IT_DRDY</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RTC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_RTC_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">GetTime(</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RTC_GetDate</span></span>(): add the comment below</span></i><span style=""><o:p></o:p></span></li> </ul> </ul> <div style="margin-left: 30pt;"> <div style="margin-left: 30pt;"> <p class="MsoNormal" style=""><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> * @note You must call <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RTC_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">GetDate(</span></span>) after <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RTC_GetTime</span></span>() to unlock the values </span></i><span style="font-size: 10pt;"><br> </span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> * in the higher-order calendar shadow registers to ensure consistency between the time and date values.</span></i><span style="font-size: 10pt;"><br> </span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> * Reading RTC current time locks the values in calendar shadow registers until Current date is read. </span></i><span style="font-size: 10pt;"><o:p></o:p></span></p> </div> </div> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename literals: add prefix "__<span class="grame"><span style="font-family: "Verdana",sans-serif;">HAL"</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">FORMAT_BIN by HAL_FORMAT_BIN</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">FORMAT_BCD by HAL_FORMAT_BCD</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename macros <i>(ALARM,</i> WAKEUPTIMER and <i>TIMESTAMP </i>referenced as <b>SUBBLOCK </b>here below)</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RTC_EXTI_ENABLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) by __HAL_RTC_<b>SUBBLOCK</b>_EXTI_ENABLE_IT()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RTC_EXTI_DISABLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) by __HAL_RTC_<b>SUBBLOCK</b>_EXTI_DISABLE_IT()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RTC_EXTI_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FLAG(</span></span>) by __HAL_RTC_<b>SUBBLOCK</b>_EXTI_CLEAR_FLAG()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RTC_EXTI_GENERATE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">SWIT(</span></span>) by __HAL_RTC_<b>SUBBLOCK</b>_EXTI_GENERATE_SWIT()</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new macros <i>(ALARM,</i> WAKEUPTIMER and <i>TAMPER_TIMESTAMP </i>referenced as <b>SUBBLOCK </b>here below)</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RTC_<b>SUBBLOCK</b>_GET_IT_<span class="grame"><span style="font-family: "Verdana",sans-serif;">SOURCE(</span></span>) </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RTC_<b>SUBBLOCK</b>_EXTI_ENABLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">EVENT(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RTC_<b>SUBBLOCK</b>_EXTI_DISABLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">EVENT(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RTC_<b>SUBBLOCK</b>_EXTI_ENABLE_FALLING_<span class="grame"><span style="font-family: "Verdana",sans-serif;">EDGE(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RTC_<b>SUBBLOCK</b>_EXTI_DISABLE_FALLING_<span class="grame"><span style="font-family: "Verdana",sans-serif;">EDGE(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RTC_<b>SUBBLOCK</b>_EXTI_ENABLE_RISING_<span class="grame"><span style="font-family: "Verdana",sans-serif;">EDGE(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_RTC_<b>SUBBLOCK</b>_EXTI_DISABLE_RISING_<span class="grame"><span style="font-family: "Verdana",sans-serif;">EDGE(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> __HAL_RTC_<b>SUBBLOCK</b>_EXTI_ENABLE_RISING_FALLING_<span class="grame"><span style="font-family: "Verdana",sans-serif;">EDGE(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> __HAL_RTC_<b>SUBBLOCK</b>_EXTI_DISABLE_RISING_FALLING_<span class="grame"><span style="font-family: "Verdana",sans-serif;">EDGE(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> __HAL_RTC_<b>SUBBLOCK</b>_EXTI_GET_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FLAG(</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SAI </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update SAI_STREOMODE by SAI_ST<b>E</b>REOMODE</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update FIFO status Level defines in upper <span class="grame"><span style="font-family: "Verdana",sans-serif;">case</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename literals: remove "D" from "DISABLED" and "<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLED"</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SAI_OUTPUTDRIVE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DISABLED by</span></span> SAI_OUTPUTDRIVE_DISABLE</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SAI_OUTPUTDRIVE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLED by</span></span> SAI_OUTPUTDRIVE_ENABLE</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SAI_MASTERDIVIDER_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLED by</span></span> SAI_MASTERDIVIDER_ENABLE</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SAI_MASTERDIVIDER_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DISABLED by</span></span> SAI_MASTERDIVIDER_DISABLE</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SD </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename SD_CMD_SD_APP_STAUS by SD_CMD_SD_APP_STA<b>T</b>US</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SD_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">PowerON(</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) </span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">updated to add 1ms required power up waiting time before starting the SD initialization sequence</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SD_DMA_RxCplt</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">()/<span class="spelle"><span style="font-family: "Verdana",sans-serif;">SD_DMA_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">TxCplt(</span></span>): </span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">add a call to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DMA_Abort</span></span>()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_SD_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">ReadBlocks(</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) </span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update to set the defined DATA_BLOCK_SIZE as SDIO <span class="spelle"><span style="font-family: "Verdana",sans-serif;">DataBlockSize</span></span> parameter</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_SD_ReadBlocks_DMA</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">()/<span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SD_WriteBlocks_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>) update to call the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DMA_Start_IT</span></span>() function with DMA <span class="spelle"><span style="font-family: "Verdana",sans-serif;">Datalength</span></span> set to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">BlockSize</span></span>/4 as the DMA is configured in word </span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SMARTCARD </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""> <o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DMA transmit process; the code has been updated to avoid waiting on TC flag under DMA ISR, SMARTCARD TC interrupt is used instead. Below the update to be done on user application:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Configure and enable the USART IRQ in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SAMRTCARD_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">MspInit(</span></span>) function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">In stm32f4xx_it.c file, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">UASRTx_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) function: add a call to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SMARTCARD_IRQHandler</span></span>() function</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IT transmit process; the code has been updated to avoid waiting on TC flag under SMARTCARD ISR, SMARTCARD TC interrupt is used instead. No impact on user application</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename macros: add prefix "__<span class="grame"><span style="font-family: "Verdana",sans-serif;">HAL"</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__SMARTCARD_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLE(</span></span>) by __HAL_SMARTCARD_ENABLE()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__SMARTCARD_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DISABLE(</span></span>) by __HAL_SMARTCARD_DISABLE()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__SMARTCARD_ENABLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) by __HAL_SMARTCARD_ENABLE_IT()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__SMARTCARD_DISABLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) by __HAL_SMARTCARD_DISABLE_IT()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__SMARTCARD_DMA_REQUEST_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLE(</span></span>) by __HAL_SMARTCARD_DMA_REQUEST_ENABLE()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__SMARTCARD_DMA_REQUEST_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DISABLE(</span></span>) by __HAL_SMARTCARD_DMA_REQUEST_DISABLE()</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename literals: remove "D" from "DISABLED" and "<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLED"</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SMARTCARD_NACK_ENABLED by SMARTCARD_NACK_ENABLE</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SMARTCARD_NACK_DISABLED by SMARTCARD_NACK_DISABLE</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new user macros to manage the sample method <span class="grame"><span style="font-family: "Verdana",sans-serif;">feature</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_SMARTCARD_ONE_BIT_SAMPLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLE(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_SMARTCARD_ONE_BIT_SAMPLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DISABLE(</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add use of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">tmpreg</span></span> variable in __HAL_SMARTCARD_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">PEFLAG(</span></span>) macro for compliancy with C++</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_</span></i></span><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SMARTCARD<i>_Transmit_</i></span></span><span class="grame"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DMA(</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) </span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update to follow the right procedure "Transmission using DMA" in the reference manual</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add clear the TC flag in the SR register before enabling the DMA <span class="grame"><span style="font-family: "Verdana",sans-serif;">transmit</span></span> request</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL TIM </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add TIM_CHANNEL_ALL as possible value for all Encoder Start/Stop APIs Description</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_TIM_OC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">ConfigChannel(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) remove call to IS_TIM_FAST_STATE() assert macro</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_TIM_PWM_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">ConfigChannel(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) add a call to IS_TIM_FAST_STATE() assert macro to check the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">OCFastMode</span></span> parameter</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_TIM_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DMADelayPulseCplt(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) Update to set the TIM Channel before to call <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIM_PWM_PulseFinishedCallback</span></span>()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_TIM_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DMACaptureCplt(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) update to set the TIM Channel before to call <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIM_IC_CaptureCallback</span></span>()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">TIM_ICx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">ConfigChannel(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) update to fix Timer CCMR1 register corruption when setting <span class="spelle"><span style="font-family: "Verdana",sans-serif;">ICFilter</span></span> parameter</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_TIM_DMABurst_WriteStop</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">()/<span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIM_DMABurst_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">ReadStop(</span></span>) update to abort the DMA transfer for the <span class="spelle"><span style="font-family: "Verdana",sans-serif;">specifc</span></span> TIM channel</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new function for TIM Slave configuration in IT mode: <span class="spelle"><i><span style="font-family: "Verdana",sans-serif;">HAL_TIM_SlaveConfigSynchronization_</span></i></span><span class="grame"><i><span style="font-family: "Verdana",sans-serif;">IT(</span></i></span><i>) </i></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_TIMEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">ConfigBreakDeadTime(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) add an assert check on Break & <span class="spelle"><span style="font-family: "Verdana",sans-serif;">DeadTime</span></span> parameters values</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_TIMEx_OCN_Start_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) add the enable of Break Interrupt for all output modes</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new macros to ENABLE/DISABLE URS bit in TIM CR1 register:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_TIM_URS_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLE(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_TIM_URS_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DISABLE(</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new macro for TIM Edge modification</span><span style="">:</span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> __HAL_TIM_SET_<span class="grame"><span style="font-family: "Verdana",sans-serif;">CAPTUREPOLARITY(</span></span>)</span></i><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL UART </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add IS_LIN_WORD_<span class="grame"><span style="font-family: "Verdana",sans-serif;">LENGTH(</span></span>) and IS_LIN_OVERSAMPLING() macros: to check respectively <span class="spelle"><span style="font-family: "Verdana",sans-serif;">WordLength</span></span> and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">OverSampling</span></span> parameters in LIN mode</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DMA transmit process; the code has been updated to avoid waiting on TC flag under DMA ISR, UART TC interrupt is used instead. Below the update to be done on user application:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Configure and enable the USART IRQ in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_UART_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">MspInit(</span></span>) function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">In stm32f4xx_it.c file, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">USARTx_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) function: add a call to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_UART_IRQHandler</span></span>() function</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IT transmit process; the code has been updated to avoid waiting on TC flag under UART ISR, UART TC interrupt is used instead. No impact on user application</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename macros:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_UART_ONEBIT_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLE(</span></span>) by __HAL_UART_ONE_BIT_SAMPLE_ENABLE()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_UART_ONEBIT_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DISABLE(</span></span>) by __HAL_UART_ONE_BIT_SAMPLE_DISABLE()</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename literals:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">UART_WAKEUPMETHODE_IDLELINE by UART_WAKEUPMETHOD_IDLELINE</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">UART_WAKEUPMETHODE_ADDRESSMARK by UART_WAKEUPMETHOD_ADDRESSMARK</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add use of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">tmpreg</span></span> variable in __HAL_UART_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">PEFLAG(</span></span>) macro for compliancy with C++</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_UART_Transmit_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DMA(</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) </span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update to follow the right procedure "Transmission using DMA" in the reference manual</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add clear the TC flag in the SR register before enabling the DMA <span class="grame"><span style="font-family: "Verdana",sans-serif;">transmit</span></span> request</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL USART </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul type="square"> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DMA transmit process; the code has been updated to avoid waiting on TC flag under DMA ISR, USART TC interrupt is used instead. Below the update to be done on user application:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Configure and enable the USART IRQ in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_USART_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">MspInit(</span></span>) function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">In stm32f4xx_it.c file, <span class="spelle"><span style="font-family: "Verdana",sans-serif;">USARTx_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IRQHandler(</span></span>) function: add a call to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_USART_IRQHandler</span></span>() function</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IT transmit process; the code has been updated to avoid waiting on TC flag under USART ISR, USART TC interrupt is used instead. No impact on user application</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_USART_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Init(</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update to enable the USART oversampling by 8 by default in order to reach max USART frequencies</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">USART_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DMAReceiveCplt(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) update to set the new USART state after checking on the old state</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_USART_Transmit_DMA</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">()/<span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_USART_TransmitReceive_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DMA(</span></span>) </span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update to follow the right procedure "Transmission using DMA" in the reference manual</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add clear the TC flag in the SR register before enabling the DMA <span class="grame"><span style="font-family: "Verdana",sans-serif;">transmit</span></span> request</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename macros:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__USART_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLE(</span></span>) by __HAL_USART_ENABLE()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__USART_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DISABLE(</span></span>) by __HAL_USART_DISABLE()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__USART_ENABLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) by __HAL_USART_ENABLE_IT()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__USART_DISABLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) by __HAL_USART_DISABLE_IT()</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename literals: remove "D" from "DISABLED" and "<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLED"</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">USART_CLOCK_DISABLED by USART_CLOCK_DISABLE</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">USART_CLOCK_ENABLED by USART_CLOCK_ENABLE</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">USARTNACK_ENABLED by USART_NACK_ENABLE</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">USARTNACK_DISABLED by USART_NACK_DISABLE</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new user macros to manage the sample method <span class="grame"><span style="font-family: "Verdana",sans-serif;">feature</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_USART_ONE_BIT_SAMPLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">ENABLE(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_USART_ONE_BIT_SAMPLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DISABLE(</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add use of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">tmpreg</span></span> variable in __HAL_USART_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">PEFLAG(</span></span>) macro for compliancy with C++</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL WWDG </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new parameter in __HAL_WWDG_ENABLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) macro</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new macros to manage WWDG IT & correction:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_WWDG_<span class="grame"><span style="font-family: "Verdana",sans-serif;">DISABLE(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_WWDG_DISABLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_WWDG_GET_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_WWDG_GET_IT_<span class="grame"><span style="font-family: "Verdana",sans-serif;">SOURCE(</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.1.0 / 19-June-2014</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b><o:p></o:p></p> <ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add support of<span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><b>STM32F411xE</b><span class="apple-converted-space"><span style="font-family: "Verdana",sans-serif;"> </span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">devices</span></span></span><span style=""><o:p></o:p></span></li> </ul> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL generic</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Enhance HAL delay and time base <span class="grame"><span style="font-family: "Verdana",sans-serif;">implementation</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Systick</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> timer is used by default as source of time base, but user can eventually implement his proper time base source (a <span class="grame"><span style="font-family: "Verdana",sans-serif;">general purpose</span></span> timer for example or other time source)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Functions affecting time base configurations are declared as __Weak to make override possible in case of other implementations in user file, for more details please refer to <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TimeBase</span></span> example</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix flag clear procedure: use atomic write operation "=" instead of ready-modify-write operation "|=" or "&="</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix on Timeout management, Timeout value set to 0 passed to API automatically exits the function after checking the flag without any <span class="grame"><span style="font-family: "Verdana",sans-serif;">wait</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Common update for the following communication peripherals: SPI, UART, USART and IRDA</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add DMA circular mode <span class="grame"><span style="font-family: "Verdana",sans-serif;">support</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove lock from recursive <span class="grame"><span style="font-family: "Verdana",sans-serif;">process</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new macro __HAL_RESET_HANDLE_STATE to reset a given handle <span class="grame"><span style="font-family: "Verdana",sans-serif;">state</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add a new attribute for functions executed from internal SRAM and depending <span class="grame"><span style="font-family: "Verdana",sans-serif;">from</span></span> Compiler implementation</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">When USE_RTOS == 1 (in stm32l0xx_hal_conf.h), the __HAL_<span class="grame"><span style="font-family: "Verdana",sans-serif;">LOCK(</span></span>) is not defined instead of being defined empty</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Miscellaneous comments and formatting update</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">stm32f4xx_hal_conf_template.h</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add a new define for LSI default value LSI_<span class="grame"><span style="font-family: "Verdana",sans-serif;">VALUE</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add a new define for LSE default value LSE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">VALUE</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add a new define for Tick interrupt priority TICK_INT_PRIORITY (needed for the enhanced time base implementation)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Important Note:</span></u></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> aliases has been added for any API naming change, to keep compatibility with previous <span class="grame"><span style="font-family: "Verdana",sans-serif;">version</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL GPIO </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> </ul> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add a new macro <i>__HAL_GPIO_EXTI_GENERATE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">SWIT(</span></span>)</i> to manage the generation of software interrupt on selected EXTI line</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_GPIO_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Init(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): use temporary variable when modifying the registers, to avoid unexpected transition in the GPIO pin configuration</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove IS_GET_GPIO_PIN macro</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add a new function <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_GPIO_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">LockPin(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Private Macro __HAL_GET_GPIO_SOURCE renamed into GET_GPIO_SOURCE</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the support of STM32F411xx <span class="grame"><span style="font-family: "Verdana",sans-serif;">devices :</span></span> add the new Alternate functions values related to new remap added for SPI, USART, I2C</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update the following HAL GPIO macros description: rename <span class="spelle"><span style="font-family: "Verdana",sans-serif;">EXTI_Linex</span></span> by <span class="spelle"><span style="font-family: "Verdana",sans-serif;">GPIO_PIN_x</span></span><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_GPIO_EXTI_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_GPIO_EXTI_GET_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_GPIO_EXTI_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FLAG(</span></span>)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_GPIO_EXTI_GET_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FLAG(</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">�</span><span style="font-size: 7pt; color: black;"> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">HAL DMA</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;"> update</span><span style="color: black;"><o:p></o:p></span></p> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_DMA_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">PollForTransfer(</span></span>) to:</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">set DMA error code in case of HAL_ERROR status </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">set HAL Unlock before DMA state <span class="grame"><span style="font-family: "Verdana",sans-serif;">update</span></span></span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">�</span><span style="font-size: 7pt; color: black;"> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">HAL DMA2D</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;"> update</span><span style="color: black;"><o:p></o:p></span></p> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add configuration of source address in case of A8 or A4 M2M_PFC DMA2D mode</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL FLASH </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> </ul> <ul style="margin-top: 0in;" type="circle"> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Functions reorganization update, depending on the features supported by each STM32F4 <span class="grame"><span style="font-family: "Verdana",sans-serif;">device</span></span><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new driver (stm32f4xx_hal_flash_ramfunc.h/.c) to manage function executed from RAM, these functions are available only for STM32F411xx <span class="grame"><span style="font-family: "Verdana",sans-serif;">Devices</span></span><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">FLASH_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">StopFlashInterfaceClk(</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> : Stop the flash interface while System Run<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">FLASH_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">StartFlashInterfaceClk(</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> : Stop the flash interface while System Run<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">FLASH_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">EnableFlashSleepMode(</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> : Enable the flash sleep while System Run<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">FLASH_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DisableFlashSleepMode(</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> : Disable the flash sleep while System Run</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <ul type="square"> <li class="MsoNormal" style=""><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL PWR </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update<o:p></o:p></span></li> </ul> <ul style="margin-top: 0in;" type="disc"> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_PWR_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">PVDConfig(</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">: add clear of the EXTI trigger before new configuration </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PWR_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">EnterSTANDBYMode(</span></span>) to not clear Wakeup flag (WUF), which need to be cleared at application level before to call this function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_PWR_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">EnterSLEEPMode(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove disable and enable of <span class="spelle"><span style="font-family: "Verdana",sans-serif;">SysTick</span></span> <span class="grame"><span style="font-family: "Verdana",sans-serif;">Timer</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update usage of __<span class="grame"><span style="font-family: "Verdana",sans-serif;">WFE(</span></span>) in low power entry function: if there is a pending event, calling __WFE() will not enter the CortexM4 core to sleep mode. The solution is to made the call below; the first __<span class="grame"><span style="font-family: "Verdana",sans-serif;">WFE(</span></span>) is always ignored and clears the event if one was already pending, the second is always applied</span><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <div style="margin-left: 1.25in;"> <p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__SEV()</span><span style="font-size: 10pt;"><br> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__WFE()</span><span style="font-size: 10pt;"><br> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__<span class="grame"><span style="font-family: "Verdana",sans-serif;">WFE(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></p> </div> <ul style="margin-top: 0in;" type="disc"> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new macro for software event generation __HAL_PVD_EXTI_GENERATE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">SWIT(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove the following defines form Generic driver and add them under extension driver because they are only used within extension functions.</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">CR_FPDS_BB: used within <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PWREx_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">EnableFlashPowerDown(</span></span>) function</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">CSR_BRE_BB: used within <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PWREx_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">EnableBkUpReg(</span></span>) function</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the support of STM32F411xx devices add the define <span class="grame"><span style="font-family: "Verdana",sans-serif;">STM32F411xE</span></span><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">For STM32F401xC, STM32F401xE and STM32F411xE devices add the following functions used to enable or disable the low voltage mode for <span class="grame"><span style="font-family: "Verdana",sans-serif;">regulators</span></span><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in;" type="disc"> <ul style="margin-top: 0in;" type="circle"> <ul style="margin-top: 0in;" type="circle"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_PWREx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">EnableMainRegulatorLowVoltage(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_PWREx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DisableMainRegulatorLowVoltage(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_PWREx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">EnableLowRegulatorLowVoltage(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_PWREx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DisableLowRegulatorLowVoltage(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)<o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">For STM32F42xxx/43xxx devices, add a new function for Under Driver management as the macro already added for this mode is not sufficient: <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PWREx_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">EnterUnderDriveSTOPMode(</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RCC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update<o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">In <span class="spelle"><i><span style="font-family: "Verdana",sans-serif;">HAL_RCC_</span></i></span><span class="grame"><i><span style="font-family: "Verdana",sans-serif;">ClockConfig(</span></i></span><i>)</i> function: update the AHB clock divider before clock switch to new source</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Allow to calibrate the HSI when it is used as system clock <span class="grame"><span style="font-family: "Verdana",sans-serif;">source</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Rename the following <span class="grame"><span style="font-family: "Verdana",sans-serif;">macros</span></span><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__OTGFS_FORCE_RESET <span class="grame"><span style="font-family: "Verdana",sans-serif;">() by</span></span> __USB_OTG_FS_FORCE_RESET()<o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__OTGFS_RELEASE_RESET <span class="grame"><span style="font-family: "Verdana",sans-serif;">() by</span></span> __USB_OTG_FS_RELEASE_RESET()<o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__OTGFS_CLK_SLEEP_ENABLE <span class="grame"><span style="font-family: "Verdana",sans-serif;">() by</span></span> __USB_OTG_FS_CLK_SLEEP_ENABLE()<o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__OTGFS_CLK_SLEEP_DISABLE () <span class="grame"><span style="font-family: "Verdana",sans-serif;">by _</span></span>_USB_OTG_FS_CLK_SLEEP_DISABLE()</span></i><span style=""><o:p></o:p></span></li> </ul> </ul> </ul> <p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p> </o:p></span></p> <ul style="margin-top: 0in;" type="disc"> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new field PLLI2SM in RCC_PLLI2SInitTypeDef structure, this division factor is added for PLLI2S VCO input clock only STM32F411xE devices => the FW compatibility is broken vs. STM32F401xx devices <o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><i><span style="font-family: "Verdana",sans-serif;">HAL_RCCEx_</span></i></span><span class="grame"><i><span style="font-family: "Verdana",sans-serif;">PeriphCLKConfig(</span></i></span><i>)</i> and <span class="spelle"><i><span style="font-family: "Verdana",sans-serif;">HAL_RCCEx_GetPeriphCLKConfig</span></i></span><i>()</i> functions to support the new PLLI2SM <o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new function to manage the new LSE <span class="grame"><span style="font-family: "Verdana",sans-serif;">mode :</span></span> <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_RCCEx_SelectLSEMode</span></span>()</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Reorganize the macros depending <span class="grame"><span style="font-family: "Verdana",sans-serif;">from</span></span> Part number used and make them more clear</span><span style="font-size: 10pt;"><o:p></o:p></span></li> </ul> </ul> <p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">�</span><span style="font-size: 7pt; color: black;"> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">HAL UART </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">update<o:p></o:p></span></p> <ul type="square"> <ul type="square"> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add new macros to control CTS and <span class="grame"><span style="font-family: "Verdana",sans-serif;">RTS</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add specific macros to manage the flags cleared only by a software <span class="grame"><span style="font-family: "Verdana",sans-serif;">sequence</span></span></span><span style=""> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_UART_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">PEFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_UART_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FEFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_UART_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">NEFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_UART_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">OREFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_UART_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IDLEFLAG(</span></span>)</span></i><i><span style=""> <o:p></o:p></span></i></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add several enhancements without affecting the driver <span class="grame"><span style="font-family: "Verdana",sans-serif;">functionalities</span></span> <o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove the check on RXNE set after reading the Data in the DR register</span><span style=""> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update the transmit processes to use TXE instead of <span class="grame"><span style="font-family: "Verdana",sans-serif;">TC</span></span></span><span style=""> <o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><i><span style="font-family: "Verdana",sans-serif;">HAL_UART_Transmit_</span></i></span><span class="grame"><i><span style="font-family: "Verdana",sans-serif;">IT(</span></i></span><i>)</i> to enable <i>UART_IT_TXE</i> instead of <i>UART_IT_TC</i></span><span style=""> <o:p></o:p></span></li> </ul> </ul> </ul> <p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">�</span><span style="font-size: 7pt; color: black;"> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">HAL USART</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;"> update</span><span style="color: black;"><o:p></o:p></span></p> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add specific macros to manage the flags cleared only by a software <span class="grame"><span style="font-family: "Verdana",sans-serif;">sequence</span></span></span><span style=""> <o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_USART_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">PEFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_USART_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FEFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_USART_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">NEFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_USART_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">OREFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_USART_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IDLEFLAG(</span></span>)</span></i><span style=""> <o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><i><span style="font-family: "Verdana",sans-serif;">HAL_USART_Transmit_</span></i></span><span class="grame"><i><span style="font-family: "Verdana",sans-serif;">IT(</span></i></span><i>)</i> to enable <i>USART_IT_TXE</i> instead of <i>USART_IT_TC</i></span><span style=""> <o:p></o:p></span></li> </ul> </ul> <p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">�</span><span style="font-size: 7pt; color: black;"> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">HAL IRDA</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;"> update</span><span style="color: black;"><o:p></o:p></span></p> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add specific macros to manage the flags cleared only by a software <span class="grame"><span style="font-family: "Verdana",sans-serif;">sequence</span></span></span><span style=""> <o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_IRDA_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">PEFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_ IRDA _CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FEFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_ IRDA _CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">NEFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_ IRDA _CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">OREFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_ IRDA _CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IDLEFLAG(</span></span>)</span></i><span style=""> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add several enhancements without affecting the driver <span class="grame"><span style="font-family: "Verdana",sans-serif;">functionalities</span></span></span><span style=""> <o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Remove the check on RXNE set after reading the Data in the DR register</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><i><span style="font-family: "Verdana",sans-serif;">HAL_IRDA_Transmit_</span></i></span><span class="grame"><i><span style="font-family: "Verdana",sans-serif;">IT(</span></i></span><i>)</i> to enable <i>IRDA_IT_TXE</i> instead of <i>IRDA_IT_TC</i></span><span style=""> <o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the following APIs used within DMA <span class="grame"><span style="font-family: "Verdana",sans-serif;">process</span></span> <o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_StatusTypeDef</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_IRDA_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DMAPause(</span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">IRDA_HandleTypeDef</span></span> *<span class="spelle"><span style="font-family: "Verdana",sans-serif;">hirda</span></span>);</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_StatusTypeDef</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_IRDA_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DMAResume(</span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">IRDA_HandleTypeDef</span></span> *<span class="spelle"><span style="font-family: "Verdana",sans-serif;">hirda</span></span>);</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_StatusTypeDef</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_IRDA_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DMAStop(</span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">IRDA_HandleTypeDef</span></span> *<span class="spelle"><span style="font-family: "Verdana",sans-serif;">hirda</span></span>); <o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">void <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_IRDA_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">TxHalfCpltCallback(</span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">IRDA_HandleTypeDef</span></span> *<span class="spelle"><span style="font-family: "Verdana",sans-serif;">hirda</span></span>);</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">void <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_IRDA_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">RxHalfCpltCallback(</span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">IRDA_HandleTypeDef</span></span> *<span class="spelle"><span style="font-family: "Verdana",sans-serif;">hirda</span></span>);</span></i><span style=""> <o:p></o:p></span></li> </ul> </ul> </ul> <p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">�</span><span style="font-size: 7pt; color: black;"> </span><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">HAL SMARTCARD</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;"> update</span><span style="color: black;"><o:p></o:p></span></p> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add specific macros to manage the flags cleared only by a software <span class="grame"><span style="font-family: "Verdana",sans-serif;">sequence</span></span></span><span style=""> <o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_SMARTCARD_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">PEFLAG(</span></span>)</span><span style=""> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_SMARTCARD_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FEFLAG(</span></span>)</span><span style=""> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_SMARTCARD_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">NEFLAG(</span></span>)</span><span style=""> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_SMARTCARD_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">OREFLAG(</span></span>)</span><span style=""> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_SMARTCARD_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IDLEFLAG(</span></span>)</span></i><span style=""> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add several enhancements without affecting the driver <span class="grame"><span style="font-family: "Verdana",sans-serif;">functionalities</span></span></span><span style=""> <o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add a new state <i>HAL_SMARTCARD_STATE_BUSY_TX_RX</i> and all processes has been updated <span class="grame"><span style="font-family: "Verdana",sans-serif;">accordingly</span></span></span><span style=""> <o:p></o:p></span></li> <li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><i><span style="font-family: "Verdana",sans-serif;">HAL_SMARTCARD_Transmit_</span></i></span><span class="grame"><i><span style="font-family: "Verdana",sans-serif;">IT(</span></i></span><i>)</i> to enable <i>SMARTCARD_IT_TXE</i> instead of <i>SMARTCARD_IT_TC</i></span><span style=""> <o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SPI</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span><span style=""> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Bugs <span class="grame"><span style="font-family: "Verdana",sans-serif;">fix</span></span></span><span style=""> <o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SPI interface is used in synchronous polling mode: at high clock rates like SPI <span class="spelle"><span style="font-family: "Verdana",sans-serif;">prescaler</span></span> 2 and 4, calling <br> <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SPI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">TransmitReceive(</span></span>) returns with error HAL_TIMEOUT</span><span style=""> <o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_SPI_TransmitReceive_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DMA(</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> does not clean up the TX DMA, so any subsequent SPI calls return the DMA error</span><span style=""> <o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_SPI_Transmit_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">DMA(</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">)</span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> is failing when data size is equal to 1 byte</span><span style=""> <o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the following APIs used within the DMA <span class="grame"><span style="font-family: "Verdana",sans-serif;">process</span></span></span><span style=""> </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> </ul> </ul> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="circle"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_StatusTypeDef</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SPI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DMAPause(</span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">SPI_HandleTypeDef</span></span> *<span class="spelle"><span style="font-family: "Verdana",sans-serif;">hspi</span></span>);<o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_StatusTypeDef</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SPI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DMAResume(</span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">SPI_HandleTypeDef</span></span> *<span class="spelle"><span style="font-family: "Verdana",sans-serif;">hspi</span></span>);<o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_StatusTypeDef</span></i></span><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SPI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">DMAStop(</span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">SPI_HandleTypeDef</span></span> *<span class="spelle"><span style="font-family: "Verdana",sans-serif;">hspi</span></span>);<o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">void <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SPI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">TxHalfCpltCallback(</span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">SPI_HandleTypeDef</span></span> *<span class="spelle"><span style="font-family: "Verdana",sans-serif;">hspi</span></span>);<o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">void <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SPI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">RxHalfCpltCallback(</span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">SPI_HandleTypeDef</span></span> *<span class="spelle"><span style="font-family: "Verdana",sans-serif;">hspi</span></span>);<o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">void <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_SPI_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">TxRxHalfCpltCallback(</span></span><span class="spelle"><span style="font-family: "Verdana",sans-serif;">SPI_HandleTypeDef</span></span> *<span class="spelle"><span style="font-family: "Verdana",sans-serif;">hspi</span></span>);</span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL RNG </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add a conditional define to make this driver visible for all STM32F4xx devices except STM32F401xx and STM32F411xx Devices. <o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL CRC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">These macros are added to read/write the CRC IDR register: __HAL_CRC_SET_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IDR(</span></span>) and __HAL_CRC_GET_IDR()<o:p></o:p></span></li> </ul> </ul> </ul> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL DAC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update <o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Enhance the DMA channel configuration when used with <span class="grame"><span style="font-family: "Verdana",sans-serif;">DAC</span></span> <o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL TIM </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_TIM_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">IRQHandler(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">): update to check the input capture channel 3 and 4 in CCMR2 instead of CCMR1</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_TIM_<span class="grame"><span style="font-family: "Verdana",sans-serif;">PRESCALER(</span></span>) updated to use '=' instead of '|='</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the following macro in TIM HAL driver</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__<span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIM_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">GetCompare(</span></span>) <o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__<span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIM_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">GetCounter(</span></span>) <o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__<span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIM_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">GetAutoreload(</span></span>) <o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__<span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIM_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">GetClockDivision(</span></span>) <o:p></o:p></span></i></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__<span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_TIM_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">GetICPrescaler(</span></span>)</span></i><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL SDMMC </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> </ul> <ul style="margin-top: 0in;" type="square"> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Use of CMSIS constants instead of magic <span class="grame"><span style="font-family: "Verdana",sans-serif;">values</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Miscellaneous update in functions internal coding</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL NAND </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix issue of macros returning wrong address for NAND <span class="grame"><span style="font-family: "Verdana",sans-serif;">blocks</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix issue for read/write NAND page/spare <span class="grame"><span style="font-family: "Verdana",sans-serif;">area</span></span></span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL NOR </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the NOR address bank macro used within the <span class="grame"><span style="font-family: "Verdana",sans-serif;">API</span></span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> <li class="MsoNormal" style="margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update NOR API implementation to avoid the use of NOR address bank hard <span class="grame"><span style="font-family: "Verdana",sans-serif;">coded</span></span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL HCD </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HCD_StateTypeDef</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> structure members <span class="grame"><span style="font-family: "Verdana",sans-serif;">renamed</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">These macro</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> are renamed</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_GET_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FLAG(</span></span>__HANDLE__, __INTERRUPT__) by __HAL_HCD_GET_FLAG(__HANDLE__, __INTERRUPT__)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FLAG(</span></span>__HANDLE__, __INTERRUPT__) by __HAL_HCD_CLEAR_FLAG(__HANDLE__, __INTERRUPT__) </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_IS_INVALID_INTERRUPT(__HANDLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">_) by</span></span> __HAL_HCD_IS_INVALID_INTERRUPT(__HANDLE__) </span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL PCD </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL_PCD_</span></span><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">SetTxFiFo(</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PCD_SetRxFiFo</span></span>() renamed into <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PCDEx_SetTxFiFo</span></span>() and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_PCDEx_SetRxFiFo</span></span>() and moved to the extension files stm32f4xx_hal_pcd_ex.h/.c</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">PCD_StateTypeDef</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> structure members <span class="grame"><span style="font-family: "Verdana",sans-serif;">renamed</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Fix incorrect masking of <span class="grame"><span style="font-family: "Verdana",sans-serif;">TxFIFOEmpty</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">stm32f4xx_ll_usb.c: fix issue in HS mode</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">New macros <span class="grame"><span style="font-family: "Verdana",sans-serif;">added</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_PCD_IS_PHY_<span class="grame"><span style="font-family: "Verdana",sans-serif;">SUSPENDED(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_USB_HS_EXTI_GENERATE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">SWIT(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_USB_FS_EXTI_GENERATE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">SWIT(</span></span>)</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="grame"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">These macro</span></span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> are renamed</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_GET_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FLAG(</span></span>__HANDLE__, __INTERRUPT__) by __HAL_PCD_GET_FLAG(__HANDLE__, __INTERRUPT__)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FLAG(</span></span>__HANDLE__, __INTERRUPT__) by __HAL_PCD_CLEAR_FLAG(__HANDLE__, __INTERRUPT__) </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_IS_INVALID_INTERRUPT(__HANDLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">_) by</span></span> __HAL_PCD_IS_INVALID_INTERRUPT(__HANDLE__) </span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_PCD_UNGATE_CLOCK(__HANDLE__) by __HAL_PCD_UNGATE_PHYCLOCK(__HANDLE__)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_PCD_GATE_CLOCK(__HANDLE__) by __HAL_PCD_GATE_PHYCLOCK(__HANDLE__)</span><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL ETH </span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_ETH_GetReceivedFrame_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>) function to return HAL_ERROR if the received packet is not complete</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Use <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Delay(</span></span>) instead of counting loop</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> __HAL_ETH_MAC_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FLAG(</span></span>) macro is removed: the MACSR register is read only</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add the following macros used to Wake up the device from STOP mode by Ethernet <span class="grame"><span style="font-family: "Verdana",sans-serif;">event :</span></span></span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_ETH_EXTI_ENABLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_ETH_EXTI_DISABLE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">IT(</span></span>)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_ETH_EXTI_GET_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FLAG(</span></span>)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_ETH_EXTI_CLEAR_<span class="grame"><span style="font-family: "Verdana",sans-serif;">FLAG(</span></span>)</span></i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_ETH_EXTI_SET_RISING_EGDE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">TRIGGER(</span></span>)<o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_ETH_EXTI_SET_FALLING_EGDE_<span class="grame"><span style="font-family: "Verdana",sans-serif;">TRIGGER(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_ETH_EXTI_SET_FALLINGRISING_<span class="grame"><span style="font-family: "Verdana",sans-serif;">TRIGGER(</span></span>)</span></i><span style=""><o:p></o:p></span></li> </ul> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL WWDG</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update </span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Update macro parameters to use underscore: __XXX__</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Use of CMSIS constants instead of magic <span class="grame"><span style="font-family: "Verdana",sans-serif;">values</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Use MODIFY_REG macro in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_WWDG_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add IS_WWDG_ALL_INSTANCE in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_WWDG_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>) and <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_WWDG_DeInit</span></span>()</span><span style=""><o:p></o:p></span></li> </ul> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">HAL IWDG</span></b><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"> update</span><span style=""><o:p></o:p></span></li> <ul style="margin-top: 0in;" type="circle"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Use WRITE_REG instead of SET_BIT for all IWDG <span class="grame"><span style="font-family: "Verdana",sans-serif;">macros</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">__HAL_IWDG_CLEAR_FLAG removed: no IWDG flag cleared by access to SR <span class="grame"><span style="font-family: "Verdana",sans-serif;">register</span></span></span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Use MODIFY_REG macro in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_IWDG_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>)</span><span style=""><o:p></o:p></span></li> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">Add IS_IWDG_ALL_INSTANCE in <span class="spelle"><span style="font-family: "Verdana",sans-serif;">HAL_IWDG_</span></span><span class="grame"><span style="font-family: "Verdana",sans-serif;">Init(</span></span>)Add the following macros used to Wake</span><span style=""><o:p></o:p></span></li> </ul> </ul> <h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: "Arial",sans-serif;">V1.0.0 / 18-February-2014</span><span style=""><o:p></o:p></span></font></h3> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">Main Changes</span></u></b></p> <ul style="margin-top: 0in;" type="square"> <li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">First official release</span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;"></span><span style="font-size: 10pt;"> </span></li> </ul> <div class="MsoNormal" style="text-align: center;" align="center"><span style=""><hr align="center" size="2" width="100%"> </span></div> <p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in; text-align: center;" align="center"><span style="font-size: 10pt; font-family: "Verdana",sans-serif; color: black;">For complete documentation on </span><span style="font-size: 10pt; font-family: "Verdana",sans-serif;">STM32<span style="color: black;"> Microcontrollers visit </span><u><span style="color: blue;"><a href="http://www.st.com/internet/mcu/family/141.jsp" target="_blank">www.st.com/STM32</a></span></u></span><span style="color: black;"><o:p></o:p></span></p> </td> </tr> <tr style=""> <td style="padding: 0in; width: 843.25pt;" valign="top" width="1124"> <h2 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;"><span style="font-size: 12pt;"><o:p> </o:p></span></h2> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <p class="MsoNormal" style=""><o:p></o:p></p> </td> </tr> </tbody> </table> </div> <p class="MsoNormal" style=""><o:p> </o:p></p> </div> </div> </body></html>