<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
  <meta charset="utf-8" />
  <meta name="generator" content="pandoc" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
  <title>Release Notes for STM32F3xx HAL Drivers</title>
  <style type="text/css">
      code{white-space: pre-wrap;}
      span.smallcaps{font-variant: small-caps;}
      span.underline{text-decoration: underline;}
      div.column{display: inline-block; vertical-align: top; width: 50%;}
  </style>
  <link rel="stylesheet" href="_htmresc/mini-st.css" />
  <!--[if lt IE 9]>
    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
  <![endif]-->
</head>
<body>
<div class="row">
<div class="col-sm-12 col-lg-4">
<div class="card fluid">
<div class="sectione dark">
<center>
<h1 id="release-notes-for-stm32f3xx-hal-drivers"><strong>Release Notes for STM32F3xx HAL Drivers</strong></h1>
<p>Copyright © 2016 STMicroelectronics<br />
</p>
<a href="https://www.st.com" class="logo"><img src="../../_htmresc/st_logo.png" alt="ST logo" /></a>
</center>
</div>
</div>
<h1 id="license"><strong>License</strong></h1>
This software component is licensed by ST under BSD 3-Clause license, the “License”; You may not use this component except in compliance with the License. You may obtain a copy of the License at:
<center>
<a href="https://opensource.org/licenses/BSD-3-Clause">https://opensource.org/licenses/BSD-3-Clause</a>
</center>
</div>
<div class="col-sm-12 col-lg-8">
<h1 id="update-history"><strong>Update History</strong></h1>
<div class="collapse">
<input type="checkbox" id="collapse-section1_5_6" checked aria-hidden="true"> <label for="collapse-section1_5_6" aria-hidden="true"><strong>V1.5.6 / 23-July-2021</strong></label>
<div>
<h2 id="main-changes">Main Changes</h2>
<ul>
<li>General updates to fix known defects and enhancements implementation.</li>
</ul>
<h2 id="contents">Contents</h2>
<ul>
<li><strong>HAL GPIO</strong> driver
<ul>
<li>Update HAL_GPIO_Init() API to avoid the configuration of PUPDR register when Analog mode is selected.</li>
</ul></li>
<li><strong>HAL EXTI</strong> update
<ul>
<li>Update HAL_EXTI_GetConfigLine() API to set default configuration value of Trigger and GPIOSel before checking each corresponding registers.</li>
</ul></li>
<li><strong>LL/HAL ADC</strong> update
<ul>
<li>Update LL_ADC_DMA_GetRegAddr() API to prevent unused argument compilation warning.</li>
<li>Update HAL timeout mechanism to avoid false timeout detection in case of preemption.</li>
</ul></li>
<li><strong>LL/HAL DAC</strong> update
<ul>
<li>Remove ‘register’ storage class specifier from LL DAC driver.</li>
</ul></li>
<li><strong>LL/HAL TIM</strong> update
<ul>
<li>Corrected reversed description of TIM_LL_EC_ONEPULSEMODE One Pulse Mode.</li>
<li>Update HAL_TIMEx_OnePulseN_Start and HAL_TIMEx_OnePulseN_Stop (pooling and IT mode) to take into consideration all OutputChannel parameters.</li>
<li>Update input capture measurement in DMA mode to avoid zero return values at high frequencies.</li>
</ul></li>
<li><strong>HAL I2C</strong> update
<ul>
<li>Updated I2C_IsAcknowledgeFailed() API to avoid I2C in busy state if NACK received after transmitting register address.</li>
</ul></li>
<li><strong>HAL UART</strong> update
<ul>
<li>Fix erroneous UART’s handle state in case of error returned after DMA reception start within UART_Start_Receive_DMA().</li>
<li>Correction on UART ReceptionType management in case of ReceptionToIdle API are called from RxEvent callback</li>
<li>Handling of UART concurrent register access in case of race condition between Tx and Rx transfers (HAL UART and LL LPUART)</li>
</ul></li>
<li><strong>HAL CAN</strong> update
<ul>
<li>Update HAL_CAN_Init() API to be aligned with STM32F3 documentation and to avoid timeout error:
<ul>
<li>Update CAN Initialization sequence to set “request initialization” bit before exit from sleep mode.</li>
</ul></li>
</ul></li>
<li><strong>LL FMC</strong> update
<ul>
<li>Fix compilation warning with gcc -Wpedantic compiler option.</li>
</ul></li>
<li><strong>HAL SPI</strong> update
<ul>
<li>Updated to fix MISRA-C 2012 Rule-13.2.</li>
<li>Updated to set the FRXTH bit for 8bit data in LL_SPI_Init() API.</li>
<li>Update LL_SPI_TransmitData8() API to avoid casting the result to 8 bits.</li>
</ul></li>
<li><strong>HAL I2S</strong> update
<ul>
<li>Update I2SEx APIs to correctly support circular transfers:
<ul>
<li>Update I2SEx_TxRxDMACplt() API to manage DMA circular mode.</li>
<li>Update HAL_I2SEx_TransmitReceive_DMA() to enhance HAL I2S driver robustness:
<ul>
<li>Remove DMA TX transfer complete and half complete callback initialization.</li>
</ul></li>
</ul></li>
</ul></li>
<li><strong>HAL IWDG</strong> update
<ul>
<li>Updated HAL_IWDG_Init() API in order to fix HAL_GetTick() timeout vulnerability issue.</li>
</ul></li>
<li><strong>HAL RTC</strong> update
<ul>
<li>Update __HAL_RTC_…(__HANDLE__, …) macros to access registers through (__HANDLE__)-&gt;Instance pointer and avoid “unused variable” warnings.</li>
<li>Correct month management in IS_LL_RTC_MONTH() macro</li>
</ul></li>
<li><strong>LL USART</strong> update
<ul>
<li>Remove useless check on maximum BRR value by removing IS_LL_USART_BRR_MAX() macro.</li>
<li>Handling of UART concurrent register access in case of race condition between Tx and Rx transfers (HAL UART and LL LPUART)</li>
</ul></li>
<li><strong>HAL NAND</strong> update
<ul>
<li>Update implementation of “HAL_NAND_Read_SpareArea_16b” and “HAL_NAND_Write_SpareArea_16b” to fix an issue with the spare area Column address calculation</li>
<li>Update implementation of “HAL_NAND_Write_Page_16b” and “HAL_NAND_Read_Page_16b” APIs implementation to fix an issue with the page calculation of 8 bits memories</li>
</ul></li>
<li><strong>HAL USB_FS</strong> update
<ul>
<li>HAL PCD: add fix transfer complete for IN Interrupt transaction in single buffer mode</li>
<li>Race condition in USB PCD control endpoint receive ISR.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_5_5" aria-hidden="true"> <label for="collapse-section1_5_5" aria-hidden="true"><strong>V1.5.5 / 10-November-2020</strong></label>
<div>
<h2 id="main-changes-1">Main Changes</h2>
<ul>
<li>General updates to fix known defects and enhancements implementation.</li>
</ul>
<h2 id="contents-1">Contents</h2>
<ul>
<li><strong>HAL</strong> driver update
<ul>
<li>Update hal_def.h to support new ARM compiler Keil V6.</li>
<li>Update HAL TimeBase TIM, RTC alarm and RTC WakeUp templates for more robustness
<ul>
<li>Update HAL_InitTick() API to properly store the priority when using the non-default time base.</li>
</ul></li>
<li>Add new defines for ARM compiler V6:
<ul>
<li>__weak</li>
<li>__packed</li>
<li>__NOINLINE</li>
</ul></li>
<li>Remove compile switch “USE_HAL_LEGACY” on #include “Legacy/stm32_hal_legacy.h”</li>
</ul></li>
<li><strong>HAL/LL ADC</strong> update
<ul>
<li>Update HAL_ADC_IRQHandler() API for case of injected conversion with software trigger and end of conversion or sequence triggered
<ul>
<li>disable interruption and update state machine.</li>
</ul></li>
<li>Update HAL_ADC_Stop_DMA() API to check if DMA state is Busy before calling HAL_DMA_Abort() API to avoid DMA internal error.</li>
<li>Update LL_ADC_REG_Init() API to avoid enabling continuous mode and discontinuous mode simultaneously.</li>
<li>Support missing trigger Timer 2 Capture Compare 2 of regular source for STM32F301, STM32F302 and STM32F318:
<ul>
<li>Add LL_ADC_REG_TRIG_EXT_TIM2_CH2 in LL driver and ADC_EXTERNALTRIGCONV_T2_CC2 in HAL driver</li>
</ul></li>
<li>fix codesonar warning: “Negative Shift Amount”
<ul>
<li>impacted API:
<ul>
<li>LL_ADC_REG_SetSequencerRanks</li>
<li>LL_ADC_REG_GetSequencerRanks</li>
<li>LL_ADC_INJ_SetSequencerRanks</li>
<li>LL_ADC_INJ_GetSequencerRanks</li>
</ul></li>
</ul></li>
<li>Update comment to clarify the “How to use low power mode”</li>
</ul></li>
<li><strong>LL COMP</strong> update
<ul>
<li>Fix wrong Value for:
<ul>
<li>LL_COMP_OUTPUT_TIM3_IC1_COMP2</li>
<li>LL_COMP_OUTPUT_TIM3_IC1_COMP1_2</li>
</ul></li>
</ul></li>
<li><strong>LL OPAMP</strong> update
<ul>
<li>fix wrong description comments for:
<ul>
<li>LL_OPAMP_INPUT_NONINVERT_IO2</li>
<li>LL_OPAMP_INPUT_NONINVERT_IO3</li>
</ul></li>
</ul></li>
<li><strong>HAL RTC</strong> update
<ul>
<li>Daylight Saving Time (DST) feature to subtract or add one hour to the calendar can now be handled outside HAL_RTC_SetTime() thanks to new APIs:
<ul>
<li>HAL_RTC_DST_Add1Hour()</li>
<li>HAL_RTC_DST_Sub1Hour()</li>
<li>HAL_RTC_DST_SetStoreOperation()</li>
<li>HAL_RTC_DST_SetStoreOperation()</li>
<li>HAL_RTC_DST_ClearStoreOperation()</li>
<li>HAL_RTC_DST_ReadStoreOperation()</li>
</ul></li>
<li>DayLightSaving and StoreOperation interfaces from RTC_TimeTypeDef type are now deprecated.</li>
</ul></li>
<li><strong>HAL CEC</strong> update
<ul>
<li>Update HAL_CEC_IRQHandler() API to avoid appending an extra byte to the end of message.</li>
</ul></li>
<li><strong>HAL RTC</strong> update
<ul>
<li>Update to support Daylight Saving Time (DST) feature:
<ul>
<li>Subtract or add one hour to the calendar can now be handled outside HAL_RTC_SetTime() thanks to new APIs.
<ul>
<li>HAL_RTC_DST_Add1Hour() API to add one hour to the calendar</li>
<li>HAL_RTC_DST_Sub1Hour() API to subtract one hour from the calendar</li>
<li>HAL_RTC_DST_SetStoreOperation() API to set the store operation bit</li>
<li>HAL_RTC_DST_ClearStoreOperation() API to clear the store operation bit</li>
<li>HAL_RTC_DST_ReadStoreOperation() API to read the store operation bit</li>
</ul></li>
<li>DayLightSaving and StoreOperation interfaces from RTC_TimeTypeDef type are now deprecated.</li>
</ul></li>
</ul></li>
<li><strong>HAL/LL SPI</strong> update
<ul>
<li>Update Transmit/Receive processes in half-duplex mode</li>
<li>Disable the SPI instance before setting BDIOE bit</li>
<li>Disable TX DMA request only in bidirectional receive mode</li>
<li>Fix wrong timeout management
<ul>
<li>Calculate Timeout based on a software loop to avoid blocking issue if Systick is disabled</li>
</ul></li>
<li>Update HAL_SPI_Init() API
<ul>
<li>To avoid setting the BaudRatePrescaler in case of Slave Motorola Mode</li>
<li>Use the bit-mask for SPI configuration</li>
</ul></li>
</ul></li>
<li><strong>LL I2S</strong> update
<ul>
<li>Update LL_I2S_Init() API to correctly calculate sourceclock which used for bitrate calculation.</li>
<li>Update HAL_I2S_DMAStop() API to be more safe
<ul>
<li>Add a check on BSY, TXE and RXNE flags before disabling the I2S</li>
</ul></li>
<li>Update HAL_I2S_DMAStop() API to fix multi-call transfer issue(to avoid re-initializing the I2S for the next transfer).
<ul>
<li>Add __HAL_I2SEXT_FLUSH_RX_DR() and __HAL_I2S_FLUSH_RX_DR() macros to flush the remaining data inside DR registers.</li>
<li>Add new ErrorCode define: HAL_I2S_ERROR_BUSY_LINE_RX</li>
</ul></li>
</ul></li>
<li><strong>HAL NOR</strong> update
<ul>
<li>Update address calculation in HAL_NOR_ProgramBuffer()</li>
<li>Apply adequate commands according to the command set field value
<ul>
<li>command set 1 for Micron JS28F512P33</li>
<li>command set 2 for Micron M29W128G and Cypress S29GL128P</li>
</ul></li>
<li>Add new commands operations:
<ul>
<li>NOR_CMD_READ_ARRAY</li>
<li>NOR_CMD_WORD_PROGRAM</li>
<li>NOR_CMD_BUFFERED_PROGRAM</li>
<li>NOR_CMD_CONFIRM</li>
<li>NOR_CMD_BLOCK_ERASE</li>
<li>NOR_CMD_BLOCK_UNLOCK</li>
<li>NOR_CMD_READ_STATUS_REG</li>
<li>NOR_CMD_CLEAR_STATUS_REG</li>
</ul></li>
<li>Update some APIs in order to be compliant for memories with another command set.
<ul>
<li>HAL_NOR_Init()</li>
<li>HAL_NOR_Read_ID()</li>
<li>HAL_NOR_ReturnToReadMode()</li>
<li>HAL_NOR_Read()</li>
<li>HAL_NOR_Program()</li>
<li>HAL_NOR_ReadBuffer()</li>
<li>HAL_NOR_ProgramBuffer()</li>
<li>HAL_NOR_Erase_Block()</li>
<li>HAL_NOR_Erase_Chip()</li>
<li>HAL_NOR_GetStatus()</li>
</ul></li>
</ul></li>
<li><strong>HAL HRTIM</strong> update
<ul>
<li>Update HAL_HRTIM_DLLCalibrationStart() and HAL_HRTIM_DLLCalibrationStart_IT() to set the handler state back to “READY” before exiting.</li>
</ul></li>
<li><strong>HAL TSC</strong> update
<ul>
<li>Update the HAL_TSC_Init() API to add new check condition on “PulseGeneratorPrescaler” Parameter.</li>
</ul></li>
<li><strong>HAL/LL TIM</strong> update
<ul>
<li>Update Encoder input interface to don’t allow both input polarity configuration
<ul>
<li>Replace IS_TIM_IC_POLARITY() macro by IS_TIM_ENCODERINPUT_POLARITY() macro.</li>
</ul></li>
<li>Update to allow multiple DMA request with different channels in parallel:
<ul>
<li>Implement DMA burst state management mechanism</li>
<li>Implement TIM channel state management mechanism</li>
</ul></li>
<li>Correct inverted values of LL_TIM_COUNTERMODE_CENTER_DOWN and LL_TIM_COUNTERMODE_CENTER_UP</li>
<li>Update LL_TIM_GetCounterMode() API to return right counter mode.</li>
<li>Add LL_TIM_IsActiveUIFCPY inline function to indicate whether update interrupt flag (UIF) copy is set or not.</li>
</ul></li>
<li><strong>HAL/LL SMARTCARD</strong> update
<ul>
<li>Update smartcard transmit processes to be able to handle data retransmission when NACK is received in smartcard T=0</li>
</ul></li>
<li><strong>HAL/LL IRDA</strong> update
<ul>
<li>Fix typos in IRDA State definition description</li>
</ul></li>
<li><strong>HAL/LL UART</strong> update
<ul>
<li>Update to enhance reception to idle services (ReceptionToIdle):
<ul>
<li>Add a new field HAL_UART_RxTypeTypeDef structure to the UART_HandleTypeDef structure to identify the type of ongoing Reception</li>
<li>Add UART Reception Event Callback registration features</li>
<li>Add a set of APIs specific to Reception to Idle transfer in different mode
<ul>
<li>Add HAL_UARTEx_ReceiveToIdle API to receive an amount of data in blocking mode till either the expected number of data is received or an IDLE event occurs.</li>
<li>Add HAL_UARTEx_ReceiveToIdle_IT() API to receive an amount of data in interrupt mode till either the expected number of data is received or an IDLE event occurs.</li>
<li>Add HAL_UARTEx_ReceiveToIdle_DMA() API to receive an amount of data in DMA mode till either the expected number of data is received or an IDLE event occurs.</li>
</ul></li>
<li>Update HAL_UART_Receive(), HAL_UART_Receive_IT() and HAL_UART_Receive_DMA() APIs to support the new enhancement of ReceptionToIdle</li>
</ul></li>
<li>Update HAL_UART_IRQHandler() to handle receiver timeout interruption</li>
<li>Update UART receive processes (IT &amp; DMA) to handle the UART receive timeout interruption</li>
<li>Move the process unlock at the top of the HAL_UART_Receive() and HAL_UART_Transmit() API.</li>
<li>Fix typos in UART State definition description</li>
</ul></li>
<li><strong>HAL/LL USART</strong> update
<ul>
<li>Add RTO (Receiver Time Out) support to USART HAL flags and IT management
<ul>
<li>Add HAL_USART_ERROR_RTO define of Receiver Timeout error to the USART Error Definition section</li>
<li>Add USART_FLAG_RTOF define of Receiver Timeout flag to the USART Flags section</li>
<li>Add USART_CLEAR_RTOF define of Receiver Timeout clear flag to the USART Clear Flags section</li>
<li>Update HAL_USART_IRQHandler to add support to the Receiver Timeout Interruption</li>
</ul></li>
</ul></li>
<li><strong>HAL IWDG</strong> update
<ul>
<li>Update HAL_IWDG_DEFAULT_TIMEOUT define value to consider LSI value instead of hardcoded value.</li>
</ul></li>
<li><strong>LL UTILS</strong> update
<ul>
<li>UTILS_SetFlashLatency() API renamed to LL_SetFlashLatency() and set exportable.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_5_4" aria-hidden="true"> <label for="collapse-section1_5_4" aria-hidden="true"><strong>V1.5.4 / 23-July-2020</strong></label>
<div>
<h2 id="main-changes-2">Main Changes</h2>
<ul>
<li>General updates to fix known defects and enhancements implementation</li>
</ul>
<h2 id="contents-2">Contents</h2>
<ul>
<li><strong>HAL/LL GPIO</strong> update
<ul>
<li>Update GPIO initialization sequence to avoid unwanted pulse on GPIO Pin’s.</li>
<li>Update HAL_GPIO_TogglePin() API to allow the toggling of many pins.</li>
<li>HAL_GPIO_TogglePin reentrancy robustness improvement by using BSRR register instead of ODR register.</li>
</ul></li>
<li><strong>HAL/LL I2C</strong> update
<ul>
<li>Update HAL_I2C_ER_IRQHandler() API to fix acknowledge failure issue with I2C memory IT processes
<ul>
<li>Add stop condition generation when NACK occurs.</li>
</ul></li>
<li>Update I2C_DMAXferCplt(), I2C_DMAError() and I2C_DMAAbort() APIs to fix hardfault issue when hdmatx and hdmarx parameters in i2c handle aren’t initialized (NULL pointer).
<ul>
<li>Add additional check on hi2c-&gt;hdmtx and hi2c-&gt;hdmarx before resetting DMA Tx/Rx complete callbacks</li>
</ul></li>
<li>Update Sequential transfer APIs to adjust xfermode condition.
<ul>
<li>Replace hi2c-&gt;XferCount &lt; MAX_NBYTE_SIZE by hi2c-&gt;XferCount &lt;= MAX_NBYTE_SIZE which corresponds to a case without reload</li>
</ul></li>
</ul></li>
<li><strong>HAL/LL USB</strong> driver
<ul>
<li>Bug fix: USB_ReadPMA() and USB_WritePMA() by ensuring 16-bits access to USB PMA memory</li>
<li>Bug fix: correct USB RX count calculation</li>
<li>Fix USB Bulk transfer double buffer mode</li>
<li>Remove register keyword from USB defined macros as no more supported by C++ compiler</li>
<li>Minor rework on USBD_Start() and USBD_Stop() APIs: stopping device will be handled by HAL_PCD_DeInit() API.</li>
<li>Remove non used API for USB device mode.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_5_3" aria-hidden="true"> <label for="collapse-section1_5_3" aria-hidden="true"><strong>V1.5.3 / 12-September-2019</strong></label>
<div>
<h2 id="main-changes-3">Main Changes</h2>
<ul>
<li>General updates to fix known defects and enhancements implementation</li>
<li>Add support of HAL callback registration feature</li>
<li>Add new <strong>HAL EXTI</strong> driver</li>
<li><strong>The following changes done on the HAL drivers require an update on the application code based on older HAL versions</strong>
<ul>
<li><strong>HAL/LL Generic</strong> update
<ul>
<li>Add support of <strong>HAL callback registration</strong> feature
<ul>
<li>The feature disabled by default is available for the following HAL drivers:
<ul>
<li><strong>ADC, CAN, COMP, CEC, DAC, SMBUS, HRTIM, I2C, UART, USART, SRAM, NAND, NOR, PCCARD, WWDG, OPAMP, RTC, SDADC, SPI, I2S, TIM, TSC and PCD</strong></li>
</ul></li>
<li>The feature may be enabled individually per HAL PPP driver by setting the corresponding definition USE_HAL_PPP_REGISTER_CALLBACKS to 1U in stm32f3xx_hal_conf.h project configuration file (template file stm32f3xx_hal_conf_template.h available from Drivers/STM32F3xx_HAL_Driver/Inc)</li>
<li>Once enabled , the user application may resort to HAL_PPP_RegisterCallback() to register specific callback function(s) and unregister it(them) with HAL_PPP_UnRegisterCallback()</li>
</ul></li>
</ul></li>
</ul></li>
<li><strong>HAL/LL Generic</strong> update
<ul>
<li>General updates to fix MISRA 2012 compilation errors
<ul>
<li>Update assert_failed() API prototype to use pointer on uint8_t instead of char</li>
</ul></li>
<li>Update HAL_SetTickFreq() HAL_SetTickFreq() to be able to restore previous tick frequency when HAL_SetTickFreq() failed.</li>
</ul></li>
<li><strong>HAL CRC</strong> update
<ul>
<li>Remove extra call to HAL_LOCK/HAL_UNLOCK from the followings API’s:
<ul>
<li>HAL_CRC_Accumulate()</li>
<li>HAL_CRC_Calculate()</li>
</ul></li>
</ul></li>
<li><strong>HAL DAC</strong> update
<ul>
<li>Update to check on DAC_CHANNEL2_SUPPORT instead of device part number</li>
</ul></li>
<li><strong>HAL DMA</strong> update
<ul>
<li>Update HAL_DMA_Abort() API to
<ul>
<li>Be able to return HAL_ERROR when DMA is already busy</li>
</ul></li>
</ul></li>
<li><strong>HAL/LL RTC</strong> update
<ul>
<li>HAL/LL drivers optimization
<ul>
<li>HAL driver: remove unused variables to fix CodeSonar warnings</li>
<li>LL driver: getter APIs optimization</li>
</ul></li>
</ul></li>
<li><strong>HAL FLASH</strong> update
<ul>
<li>Update the FLASH_OB_GetRDP() API to return the correct RDP level</li>
</ul></li>
<li><strong>HAL GPIO</strong> update
<ul>
<li>HAL_GPIO_TogglePin() API implementation update: to improve robustness</li>
<li>HAL_GPIO_DeInit() API update to ensure clear all GPIO EXTI pending interrupts.</li>
</ul></li>
<li><strong>HAL CEC</strong> update
<ul>
<li>update CEC states definition</li>
</ul></li>
<li><strong>HAL COMP</strong> update
<ul>
<li>Add HAL_COMP_GetError() API to return the COMP error code</li>
</ul></li>
<li><strong>HAL HRTIM</strong> update
<ul>
<li>HRTIM API changes for MISRA-C 2012 compliance:
<ul>
<li>Rename HAL_HRTIM_WaveformCounterStart() to HAL_HRTIM_WaveformCountStart()</li>
<li>Rename HAL_HRTIM_WaveformCounterStop() to HAL_HRTIM_WaveformCountStop()</li>
<li>Rename HAL_HRTIM_WaveformCounterStart_DMA() to HAL_HRTIM_WaveformCountStart_DMA()</li>
<li>Rename HAL_HRTIM_WaveformCounterStop_DMA() to HAL_HRTIM_WaveformCountStop_DMA()</li>
<li>Rename HAL_HRTIM_WaveformCounterStart_IT() to HAL_HRTIM_WaveformCountStart_IT()</li>
<li>Rename HAL_HRTIM_WaveformCounterStop_IT() to HAL_HRTIM_WaveformCountStop_IT()</li>
<li>Rename HAL_HRTIM_DLLCalbrationReadyCallback() to HAL_HRTIM_DLLCalibrationReadyCallback()</li>
<li><strong>Note</strong>: The stm32_hal_legacy.h file is also updated to avoid compatibility break versus the previous STM32F3 HAL version regarding the replaced defines</li>
</ul></li>
</ul></li>
<li><strong>HAL I2C</strong> update
<ul>
<li>I2C API changes for MISRA-C 2012 compliance:
<ul>
<li>Rename HAL_I2C_Master_Sequential_Transmit_IT() to HAL_I2C_Master_Seq_Transmit_IT()</li>
<li>Rename HAL_I2C_Master_Sequentiel_Receive_IT() to HAL_I2C_Master_Seq_Receive_IT()</li>
<li>Rename HAL_I2C_Slave_Sequentiel_Transmit_IT() to HAL_I2C_Slave_Seq_Transmit_IT()</li>
<li>Rename HAL_I2C_Slave_Sequentiel_Receive_DMA() to HAL_I2C_Slave_Seq_Receive_DMA()</li>
</ul></li>
<li>Add support of I2C repeated start feature in DMA Mode With the following new API’s
<ul>
<li>HAL_I2C_Master_Seq_Transmit_DMA()</li>
<li>HAL_I2C_Master_Seq_Receive_DMA()</li>
<li>HAL_I2C_Slave_Seq_Transmit_DMA()</li>
<li>HAL_I2C_Slave_Seq_Receive_DMA()</li>
</ul></li>
<li>Add new I2C transfer options to easy manage the sequential transfers
<ul>
<li>I2C_OTHER_FRAME</li>
<li>I2C_OTHER_AND_LAST_FRAME</li>
</ul></li>
</ul></li>
<li><strong>HAL SPI</strong> update
<ul>
<li>General update to enhance robustness for HAL SPI driver</li>
</ul></li>
<li><strong>HAL I2S</strong> update
<ul>
<li>General update to enhance robustness for HAL I2S driver</li>
</ul></li>
<li><strong>HAL SMBUS</strong> update
<ul>
<li>General update to enhance robustness for HAL SMBUS driver</li>
</ul></li>
<li><strong>HAL TIM</strong> update
<ul>
<li>Update HAL_TIMEx_RemapConfig() API prototype to use only one parameter for TIMx Remapping input capabilities
<ul>
<li>HAL_TIMEx_RemapConfig(TIM_HandleTypeDef <em>htim, uint32_t Remap) instead of HAL_TIMEx_RemapConfig(TIM_HandleTypeDef </em>htim, uint32_t Remap1, uint32_t Remap2)</li>
</ul></li>
<li>Move the following TIM structures from stm32f3xx_hal_tim_ex.h into stm32f3xx_hal_tim.h
<ul>
<li>TIM_MasterConfigTypeDef()</li>
<li>TIM_BreakDeadTimeConfigTypeDef()</li>
</ul></li>
<li>TIM API changes for MISRA-C 2012 compliance:
<ul>
<li>Rename HAL_TIM_SlaveConfigSynchronization to HAL_TIM_SlaveConfigSynchro</li>
<li>Rename HAL_TIM_SlaveConfigSynchronization_IT to HAL_TIM_SlaveConfigSynchro_IT</li>
<li>Rename HAL_TIMEx_ConfigCommutationEvent to HAL_TIMEx_ConfigCommutEvent</li>
<li>Rename HAL_TIMEx_ConfigCommutationEvent_IT to HAL_TIMEx_ConfigCommutEvent_IT</li>
<li>Rename HAL_TIMEx_ConfigCommutationEvent_DMA to HAL_TIMEx_ConfigCommutEvent_DMA</li>
<li>Rename HAL_TIMEx_CommutationCallback to HAL_TIMEx_CommutCallback</li>
</ul></li>
<li>Add a call to HAL_DMA_Abort_IT from HAL_TIM_XXX_Stop_DMA</li>
</ul></li>
<li><strong>HAL TSC</strong> update
<ul>
<li>HAL_TSC_IODischarge() API: update choice parameter to be on FunctionalState instead of uint32_t.</li>
<li>Add new field ErrorCode in TSC_HandleTypeDef structure</li>
<li>HAL_TSC_Init() API add new assert_param() on ChannelIOs, ShieldIOs and SamplingIOs fields.</li>
</ul></li>
<li><strong>HAL UART</strong> update
<ul>
<li>Update to manage UART LIN and UART wakeUp features in stm32f0xx_hal_uart.c/.h instead of stm32f0_hal_uart_ex.c/.h</li>
<li>General update to enhance robustness for HAL UART driver</li>
<li>Major Update to improve performance in polling/interrupt mode to reach max frequency:
<ul>
<li>Polling mode :
<ul>
<li>Use API data pointer instead of UART handle data pointer.</li>
</ul></li>
<li>Interrupt mode
<ul>
<li>Minimize access on UART registers.</li>
<li>Split the UART modes into dedicated static functions to minimize checking statements under HAL_IRQHandler():
<ul>
<li>8 bit/ 16 bits data formats</li>
</ul></li>
</ul></li>
<li>All modes:
<ul>
<li>Update Timeout management to check on global process.</li>
<li>Update Error code management in all processes.</li>
</ul></li>
</ul></li>
</ul></li>
<li><strong>HAL USART</strong> update
<ul>
<li>General update to enhance robustness for HAL USART driver</li>
<li>Major Update to improve performance in polling/interrupt mode to reach max frequency:
<ul>
<li>Polling mode :
<ul>
<li>Use API data pointer instead of USART handle data pointer.</li>
<li>Update HAL USART Transmit/Receive processes to support Word Length 9 Bits with/No parity transfer</li>
</ul></li>
<li>Interrupt mode
<ul>
<li>Minimize access on USART registers.</li>
<li>Split the USART modes into dedicated static functions to minimize checking statements under HAL_IRQHandler():
<ul>
<li>8 bit/ 16 bits data formats</li>
</ul></li>
</ul></li>
<li>All modes:
<ul>
<li>Update Timeout management to check on global process.</li>
<li>Update Error code management in all processes.</li>
</ul></li>
</ul></li>
</ul></li>
<li><strong>HAL SMARTCARD</strong> update
<ul>
<li>General update to enhance robustness for HAL SMARTCARD driver</li>
<li>Major Update to improve performance in polling/interrupt mode to reach max frequency:
<ul>
<li>Polling mode :
<ul>
<li>Use API data pointer instead of SMARTCARD handle data pointer.</li>
<li>Update HAL SMARTCARD Transmit/Receive processes to support Word Length 9 Bits with/No parity transfer</li>
</ul></li>
<li>Interrupt mode
<ul>
<li>Minimize access on SMARTCARD registers.</li>
<li>Split the SMARTCARD modes into dedicated static functions to minimize checking statements under HAL_IRQHandler():
<ul>
<li>8 bit/ 16 bits data formats</li>
</ul></li>
</ul></li>
<li>All modes:
<ul>
<li>Update Timeout management to check on global process.</li>
<li>Update Error code management in all processes.</li>
</ul></li>
</ul></li>
</ul></li>
<li><strong>HAL IrDA</strong> update
<ul>
<li>General update to enhance robustness for HAL IrDA driver</li>
<li>Update HAL IrDA Transmit/Receive processes to support Word Length 9 Bits with/No parity transfer</li>
<li>Remove unused IRDA_ControlTypeDef() enumeration</li>
</ul></li>
<li><strong>LL/HAL RCC</strong> update
<ul>
<li>Add new LL/HAL macros
<ul>
<li>LL_RCC_PLL_SetMainSource() allowing to configure PLL main clock source</li>
<li>__HAL_RCC_GET_RTC_SOURCE() allowing to get the RTC clock source</li>
</ul></li>
<li>Update HAL_RCC_ClockConfig() API to:
<ul>
<li>update to use __HAL_FLASH_GET_LATENCY() flash macro instead of using direct register access to LATENCY bits in FLASH ACR register.</li>
</ul></li>
<li>Update HAL_RCC_DeInit() and LL_RCC_DeInit() APIs to:
<ul>
<li>Add checks for HSI and PLL ready before modifying RCC CFGR registers</li>
<li>Clear all interrupt flags</li>
</ul></li>
</ul></li>
<li><strong>HAL/LL USB</strong> update
<ul>
<li>Add stm32f3xx_ll_usb.c/h driver</li>
<li>cleanup reference to low speed in device mode</li>
<li>Software Quality improvement with a fix of CodeSonar warning on PCD_Port_IRQHandler() interrupt handlers</li>
<li>Remove wrongly coded PCD_GET6_DB_DIR macro</li>
<li>Improve software quality to be MISRA-C 2012 and CodeSonar compliant</li>
<li>STM32F3 Fix USB Exti Wakeup signal by removing non used macro</li>
<li>Ensure 16bits access to USB PMA</li>
<li>Make sure to set correct count for receive fifo</li>
<li>Rework USB BCD driver and fix required timing to initiate primary and secondary detection</li>
<li>Prevent clearing CTR_RX and CTR_TX flags when setting the EP type</li>
<li>Add error check during USB init</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_5_2" aria-hidden="true"> <label for="collapse-section1_5_2" aria-hidden="true"><strong>V1.5.2 / 12-June-2018</strong></label>
<div>
<h2 id="main-changes-4">Main Changes</h2>
<ul>
<li><strong>Maintenance release to fix known defects and enhancements implementation</strong></li>
<li><strong>Generic drivers changes</strong></li>
<li>Some global variables on stm32xxx_hal.c updated to be declared as extern</li>
<li><strong>HAL drivers changes</strong></li>
<li><strong>The following changes done on the HAL drivers require an update on the application code based on older HAL versions</strong></li>
<li><strong>Rework of HAL CAN driver (compatibility break)</strong>
<ul>
<li>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.</li>
<li>The new HAL CAN driver is the recommended version. It is located as usual in Drivers/STM32F3xx_HAL_Driver/Src and Drivers/STM32F3xx_HAL_Driver/Inc folders. It can be enabled through switch HAL_CAN_MODULE_ENABLED in stm32f3xx_hal_conf.h</li>
<li>The legacy HAL CAN driver is also present in the release in Drivers/STM32F3xx_HAL_Driver/Src/Legacy and Drivers/STM32F3xx_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 stm32f3xx_hal_conf.h</li>
</ul></li>
<li><strong>HAL</strong> update
<ul>
<li>Add definition of HAL_CAN_LEGACY_MODULE_ENABLED switch in stm32f3xx_hal_conf_template.h</li>
</ul></li>
<li><strong>HAL CAN</strong> update
<ul>
<li>Fields of CAN_InitTypeDef structure are reworked:
<ul>
<li>SJW to SyncJumpWidth, BS1 to TimeSeg1, BS2 to TimeSeg2, TTCM to TimeTriggeredMode, ABOM to AutoBusOff, AWUM to AutoWakeUp, NART to AutoRetransmission (inversed), RFLM to ReceiveFifoLocked and TXFP to TransmitFifoPriority</li>
</ul></li>
<li>HAL_CAN_Init() is split into both HAL_CAN_Init() and HAL_CAN_Start() API’s</li>
<li>HAL_CAN_Transmit() is replaced by HAL_CAN_AddTxMessage() to place Tx Request, then HAL_CAN_GetTxMailboxesFreeLevel() for polling until completion.</li>
<li>HAL_CAN_Transmit_IT() is replaced by HAL_CAN_ActivateNotification() to enable transmit IT, then HAL_CAN_AddTxMessage() for place Tx request.</li>
<li>HAL_CAN_Receive() is replaced by HAL_CAN_GetRxFifoFillLevel() for polling until reception, then HAL_CAN_GetRxMessage()</li>
<li>to get Rx message.</li>
<li>HAL_CAN_Receive_IT() is replaced by HAL_CAN_ActivateNotification() to enable receive IT, then HAL_CAN_GetRxMessage()</li>
<li>in the receivecallback to get Rx message</li>
<li>HAL_CAN_Slepp() is renamed as HAL_CAN_RequestSleep()</li>
<li>HAL_CAN_TxCpltCallback() is split into HAL_CAN_TxMailbox0CompleteCallback(), HAL_CAN_TxMailbox1CompleteCallback() and HAL_CAN_TxMailbox2CompleteCallback().</li>
<li>HAL_CAN_RxCpltCallback is split into HAL_CAN_RxFifo0MsgPendingCallback() and HAL_CAN_RxFifo1MsgPendingCallback().</li>
<li>More complete “How to use the new driver” is detailed in the driver header section itself.</li>
</ul></li>
<li><strong>HAL COMP</strong> update
<ul>
<li>Fix wrong configuration of Comparator 4 inverting input for stm32f301x8 device</li>
</ul></li>
<li><strong>HAL DMA</strong> update
<ul>
<li>Add clean of callbacks in HAL_DMA_DeInit() API</li>
</ul></li>
<li><strong>HAL HRTIM</strong> update
<ul>
<li>Add more flexibility on GetTimerIdxFromDMAHandle() static function</li>
</ul></li>
<li><strong>HAL RCC</strong> update
<ul>
<li>Update HAL_RCC_ClockConfig() API to:
<ul>
<li>check on null pointer</li>
<li>optimize code size by updating the handling method of the SWS bits</li>
<li>update to use __HAL_FLASH_GET_LATENCY() flash macro instead of using direct register access to LATENCY bits in FLASH ACR register.</li>
</ul></li>
<li>Update HAL_RCC_DeInit() API to
<ul>
<li>Be able to return HAL</li>
<li>Add checks for HSI and PLL ready before modifying RCC CFGR registers</li>
<li>Clear all interrupt flags</li>
<li>Initialize systick interrupt period</li>
</ul></li>
</ul></li>
<li><strong>HAL RTC</strong> update
<ul>
<li>Fix warning with static analysis: remove unused variables</li>
</ul></li>
<li><strong>HAL TIM</strong> update
<ul>
<li>Update HAL_TIMEx_OCN_xxxx() and HAL_TIMEx_PWMN_xxx() API description to remove support of TIM_CHANNEL_4</li>
<li>Add a note in functions header to perform timer reset when switching from Aligned counter mode to Edge counter mode (or reverse)</li>
</ul></li>
<li><strong>LL Drivers changes</strong></li>
<li><strong>LL TIM</strong>
<ul>
<li>Add a note in macros header to perform timer reset when switching from Aligned counter mode to Edge counter mode (or reverse)</li>
</ul></li>
<li><strong>LL UTILS</strong>
<ul>
<li>Remove the set of SysTick_CTRL_TICKINT bit in SysTick-&gt;CTRL from LL_InitTick()</li>
</ul></li>
<li><strong>LL RCC</strong>
<ul>
<li>Update LL_RCC_DeInit() API to
<ul>
<li>Be able to return LL status</li>
<li>Add checks for HSI and PLL ready before modifying RCC CFGR registers</li>
<li>Clear all interrupt flags</li>
</ul></li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_5_1" aria-hidden="true"> <label for="collapse-section1_5_1" aria-hidden="true"><strong>V1.5.1 / 11-May-2018</strong></label>
<div>
<h2 id="main-changes-5">Main Changes</h2>
<ul>
<li>General updates to fix known defects and enhancements implementation</li>
<li><strong>HAL Drivers changes</strong></li>
<li><strong>HAL</strong> update
<ul>
<li>Update HAL driver to allow user to change systick period to 1ms, 10 ms or 100 ms :
<ul>
<li>Add the following API’s :
<ul>
<li>HAL_GetTickPrio(): Returns a tick priority.</li>
<li>HAL_SetTickFreq(): Sets new tick frequency.</li>
<li>HAL_GetTickFreq(): Returns tick frequency.</li>
</ul></li>
</ul></li>
<li>Add HAL_TickFreqTypeDef enumeration for the different Tick Frequencies: 10 Hz, 100 Hz and 1KHz (default).</li>
<li>Update UNUSED() macro implementation to avoid GCC warning
<ul>
<li>The warning is detected when the UNUSED() macro is called from C++ file</li>
</ul></li>
<li>Update __weak and __packed defined values for ARM compiler</li>
<li>Update __ALIGN_BEGIN and __ALIGN_END defined values for ARM compiler</li>
</ul></li>
<li><strong>HAL I2C</strong> update
<ul>
<li>Update Interface APIs headers to remove confusing message about device address</li>
<li>Update I2C_WaitOnRXNEFlagUntilTimeout() to resolve a race condition between STOPF and RXNE Flags</li>
<li>Update I2C_TransferConfig() to fix wrong bit management</li>
</ul></li>
<li><strong>HAL SMBUS</strong> update
<ul>
<li>Update conditions on HAL SMBUS slave transfer APIs to avoid block on read or write operations</li>
</ul></li>
<li><strong>HAL FLASH</strong> update
<ul>
<li>HAL_FLASH_Unlock() update to return state error when the FLASH is already unlocked</li>
</ul></li>
<li><strong>HAL PCD</strong> update
<ul>
<li>Update redefinition of registers with adjusted address by adding volatile keyword to avoid unexpected change of Memory-mapped peripheral registers</li>
</ul></li>
<li><strong>LL Drivers changes</strong></li>
<li><strong>LL ADC</strong>
<ul>
<li>Update redefinition of registers with adjusted address by adding volatile keyword to avoid unexpected change of Memory-mapped peripheral registers</li>
</ul></li>
<li><strong>LL DAC</strong>
<ul>
<li>Update redefinition of registers with adjusted address by adding volatile keyword to avoid unexpected change of Memory-mapped peripheral registers</li>
</ul></li>
<li><strong>LL HRTIM</strong>
<ul>
<li>Update redefinition of registers with adjusted address by adding volatile keyword to avoid unexpected change of Memory-mapped peripheral registers</li>
</ul></li>
<li><strong>LL I2C</strong>
<ul>
<li>Update LL_I2C_HandleTransfer() to fix wrong bit management</li>
</ul></li>
<li><strong>LL RCC</strong>
<ul>
<li>Fix wrong defined value of LSI</li>
</ul></li>
<li><strong>LL RTC</strong>
<ul>
<li>LL RTC macros optimization:
<ul>
<li>LL_RTC_TIME_GetHour()</li>
<li>LL_RTC_TIME_GetMinute()</li>
<li>LL_RTC_TIME_GetSecond()</li>
<li>LL_RTC_DATE_GetYear()</li>
<li>LL_RTC_DATE_GetMonth()</li>
<li>LL_RTC_DATE_GetDay()</li>
<li>LL_RTC_ALMA_GetDay()</li>
<li>LL_RTC_ALMA_GetHour()</li>
<li>LL_RTC_ALMA_GetMinute()</li>
<li>LL_RTC_ALMA_GetSecond()</li>
<li>LL_RTC_ALMB_GetDay()</li>
<li>LL_RTC_ALMB_GetHour()</li>
<li>LL_RTC_ALMB_GetMinute()</li>
<li>LL_RTC_ALMB_GetSecond()</li>
</ul></li>
</ul></li>
<li><strong>LL SPI</strong>
<ul>
<li>Update LL_SPI_TransmitData8() and LL_SPI_TransmitData16() to fix compilation issues with GCC</li>
</ul></li>
<li><strong>LL TIM</strong>
<ul>
<li>Update redefinition of registers with adjusted address by adding volatile keyword to avoid unexpected change of Memory-mapped peripheral registers</li>
<li>Fix behavior of LL_TIM_IsEnabledUpdateEvent()</li>
</ul></li>
<li><strong>LL UTILS</strong>
<ul>
<li>Update LL_InitTick() to set SysTick_CTRL_TICKINT bit in SysTick-&gt;CTRL</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_5_0" aria-hidden="true"> <label for="collapse-section1_5_0" aria-hidden="true"><strong>V1.5.0 / 23-June-2017</strong></label>
<div>
<h2 id="main-changes-6">Main Changes</h2>
<ul>
<li><strong>Maintenance release to fix known defects and enhancements implementation</strong></li>
<li><strong>Generic drivers changes</strong></li>
<li>MISRA C 2004 rule 11.4 (A cast should not be performed between a pointer to object type and a different pointer to object type).</li>
<li>MISRA C 2004 rule 12.4 (The right-hand operand of a logical or I I operator shall not</li>
<li>contain side effects).</li>
<li>MISRA C 2004 rule 17.4 (Array indexing shall be the only allowed form of pointer arithmetic).</li>
<li>Remove uselesss cast (uint32_t ) cast in case of ‘U’ suffix.</li>
<li>Fix Code Sonar warnings (useless assignment, cast alters value, empty while statement …).</li>
<li>Minor improvement of Doxygen Tags for CHM UM generation.</li>
<li>Replace POSITION_VAL(xxx) macro by corresponding CMSIS_Pos definitions.</li>
<li><strong>HAL Drivers changes</strong></li>
<li><strong>The following changes done on the HAL drivers require an update on the application code based on HAL V1.4.0</strong>
<ul>
<li>HAL NAND driver: Overall driver rework with compatibility break versus previous HAL version (see below).</li>
</ul></li>
<li><strong>HAL</strong>
<ul>
<li>Correct RTC_PREDIV values (for LSI clock) in hal_timebase_rtc_alam_template.c and hal_timebase_rtc_wakeup_template.c</li>
<li>Add definition of USE_SPI_CRC in hal_conf_template.h</li>
<li>Modify HAL_Delay() function to guarantee minimum delay.</li>
<li>New API : HAL_GetUIDwx() read the unique device identifier word x.</li>
</ul></li>
<li><strong>HAL ADC</strong>
<ul>
<li>Remove unused literal ADC_EOC_SINGLE_SEQ_CONV.</li>
<li>Correct name of one ADC external trigger of regular group : ADC_EXTERNALTRIGCONV_T4_CC4.</li>
</ul></li>
<li><strong>HAL CAN</strong>
<ul>
<li>Add transmission abort when timeout is reached in HAL_CAN_Transmit().</li>
<li>Add management of overrun error.</li>
<li>Store missing FIFO number in received message.</li>
<li>Extend SET_BIT, CLEAR_BIT macro usage.</li>
<li>Allow possibility to receive messages from the 2 RX FIFOs in parallel via interrupt.</li>
<li>Fix message lost issue with specific sequence of transmit requests.</li>
</ul></li>
<li><strong>HAL COMP</strong>
<ul>
<li>COMP_WINDOWMODE literals clean-up according to family diversity.</li>
</ul></li>
<li><strong>HAL NAND</strong>
<ul>
<li>Overall driver rework in order to support NAND flash memories with higher capacities.</li>
<li>Add support of 16 bits addressing mode</li>
<li>API changes :
<ul>
<li>Add HAL_NAND_ConfigDevice() function</li>
<li>Split HAL_NAND_Read_Page(), HAL_NAND_Write_Page(), HAL_NAND_Read_SpareArea(), HAL_NAND_Write_SpareArea() in <em>8b and </em> 16b functions to select the proper addressing mode.</li>
</ul></li>
</ul></li>
<li><strong>HAL HRTIM</strong>
<ul>
<li>Modify __HAL_HRTIM_SETCLOCKPRESCALER macro to clear CKPSC and CKPSCx bits before setting new prescaler value.</li>
<li>Correct HRTIM_EVENTFASTMODE_DISABLE and HRTIM_EVENTFASTMODE_ENABLE defines.</li>
</ul></li>
<li><strong>HAL I2C</strong>
<ul>
<li>Editorial modification : astyle clean-up</li>
</ul></li>
<li><strong>HAL SMBUS</strong>
<ul>
<li>New API : Digital/Analog filter configuration with HAL_SMBUS_ConfigAnalogFilter() and HAL_SMBUS_ConfigDigitalFilter().</li>
</ul></li>
<li><strong>HAL PCD</strong>
<ul>
<li>Fix and Improve PCD_ReadPMA() API to prevent corrupting user buffer.</li>
<li>Minor changes in HAL_PCD_CLEAR_FLAG, PCD_CLEAR_TX/RX_EP_CTR macros.</li>
<li>Fix USB device remote wakeup issue.</li>
<li>USB PCD interrupt handler: remove useless usb device interrupts enable, already set during the pcd init.</li>
<li>Remove lock/unlock from USB receive and transmit endpoints.</li>
</ul></li>
<li><strong>HAL RTC</strong>
<ul>
<li>Correct RTC Time register initialization.</li>
</ul></li>
<li><strong>HAL SPI</strong>
<ul>
<li>Empty RXFIFO in case of end of MASTER transmission 2 lines.</li>
</ul></li>
<li><strong>HAL I2S</strong>
<ul>
<li>Fix full duplex I2S with circular DMA issues :
<ul>
<li>Don’t stop DMA at end of transfer</li>
<li>Solve synchroniszation issues between RX and TX.</li>
</ul></li>
</ul></li>
<li><strong>HAL TIM</strong>
<ul>
<li>Fix typo in __HAL_TIM_SET_PRESCALER macro.</li>
<li>Improvement of TIM DMA burst mode. Add 2 new API :
<ul>
<li>HAL_TIM_DMABurst_MultiWriteStart()</li>
<li>HAL_TIM_DMABurst_MultiReadStart()</li>
</ul></li>
<li>Add BRK2 (Break input 2 event) interrupt handler.</li>
<li>Update IRQ handler to use correct defines (TIM_FLAG_xxxx instead of TIM_IT_xxxx) to clear flag.</li>
</ul></li>
<li><strong>LL Drivers changes</strong></li>
<li><strong>LL ADC</strong>
<ul>
<li>Set TEMPSENSOR_CAL1_TEMP value to 30°C as specified in datasheet.</li>
</ul></li>
<li><strong>LL DMA</strong>
<ul>
<li>Replace SET_BIT macro by WRITE_REG in LL_DMA_ClearFlag_xxx() as DMA IFCR register is read only.</li>
<li>For better performances, CPAR and CMAR registers are updated by WRITE_REG macro instead of MODIFY_REG.</li>
</ul></li>
<li><strong>LL I2C</strong>
<ul>
<li>OA1EN bit of OAR1 register should be set only when own address different from 0 (0 reserved for General Call address).</li>
</ul></li>
<li><strong>LL RTC</strong>
<ul>
<li>Update LL_RTC_DATE_Get() function for better performances.</li>
</ul></li>
<li><strong>LL SPI</strong>
<ul>
<li>Remove LL_SPI_SR_UDR (available only for I2S feature).</li>
</ul></li>
<li><strong>LL_TIM</strong>
<ul>
<li>Add AutomaticOutput field initialization in LL_TIM_BDTR_StructInit().</li>
<li>Fix typo in __HAL_TIM_SET_PRESCALER macro.</li>
<li>Ensure write operation of BKE and BKP bits is effective by adding fake read operation to guarantee 1 APB clock cycle before function exit.</li>
<li>Exchange behavior between LL_TIM_EnableUpdateEvent() and LL_TIM_DisableUpdateEvent().</li>
</ul></li>
<li><strong>LL UTILS</strong>
<ul>
<li>Update function UTILS_EnablePLLAndSwitchSystem() to use current AHB prescaler for sysclk frequency calculation.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_4_0" aria-hidden="true"> <label for="collapse-section1_4_0" aria-hidden="true"><strong>V1.4.0 / 16-December-2016</strong></label>
<div>
<h2 id="main-changes-7">Main Changes</h2>
<ul>
<li><strong>Maintenance release to fix known defects and enhancements implementation</strong></li>
<li><strong>HAL Drivers changes</strong></li>
<li>Enhance HAL delay and time base implementation:
<ul>
<li>Add new templates stm32f0xx_hal_timebase_rtc_alarm_template.c, stm32f0xx_hal_timebase_rtc_wakeup_template.c and stm32f0xx_hal_timebase_tim_template.c which can be used to override the native HAL time base functions (defined as weak) to use either RTC or Timer as time base tick source. For more details about the usage of these drivers, please refer to HAL_TimeBase examples and FreeRTOS-based applications</li>
</ul></li>
<li><strong>The following changes done on the HAL drivers require an update on the application code based on HAL V1.3.0</strong></li>
<li><em>HAL CEC</em> driver: Overall driver rework with compatibility break versus previous HAL version
<ul>
<li>Remove HAL CEC polling Process functions: HAL_CEC_Transmit() and HAL_CEC_Receive()</li>
<li>Remove HAL CEC receive interrupt process function HAL_CEC_Receive_IT() and enable the “receive” mode during the Init phase</li>
<li>Rename HAL_CEC_GetReceivedFrameSize() API to HAL_CEC_GetLastReceivedFrameSize()</li>
<li>Add new HAL APIs: HAL_CEC_SetDeviceAddress() and HAL_CEC_ChangeRxBuffer()</li>
<li>Remove the ‘InitiatorAddress’ field from the CEC_InitTypeDef structure and manage it as a parameter in the HAL_CEC_Transmit_IT() function</li>
<li>Add new parameter ‘RxFrameSize’ in HAL_CEC_RxCpltCallback() function</li>
<li>Move CEC Rx buffer pointer from CEC_HandleTypeDef structure to CEC_InitTypeDef structure</li>
</ul></li>
<li><em>HAL TIM</em> driver : add one field (AutoReloadPreload) in TIM_Base_InitTypeDef structure</li>
<li><strong>HAL Generic</strong>
<ul>
<li>Update HAL Driver compliance with:
<ul>
<li>MISRA C 2004 rule 10.6 (‘U’ suffix applied to all constants of ‘unsigned’ type)</li>
</ul></li>
</ul></li>
<li><strong>HAL CEC</strong>
<ul>
<li>Overall driver rework with break of compatibility with HAL V1.3.0
<ul>
<li>Remove the HAL CEC polling Process: HAL_CEC_Transmit() and HAL_CEC_Receive()</li>
<li>Remove the HAL CEC receive interrupt process (HAL_CEC_Receive_IT()) and manage the “Receive” mode enable within the Init phase</li>
<li>Rename HAL_CEC_GetReceivedFrameSize() function to HAL_CEC_GetLastReceivedFrameSize() function</li>
<li>Add new HAL APIs: HAL_CEC_SetDeviceAddress() and HAL_CEC_ChangeRxBuffer()</li>
<li>Remove the ‘InitiatorAddress’ field from the CEC_InitTypeDef structure and manage it as a parameter in the HAL_CEC_Transmit_IT() function</li>
<li>Add new parameter ‘RxFrameSize’ in HAL_CEC_RxCpltCallback() function</li>
<li>Move CEC Rx buffer pointer from CEC_HandleTypeDef structure to CEC_InitTypeDef structure</li>
</ul></li>
<li>Update driver to implement the new CEC state machine:
<ul>
<li>Add new “rxState” field in CEC_HandleTypeDef structure to provide the CEC state information related to Rx Operations</li>
<li>Rename “state” field in CEC_HandleTypeDef structure to “gstate”: CEC state information related to global Handle management and Tx Operations</li>
<li>Update CEC process to manage the new CEC states.</li>
<li>Update __HAL_CEC_RESET_HANDLE_STATE() macro to handle the new CEC state parameters (gState, rxState)</li>
</ul></li>
</ul></li>
<li><strong>HAL UART/USART/IRDA/SMARTCARD</strong>
<ul>
<li>IRQ Handler global optimization</li>
<li>New abort API: HAL_PPP_Abort(), HAL_PPP_Abort_IT()</li>
<li>Add error management in case of DMA transfer through HAL_DMA_Abort_IT() and DMA XferAbortCallback()</li>
<li>Polling management update:
<ul>
<li>The user Timeout value must be estimated for the overall process duration</li>
</ul></li>
</ul></li>
<li><strong>HAL SPI</strong>
<ul>
<li>Overall driver optimization to improve performance in polling/interrupt mode to reach maximum peripheral frequency
<ul>
<li>Polling mode:
<ul>
<li>Replace the use of SPI_WaitOnFlagUnitTimeout() function by “if” statement to check on RXNE/TXE flags while transferring data</li>
</ul></li>
<li>Interrupt mode:</li>
<li>Minimize access on SPI registers</li>
<li>All modes:
<ul>
<li>Add the USE_SPI_CRC switch to minimize the number of statements when CRC calculation is disabled</li>
<li>Update timeout management to check on global processes</li>
<li>Update error code management in all processes</li>
</ul></li>
<li>Fix regression in polling mode:
<ul>
<li>Add preparing data to transmit in case of slave mode in HAL_SPI_TransmitReceive() and HAL_SPI_Transmit()</li>
</ul></li>
<li>Fix regression in interrupt mode:
<ul>
<li>Add a wait on TXE flag in SPI_CloseTx_ISR() and in SPI_CloseTxRx_ISR()</li>
<li>Add to manage properly the overrun flag in SPI_CloseRxTx_ISR() and SPI_CloseRx_ISR()</li>
</ul></li>
<li>Prevent data packing mode in reception for STM32F302xC, STM32F303xC, STM32F373xC, STM32F358xx, STM32F378xx</li>
<li>Add check of DMA handle definition before calling HAL_SPI_Receive_DMA, HAL_SPI_Transmit_DMA, HAL_SPI_TransmitReceive_DMA</li>
<li>Updated HAL Driver compliance with MISRA C 2004 rules:
<ul>
<li>MISRA C 2004 rule 14.3 (a null statement shall only occur on a line by itself).</li>
<li>MISRA C 2004 rule 14.8 (statement forming the body of a switch, while, do … while or for statement shall be a compound statement).</li>
</ul></li>
</ul></li>
</ul></li>
<li><strong>HAL DMA</strong>
<ul>
<li>Global driver code optimization to reduce memory footprint</li>
<li>Add new APIs HAL_DMA_RegisterCallback() and HAL_DMA_UnRegisterCallback to register/unregister the different callbacks identified by the enum typedef HAL_DMA_CallbackIDTypeDef</li>
<li>Add new Error Code HAL_DMA_ERROR_NOT_SUPPORTED</li>
<li>Remove DMA HAL_DMA_STATE_READY_HALF &amp; HAL_DMA_STATE_ERROR states in HAL_DMA_StateTypeDef</li>
</ul></li>
<li><strong>HAL I2C</strong>
<ul>
<li>Disable I2C_OARx_EN bit before any configuration in OAR1 or 2 in HAL_I2C_Init()</li>
<li>Move I2C_NO_OPTION_FRAME in private section</li>
<li>Update IS_I2C_FASTMODEPLUS macro. Add I2C_FMP_NOT_SUPPORTED definition</li>
<li>Update HAL_I2C_Master_Sequential_Transmit_IT() function (wrong state check)</li>
<li>Add I2C_FIRST_AND_NEXT_FRAME option for I2C Sequential Transfer</li>
<li>On slave, reset LISTEN_TX state in case of direction change</li>
<li>Remove GCC warnings</li>
</ul></li>
<li><strong>HAL TIM</strong>
<ul>
<li>API update : add one field (AutoReloadPreload) in TIM_Base_InitTypeDef structure in order to set ARPE bit from TIMx_CR1 register</li>
<li>New API : add 2 macros (__HAL_TIM_ENABLE_OCxPRELOAD() and __HAL_TIM_DISABLE_OCxPRELOAD()) in order to set OCxPE bit from TIMx_CCMR1, TIMx_CCMR2 and TIMx_CCMR3 registers</li>
<li>Use MODIFY_REG macro to avoid wrong initialisation in ConfigBreakDeadTime()</li>
<li>Add TIM1 ETR remap enums for STM32F334xx devices</li>
<li>HAL_TIMEx_RemapConfig() prototype changed for STM32F334x8 device</li>
<li>Remove TIM_CR2_OIS2N, TIM_CR2_OIS3, TIM_CR2_OIS3N, TIM_CR2_OIS4 management for STM32F373xC and STM32F378xx devices</li>
<li>API update : Add __HAL_TIM_MOE_DISABLE_UNCONDITIONALLY() function to disable MOE bit without condition</li>
</ul></li>
<li><strong>HAL SMBUS</strong>
<ul>
<li>Remove useless XferSize field initialisation in HAL_SMBUS_Slave_Transmit_IT()</li>
<li>Add support of Zone read/write feature thanks to new XferOptions parameter values SMBUS_OTHER_FRAME_NO_PEC, SMBUS_OTHER_FRAME_WITH_PEC, SMBUS_OTHER_AND_LAST_FRAME_NO_PEC and SMBUS_OTHER_AND_LAST_FRAME_WITH_PEC</li>
</ul></li>
<li><strong>HAL PCD</strong>
<ul>
<li>Updated HAL Driver compliance with MISRA C 2004 rules : (10.3, 105)
<ul>
<li>MISRA C 2004 rule 10.3 (illegal explicit conversion from underlying MISRA type “unsigned int” to "uint32_t *").</li>
<li>MISRA C 2004 rule 10.5 (bitwise operators ~ and &lt;&lt;).</li>
<li>MISRA C 2004 rule 12.7 (bitwise operations not performed on signed integer types).</li>
</ul></li>
</ul></li>
<li><strong>HAL PWR</strong>
<ul>
<li>Rename PWR_CR register defines to be aligned with STM32F3xx Reference Manual : SDADCxEN ==&gt; ENSDx</li>
</ul></li>
<li><strong>HAL RCC</strong>
<ul>
<li>Rename RCC_CFGR register defines to be aligned with STM32F3xx Reference Manual : SDADCPRE ==&gt; SDPRE</li>
</ul></li>
<li><strong>HAL CORTEX</strong>
<ul>
<li>Update HAL_MPU_Disable() to clear the whole control register. Also remove STATIC INLINE and move function to c file</li>
</ul></li>
<li><strong>HAL CAN</strong>
<ul>
<li>Add __HAL_UNLOCK() call when all mailboxes are busy</li>
<li>Add __HAL_CAN_CANCEL_TRANSMIT() call to abort transmission when timeout is reached</li>
</ul></li>
<li><strong>HAL ADC</strong>
<ul>
<li>Add ADC_EXTERNALTRIGINJECCONV_T2_CC1 and ADC_EXTERNALTRIGINJECCONV_T2_TRGO definitions</li>
</ul></li>
<li><strong>LL Drivers changes</strong></li>
<li><strong>LL COMP</strong>
<ul>
<li>Creation of generic defines for defines specific to COMP instances</li>
<li>Modify definition of LL_COMP_OUTPUT_TIM4_IC2_COMP4, LL_COMP_OUTPUT_TIM4_IC3_COMP5 and LL_COMP_OUTPUT_TIM4_IC4_COMP6 literals</li>
<li>Rename LL_COMP_OUTPUT_TIM1_IC4_COMP2 and LL_COMP_OUTPUT_TIM1_IC4_COMP1_2 in LL_COMP_OUTPUT_TIM2_IC4_COMP2 and LL_COMP_OUTPUT_TIM2_IC4_COMP1_2</li>
<li>Correct COMP inputs definition</li>
</ul></li>
<li><strong>LL EXTI</strong>
<ul>
<li>Move LL_EXTI_LINE_18, LL_EXTI_LINE_33, LL_EXTI_LINE_34, LL_EXTI_LINE_35, LL_EXTI_LINE_36, LL_EXTI_LINE_37, LL_EXTI_LINE_38 and LL_EXTI_LINE_39 defines under compilation switch (availability depends on devices)</li>
</ul></li>
<li><strong>LL PWR</strong>
<ul>
<li>Rename PWR_CR register defines to be aligned with STM32F3xx Reference Manual : SDADCxEN ==&gt; ENSDx</li>
</ul></li>
<li><strong>LL RCC</strong>
<ul>
<li>Rename RCC_CFGR register defines to be aligned with STM32F3xx Reference Manual : SDADCPRE ==&gt; SDPRE</li>
</ul></li>
<li><strong>LL SYSTEM</strong>
<ul>
<li>Add LL_SYSCFG_EnableIT_FPU_xxx functions</li>
<li>Replace LL_SYSCFG_TIM18_RMP_DMA2_CH4 and LL_SYSCFG_TIM18_RMP_DMA1_CH4 by LL_SYSCFG_TIM18_RMP_DMA2_CH5 and LL_SYSCFG_TIM18_RMP_DMA1_CH5</li>
</ul></li>
<li><strong>LL GPIO</strong>
<ul>
<li>Remove LL_GPIO_SPEED_FREQ_VERY_HIGH (GPIO_SPEED_FREQ_VERY_HIGH does not exist for STM32F3xx series)</li>
</ul></li>
<li><strong>LL_TIM</strong>
<ul>
<li>Rename LL_TIM_TIM16_TI1_RMP defines : LL_TIM_TIM16_TI1_RMP_GPIO, LL_TIM_TIM16_TI1_RMP_RTC, LL_TIM_TIM16_TI1_RMP_HSE_32, LL_TIM_TIM16_TI1_RMP_MCO</li>
<li>Remove TIM_CR2_OIS2N, TIM_CR2_OIS3, TIM_CR2_OIS3N, TIM_CR2_OIS4 management for STM32F373xC and STM32F378xx devices</li>
<li>Move LL_TIM_OCREF_CLR_INT_OCREF_CLR and LL_TIM_OCREF_CLR_INT_ETR defines under compilation switch (availability depends on devices)</li>
<li>New APIs to insure BDTR register initialization in a single write operation
<ul>
<li>LL_TIM_BDTR_StructInit()</li>
<li>LL_TIM_BDTR_Init()</li>
</ul></li>
</ul></li>
<li><strong>LL USART</strong>
<ul>
<li>Replace POSITION_VAL(xxx) macro by corresponding CMSIS_Pos definitions</li>
</ul></li>
<li><strong>LL HRTIM</strong>
<ul>
<li>Replace POSITION_VAL(xxx) macro by corresponding CMSIS_Pos definitions</li>
<li>Add shift operation in HRTIM_TIM_SetCompareMode()</li>
</ul></li>
<li><strong>LL_I2C</strong>
<ul>
<li>Replace POSITION_VAL(xxx) macro by corresponding CMSIS_Pos definitions</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_3_0" aria-hidden="true"> <label for="collapse-section1_3_0" aria-hidden="true"><strong>V1.3.0 / 01-July-2016</strong></label>
<div>
<h2 id="main-changes-8">Main Changes</h2>
<ul>
<li><strong>First official release supporting the Low Level drivers for the STM32F3xx series:</strong>
<ul>
<li>Low Layer drivers APIs provide register level programming:</li>
<li>they require deep knowledge of peripherals described in STM32F3xx Reference Manual.</li>
<li>Low Layer drivers are available for ADC, COMP, Cortex, CRC, DAC, DMA, EXTI, GPIO, HRTIM, I2C, IWDG, OPAMP, PWR,</li>
<li>RCC, RTC, SPI, TIM, USART and WWDG peripherals and additional Low Level Bus, System and Utilities APIs.</li>
<li>Low Layer drivers APIs are implemented as static inline function in new Inc/stm32f3xx_ll_ppp.h files for PPP peripherals, there is no configuration file and each stm32f3xx_ll_ppp.h file must be included in user code.</li>
</ul></li>
<li><strong>Maintenance release to fix known defects and enhancements implementation.</strong></li>
<li><strong>HAL generic</strong>
<ul>
<li>Updated.</li>
</ul></li>
<li><strong>HAL ADC</strong>
<ul>
<li>Updated assert_param within HAL_ADCEx_MultiModeConfigChannel() function to avoid issue during ADC configuration change from multimode to independent mode.</li>
</ul></li>
<li><strong>HAL CRC</strong>
<ul>
<li>Updated HAL_CRC_DeInit() function (restored IDR Register to Reset value).</li>
</ul></li>
<li><strong>HAL GPIO</strong>
<ul>
<li>Updated definition of IS_GPIO_PIN private macro to cover full u32 bits.</li>
</ul></li>
<li><strong>HAL HRTIM</strong>
<ul>
<li>Updated HAL HRTIM Driver compliance with MISRA C 2004 rules:
<ul>
<li>MISRA C 2004 rule 12.5 (operands of a logical &amp;&amp; or || shall be primary-expressions).</li>
<li>MISRA C 2004 rule 15.3 (final clause of a switch statement shall be the default clause).</li>
</ul></li>
</ul></li>
<li><strong>HAL I2C</strong>
<ul>
<li>Updated I2C driver documentation concerning I2C address management.</li>
</ul></li>
<li><strong>HAL IWDG</strong>
<ul>
<li>New simplified HAL IWDG driver: removed HAL_IWDG_Start(), HAL_IWDG_MspInit() and HAL_IWDG_GetState() APIs.</li>
<li>The API functions are:
<ul>
<li>HAL_IWDG_Init(): this function insures the configuration and the start of the IWDG counter.</li>
<li>HAL_IWDG_Refresh(): this function insures the reload of the IWDG counter.</li>
</ul></li>
</ul></li>
<li><strong>HAL PWR</strong>
<ul>
<li>Aligned Power Wake-Up pins EWUPx definitions on CMSIS definitions.</li>
</ul></li>
<li><strong>HAL RTC</strong>
<ul>
<li>Updated HAL_RTCEx_SetWakeUpTimer_IT() function by adding clear of Wake-Up flag before enabling the interrupt.</li>
</ul></li>
<li><strong>HAL SMBUS</strong>
<ul>
<li>Updated SMBUS driver documentation concerning SMBUS address management.</li>
</ul></li>
<li><strong>HAL SDADC</strong>
<ul>
<li>Updated HAL SDADC Driver compliance with MISRA C 2004 rules:
<ul>
<li>MISRA C 2004 rule 10.3 (illegal explicit conversion from type “unsigned int” to "uint16_t *).</li>
</ul></li>
</ul></li>
<li><strong>HAL SPI</strong>
<ul>
<li>Updated __SPI_HandleTypeDef definition by using __IO uint16_t type for TxXferCount and RxXferCount.</li>
<li>Updated SPI_2linesTxISR_8BIT() and SPI_2linesTxISR_16BIT() functions: added return so that SPI_2linesTxISR_8BITCRC() or SPI_2linesTxISR_16BITCRC() function is called from HAL_SPI_TransmitReceive_IT() when CRC is activated.</li>
<li>Updated SPI Driver compliance with MISRA C 2004 rule 5.2 (identifiers in an inner scope shall not use the same name as an identifier in an outer scope).</li>
</ul></li>
<li><strong>HAL WWDG</strong>
<ul>
<li>New simplified HAL WWDG driver: removed HAL_WWDG_Start(), HAL_WWDG_Start_IT(), HAL_WWDG_MspDeInit() and HAL_WWDG_GetState() APIs.</li>
<li>Updated HAL_WWDG_Refresh() API to remove counter parameter.</li>
<li>New field EWIMode in WWDG_InitTypeDef to specify need for Early Wakeup Interrupt.</li>
<li>The API functions are: HAL_WWDG_Init(), HAL_WWDG_MspInit(), HAL_WWDG_Refresh(), HAL_WWDG_IRQHandler() and HAL_WWDG_EarlyWakeupCallback().</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_2_1" aria-hidden="true"> <label for="collapse-section1_2_1" aria-hidden="true"><strong>V1.2.1 / 29-April-2016</strong></label>
<div>
<h2 id="main-changes-9">Main Changes</h2>
<ul>
<li><strong>Maintenance release to fix known defects and enhancements implementation.</strong></li>
<li><strong>HAL generic</strong>
<ul>
<li>Updated HAL Driver compliance with MISRA C 2004 rules:
<ul>
<li>MISRA C 2004 rule 10.6 (‘U’ suffix applied to all constants of ‘unsigned’ type).</li>
<li>MISRA C 2004 rule 10.5 (bitwise operators ~ and &lt;&lt;).</li>
<li>MISRA C 2004 rule 12.6 (operands of logical operators (&amp;&amp;, || and !) should be effectively Boolean).</li>
<li>MISRA C 2004 rule 12.7 (bitwise operations not performed on signed integer types).</li>
<li>MISRA C 2004 rule 14.3 (a null statement shall only occur on a line by itself).</li>
<li>MISRA C 2004 rule 14.8 (statement forming the body of a switch, while, do … while or for statement shall be a compound statement).</li>
<li>MISRA C 2004 rule 15.3 (final clause of a switch statement shall be the default clause).</li>
<li>MISRA C 2004 rule 16.4 (identifiers used in the declaration and definition of a function shall be identical).</li>
</ul></li>
<li>Updated HAL weak empty callbacks to prevent unused argument compilation warnings.</li>
<li>Updated stm32f3xx_hal_conf.h files:</li>
<li>Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms.</li>
</ul></li>
<li><strong>HAL</strong>
<ul>
<li>Changed uwTick to global to allow overwrite of HAL_IncTick().</li>
</ul></li>
<li><strong>HAL COMP</strong>
<ul>
<li>Added delay in COMP startup time required to reach propagation delay specification.</li>
<li>Added missing __HAL_UNLOCK, __HAL_LOCK in HAL_COMP_Start().</li>
<li>Modified COMP_INVERTINGINPUT_SELECTION() macro as COMP inverting inputs selection, depends on COMPx instance.</li>
</ul></li>
<li><strong>HAL DAC</strong>
<ul>
<li>Updated DAC functions after DAC_CR_BOFFx/DAC_CR_OUTENx bit definition updates.</li>
</ul></li>
<li><strong>HAL DMA</strong>
<ul>
<li>Added __HAL_DMA_GET_COUNTER() macro returning the number of remaining data units in the current DMA Channel transfer.</li>
<li>Provided new function HAL_DMA_Abort_IT() to abort current DMA transfer under interrupt mode without polling for DMA enable bit.</li>
</ul></li>
<li><strong>HAL GPIO</strong>
<ul>
<li>Added macros to manage Fast Mode Plus on GPIOs.</li>
</ul></li>
<li><strong>HAL FMC</strong>
<ul>
<li>Removed private macro IS_FMC_PAGESIZE not supported by STM32F3xx series.</li>
</ul></li>
<li><strong>HAL I2C</strong>
<ul>
<li>Aligned I2C driver with new state machine definition.</li>
<li>Updated __HAL_I2C_DISABLE_IT macro.</li>
<li>Used macro definition for I2C instances supporting Wakeup from Stop mode.</li>
<li>Added support of repeated start feature in case of multimaster mode (allow master to keep I2C communication with slave).</li>
<li>Updated WaitOnFlag management (timeout measurement should be always cumulative).</li>
<li>Optimized HAL_I2C_XX_IRQHandler() functions (read status registers only once).</li>
<li>Reworked DMA end process and I2C error management during DMA transfer.</li>
<li>Modified HAL_I2C_Master_Transmit to handle sending data of size 0.</li>
<li>Updated DMA Abort management: used new HAL_DMA_Abort() function and called HAL_I2C_ErrorCallback() when errors occur during DMA transfer.</li>
</ul></li>
<li><strong>HAL I2S</strong>
<ul>
<li>Removed support of I2S full-duplex feature on STM32F301x8 device.</li>
</ul></li>
<li><strong>HAL IRDA</strong>
<ul>
<li>Reviewed IRDA state machine to avoid cases where IRDA state is overwritten by IRDA IRQ.</li>
<li>Modified EIE bit setting in Tx and Rx transfers (Interrupt mode).</li>
<li>Modified IRDA_Receive_IT() to execute the RX flush request only in case no data is read from RDR.</li>
<li>Updated IRDA_SetConfig() function following UART Baudrate calculation update.</li>
</ul></li>
<li><strong>HAL FMC</strong>
<ul>
<li>Updated FMC_NORSRAM_Init() function (BurstAccessMode field configuration).</li>
<li>Added FMC_BCR1_CCLKEN in the BCR register clear mask used for FMC_NORSRAM_Init().</li>
</ul></li>
<li><strong>HAL OPAMP</strong>
<ul>
<li>Updated definitions of OPAMP Non Inverting Input constants.</li>
</ul></li>
<li><strong>HAL RCC</strong>
<ul>
<li>Performed optimizations for internal oscillators and PLL startup time.</li>
<li>Performed optimizations for HAL_RCC_ClockConfig(), HAL_RCCEx_PeriphCLKConfig functions.</li>
<li>Modified reset of Backup domain only if the RTC Clock source selection is modified from reset value.</li>
<li>Updated HAL_RCC_OscConfig() function (Reset HSEON/LSEON and HSEBYP/LSEBYP bits before configuring the HSE/LSE).</li>
<li>Corrected updates of SystemCoreClock variable within the HAL drivers.</li>
<li>Corrected invertion in LSE drive capability Bit definition.</li>
<li>Modified AHBPrescTable and APBPrescTable in HAL.</li>
<li>Removed RCC_CFGR_PLLNODIV bit definition from STM32F358xx, STM32F303xC and STM32F302xC devices.</li>
<li>Removed RCC_CSR_VREGRSTF bit definition in RCC_CSR register for STM32F303xC and STM32F303xE devices.</li>
<li>Removed USART2 and USART3 clock switch in RCC_CFGR3 register not supported by STM32F303x8, STM32F334x8</li>
<li>and STM32F328xx devices and for STM32F301x8, STM32F302x8 and STM32F318xx devices.</li>
<li>Removed RCC_CSR_V18PWRRSTF bit definition in RCC_CSR register not supported by STM32F318xx, STM32F328xx, STM32F358xx, STM32F378xx and STM32F398xx devices.</li>
<li>Removed flag RCC_FLAG_RMV which is write only.</li>
<li>Added RCC_CFGR_xxxx_BITNUMBER definitions for portability between STM32 series.</li>
<li>Updated HAL_RCC_OscConfig() function to enable PWR only if necessary for LSE configuration.</li>
</ul></li>
<li><strong>HAL RTC</strong>
<ul>
<li>Added missing Tamper definitions (RTC_TAFCR register).</li>
</ul></li>
<li><strong>HAL SMARTCARD</strong>
<ul>
<li>Reviewed SMARTCARD state machine to avoid cases where SMARTCARD state is overwritten by SMARTCARD IRQ.</li>
<li>Modified SMARTCARD_Receive_IT() to execute the RX flush request only in case no data is read from RDR.</li>
<li>Added SMARTCARD_STOPBITS_0_5 definition used for smartcard mode.</li>
<li>Updated SMARTCARD_SetConfig() function following UART Baudrate calculation update.</li>
</ul></li>
<li><strong>HAL SPI</strong>
<ul>
<li>Updated HAL_SPI_TransmitReceive() function in slave mode to receive correctly the CRC when NSS pulse activated.</li>
<li>Added missing __IO in SPI_HandleTypeDef definition.</li>
<li>Updated IS_SPI_CRC_POLYNOMIAL macro definition as polynomial value should be odd only.</li>
</ul></li>
<li><strong>HAL TIM</strong>
<ul>
<li>Updated HAL_TIM_ConfigOCrefClear() function to manage correctly TIM state (BUSY, READY).</li>
<li>Used IS_TIM_HALL_INTERFACE_INSTANCE macro instead of IS_TIM_XOR_INSTANCE macro in</li>
<li>HAL_TIMEx_HallSensor_xxx() functions.</li>
<li>Updated TIM_SLAVEMODE constants definitions using CMSIS bit definitions.</li>
</ul></li>
<li><strong>HAL TSC</strong></li>
<li>Updated IO default state management.</li>
<li><strong>HAL UART-USART</strong>
<ul>
<li>Updated UART Baudrate calculation (UART_DIV_SAMPLING8() and UART_DIV_SAMPLING16() macros).</li>
<li>Updated USART_SetConfig() function following UART Baudrate calculation update.</li>
<li>Reviewed UART state machine to avoid cases where UART state is overwritten by UART IRQ.</li>
<li>Removed USART2 and USART3 clock switch, not supported by STM32F303x8, STM32F334x8 and STM32F328xx devices and for STM32F301x8, STM32F302x8 and STM32F318xx devices.</li>
<li>Modified UART_Receive_IT() to execute the RX flush request only in case no data is read from RDR.</li>
<li>Corrected macro used in assert_param of HAL_LIN_SendBreak() function.</li>
<li>Added UART_STOPBITS_0_5/USART_STOPBITS_0_5 definitions used for synchronous mode.</li>
</ul></li>
<li><strong>HAL USB</strong>
<ul>
<li>Corrected double buffer implementation in PCD_SET_EP_DBUF1_CNT() macro.</li>
</ul></li>
<li><strong>HAL WWDG</strong>
<ul>
<li>Aligned WWDG registers bits naming between all STM32 series.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_2_0" aria-hidden="true"> <label for="collapse-section1_2_0" aria-hidden="true"><strong>V1.2.0 / 13-November-2015</strong></label>
<div>
<h2 id="main-changes-10">Main Changes</h2>
<ul>
<li><strong>Performed HAL API alignment (macros/functions/constants renaming).</strong></li>
<li><strong>HAL generic</strong>
<ul>
<li>Provided/updated User Manual CHM files for STM32F334x8, STM32F373xC, STM32F303xC devices.</li>
<li>Updated HAL drivers to ensure compliance w/ C++.</li>
<li>Made corrections for MISRA rule: bitwise operators ~ and &lt;&lt; (MISRA C 2004 rule 10.5).</li>
<li>Used CMSIS mask definitions instead of hardcoded values.</li>
<li>Removed all the unused FLAG and IT assert macros.</li>
<li>Initialized Handle lock to HAL_UNLOCKED in HAL_PPP_Init() when state == HAL_PPP_STATE_RESET.</li>
<li>Updated stm32f3xx_hal_msp.c files:
<ul>
<li>Removed reference to MicroXplorer.</li>
</ul></li>
<li>Updated stm32f3xx_hal_conf.h files:
<ul>
<li>Added LSE_STARTUP_TIMEOUT definition.</li>
</ul></li>
<li>Updated stm32f3xx_hal_def.h file:
<ul>
<li>Added some generic defines (__NOINLINE).</li>
<li>Removed NULL redefinition.</li>
</ul></li>
</ul></li>
<li><strong>HAL ADC</strong>
<ul>
<li>Updated HAL ADC state machine updated. States changed from fixed literals to bitfields.</li>
<li>Added 3 new HAL ADC functions: HAL_ADCEx_RegularStop(), HAL_ADCEx_RegularStop_IT(), HAL_ADCEx_RegularStop_DMA(), to perform a ADC group regular conversion stop</li>
<li>while ADC group injected can remain with conversion on going.</li>
<li>Added 2 new HAL ADC functions: HAL_ADCEx_LevelOutOfWindow2Callback(), HAL_ADCEx_LevelOutOfWindow3Callback().</li>
<li>The 3 analog watchdog has its own callback function (AWD1 callback function is unchanged with HAL_ADC_LevelOutOfWindowCallback()).</li>
<li>Updated ADC multimode (for devices with several ADC instances).</li>
<li>Now takes into account mixed configuration: ADC group regular in multimode, ADC group injected in independent mode (and the opposite).</li>
<li>Updated ADC group injected use case when used with feature low power “auto-wait”:</li>
<li>updated function HAL_ADCEx_InjectedGetValue() which don’t clear anymore ADC flag EOS, and could cause some issues when using ADC group injected with high sampling rate.</li>
</ul></li>
<li><strong>HAL CAN</strong>
<ul>
<li>Added __HAL_UNLOCK(hcan) macro.</li>
<li>Modified CanTxMsgTypeDef/CanRxMsgTypeDef structures Data field.</li>
<li>Removed assert_param(IS_CAN_BANKNUMBER(sFilterConfig-&gt;BankNumber)) from HAL_CAN_ConfigFilter().</li>
</ul></li>
<li><strong>HAL CEC</strong>
<ul>
<li>Changed the HAL_CEC_ErrorTypeDef structure by separate defines.</li>
<li>Added CEC Flags Definitions(CEC_FLAG_TXACKE,…).</li>
<li>Add CEC Interrupts Definitions(CEC_IT_TXACKE,…).</li>
<li>Renamed CEC_ISR_XXX to CEC_FLAG_XXX.</li>
<li>Renamed CEC_IER_XXX to CEC_IT_XXX.</li>
<li>Added missing assert_param(IS_CEC_ALL_INSTANCE(hcec-&gt;Instance)); in In HAL_CEC_Init().</li>
<li>Added devices that supports CEC in device.h files.</li>
<li>Updated CEC Ready To Receive State in CEC_Transmit_IT().</li>
<li>Added new API HAL_CEC_GetReceivedFrameSize to get size of the received frame.</li>
</ul></li>
<li><strong>HAL COMP</strong>
<ul>
<li>Updated COMPEx_Output comment description and added test on instances.</li>
<li>Updated HAL_COMP_DeInit() to handle LOCKED state.</li>
<li>Added missing defines for COMP window mode (Sunfish).</li>
</ul></li>
<li><strong>HAL CORTEX</strong>
<ul>
<li>Removed __HAL_CORTEX_SYSTICKCLK_CONFIG macro, replaced by HAL_SYSTICK_CLKSourceConfig() function.</li>
<li>Added new CORTEX MPU APIs: HAL_MPU_ConfigRegion(), HAL_MPU_Disable(),HAL_MPU_Enable().</li>
<li>Added APIs to manage set/reset of SLEEPONEXIT and SEVONPEND bits in SCR register.</li>
<li>Added a check on negative parameter values for HAL_NVIC_DisableIRQ()/HAL_NVIC_EnableIRQ() functions.</li>
</ul></li>
<li><strong>HAL CRC</strong>
<ul>
<li>Updated CRC APIs comments.</li>
<li>Fixed MISRA C 2004 warnings (except 114, 12.4 and 14.7).</li>
<li>Updated __HAL_CRC_SET_IDR macro.</li>
</ul></li>
<li><strong>HAL DAC</strong>
<ul>
<li>Update HAL_DACEx_NoiseWaveGenerate() and HAL_DACEx_TriangleWaveGenerate() to reset DAC CR register before setting the new DAC config.</li>
<li>Added DAC_OUTPUTSWITCH_ENABLE constant.</li>
</ul></li>
<li><strong>HAL DMA</strong>
<ul>
<li>Reviewed HAL_DMA_PollForTransfer(). Added error code.</li>
</ul></li>
<li><strong>HAL FLASH/FMC</strong>
<ul>
<li>Added FLASH API HAL_FLASHEx_OBGetUserData() to get the value saved in User data option byte.</li>
<li>Aligned Return value of HAL_FLASH_EndOfOperationCallback function (0xFFFFFFF) when process is finished.</li>
<li>Updated function FLASH_OB_GetRDP() return value (FlagStatus (RESET,SET)).</li>
<li>Corrected way to set Flash read protection by performing an automatic option byte erase in FLASH_OB_RDP_LevelConfig function.</li>
<li>Updated Disable WRP to be compliant with other families.</li>
<li>Removed double definition of IS_OB_SDACD_VDD_MONITOR.</li>
<li>Added missing macro __HAL_FLASH_GET_LATENCY.</li>
<li>Corrected IS_OPTIONBYTE() macro in the case all option_OB are selected.</li>
<li>Updated HAL_NOR_GetStatus() (missing exit from waiting loop when timeout occurred).</li>
<li>Reviewed __ARRAY_ADDRESS macro and adapted tests to detect bad blocks.</li>
<li>Updated FMC_NORSRAM_Init()/FSMC_NORSRAM_Init() in order to not modify the default values for the reserved bits in the BTCR register.</li>
</ul></li>
<li><strong>HAL GPIO</strong>
<ul>
<li>Updated GPIO Output Speed literals naming to ensure HAL full compatibility.</li>
<li>Added only one define BSRR for BSRRH/BSRRL register.</li>
<li>Fixed issue to ensure interrupt mode is reset.</li>
<li>Reworked GPIO_GET_SOURCE() in order to check only existing GPIO bank.</li>
<li>Add new macro IS_GPIO_AF_INSTANCE to protect GPIO banks without alternate function register from being initialized as AF.</li>
</ul></li>
<li><strong>HAL HRTIM</strong>
<ul>
<li>Corrected bit definition for HRTIM_MCMPxR registers.</li>
<li>Corrected naming for delayed protection related constants.</li>
<li>Added missing assert in HAL_HRTIM_BurstModeConfig().</li>
<li>Added missing macros __HAL_FREEZE_ HRTIM1_DBGMCU(), __HAL_UNFREEZE_ HRTIM1_DBGMCU () to stop the HRTIM when the core is halted (to control the DBGMCU_APB2_FZ.DBG_HRTIM1_STOP bitfield).</li>
</ul></li>
<li><strong>HAL I2C</strong>
<ul>
<li>Corrected wrong management of AF after NACK.</li>
<li>Renamed I2C_CR1_DFN to I2C_CR1_DNF.</li>
<li>Corrected management of I2C state in the function I2C_MasterTransmit_ISR().</li>
<li>Re-introduced the MACROs to manage the FM+ capapbility on some GPIOs.</li>
</ul></li>
<li><strong>HAL I2S</strong>
<ul>
<li>Added DMA circular mode support for the communication peripherals.</li>
<li>Updated I2S HAL_I2S_Transmit() API on busy flag.</li>
</ul></li>
<li><strong>HAL IRDA</strong>
<ul>
<li>Added DMA circular mode support for the communication peripherals.</li>
<li>Implemented __HAL_UART_FLUSH_DRREGISTER macro, required by the In-Application Programming (IAP)</li>
<li>using the USART application.</li>
<li>Used new macro IS_UART_DMA_INSTANCE in assert_param() calls for IRDA DMA related primitives.</li>
<li>Changed UART TX-IT implementation to remove WaitOnFlag in ISR.</li>
<li>Fixed issue in IRDA DMA implementation: missed clear of the TC bit in the SR register.</li>
<li>Corrected definition of IS_IRDA_REQUEST_PARAMETER macro.</li>
<li>Modified Time Out management: report state READY instead of TIMEOUT.</li>
<li>Time-out information is reported by function output parameter.</li>
<li>Corrected PCLK source for USART1.</li>
</ul></li>
<li><strong>HAL OPAMP</strong>
<ul>
<li>Updated HAL_OPAMP_DeInit() to handle LOCKED state.</li>
<li>Added __HAL_UNLOCK in HAL_OPAMP_DeInit.</li>
<li>Removed InvertingInput ASSERT in HAL_OPAMP_Init() as it is not needed in PGA mode.</li>
<li>Updated definition of OPAMP_CSR_UPDATE_PARAMETERS_INIT_MASK in OPAMP Init.</li>
</ul></li>
<li><strong>HAL PWR</strong>
<ul>
<li>Fixed MISRA C 2004 warnings, resort to reference SET_BIT, CLEAR_BIT macros.</li>
<li>Updated Device information when missing, systematically added USE_FULL_ASSERT compilation switch.</li>
<li>Added local variables addition to suppress warnings.</li>
<li>Removed useless regulator parameter setting in HAL_PWR_EnterSLEEPMode().</li>
</ul></li>
<li><strong>HAL RCC</strong>
<ul>
<li>Renamed RCC_CFGR3_USART1SW_PCLK to RCC_CFGR3_USART1SW_PCLKx according to devices.</li>
<li>Added missing flag for RCC_CSR_VREGRSTF bit.</li>
<li>Added missing flag for RCC_CFGR_MCOF feature.</li>
<li>Added missing macro __HAL_RCC_LSEDRIVE_CONFIG.</li>
<li>Renamed IS_RCC_PERIPHCLK to IS_RCC_PERIPHCLOCK.</li>
<li>Renamed __HAL_RCC_MCO_CONFIG to __HAL_RCC_MCO1_CONFIG.</li>
<li>Updated RCC APIs to add interface HAL_RCCEx_GetPeriphCLKFreq.</li>
<li>Implemented workaround to cover RCC limitation regarding Peripheral enable delay.</li>
<li>Modified HAL_RCCEx_PeriphCLKConfig to reset backup domain only if RTC clock source has been changed.</li>
<li>Reworked __HAL_RCC_LSE_CONFIG macro to manage correctly LSE_Bypass.</li>
<li>Followed specific procedure to enable HSE.</li>
<li>Updated HAL_RCC_OscConfig() to modify check on LSEState.</li>
<li>Added PLL_DIV1 define missing from the RCC_MCO_Clock_Source defgroup.</li>
<li>Added new macro __HAL_RCC_IS_PWR_CLOCK_ENABLED() to replace condition on Peripheral Clock enable status.</li>
<li>Added new macro __HAL_RCC_SYSCLK_CONFIG() to configure the SYSCLK clock source.</li>
<li>Fixed issue in HAL_RCC_OscConfig when RCC_OscInitStruct-&gt;HSEState = RCC_HSE_BYPASS.</li>
</ul></li>
<li><strong>HAL RTC(BKP)</strong>
<ul>
<li>Updated list of backup registers definition.</li>
<li>Updated Bits mask literals used in macros definition.</li>
<li>Renamed RTC_OUTPUT_REMAP_XX and RTC_TIMESTAMPPIN_XX macros.</li>
<li>Updated definition of __HAL_RTC_TAMPER_TIMESTAMP_EXTI_GET_FLAG.</li>
<li>Aligned different implementations of HAL_RTC_XXIRQHandler().</li>
<li>Check the behavior of flag WUTWF and corrected update of wakeup counter registers.</li>
<li>Added subsecond fration formula in HAL_RTC_GetTime() function.</li>
</ul></li>
<li><strong>HAL SDADC</strong>
<ul>
<li>Applied ReferenceVoltage parameter in HAL_SDADC_Init() wathever instance.</li>
<li>Added new macros __HAL_SDADC_ENABLE_IT(), __HAL_SDADC_GET_IT_SOURCE(), __HAL_SDADC_GET_FLAG().</li>
</ul></li>
<li><strong>HAL SMARTCARD</strong>
<ul>
<li>Implemented __HAL_UART_FLUSH_DRREGISTER macro, required by the In-Application Programming (IAP)</li>
<li>using the USART application.</li>
<li>Changed UART TX-IT implementation to remove WaitOnFlag in ISR.</li>
<li>Added missing IDLE flag management.</li>
<li>Modified Time Out management: report state READY instead of TIMEOUT.</li>
<li>Time-out information is reported by function output parameter.</li>
<li>Corrected PCLK source for USART1.</li>
</ul></li>
<li><strong>HAL SPI</strong>
<ul>
<li>Improved SPI performances.</li>
<li>Added Fit Bit feedback (with BSY flag check) for all the process.</li>
<li>Updated function descriptions.</li>
<li>Fixed issue on Rx 2line with DataSize8bit, even buffer size and CRC 8bit.</li>
<li>Added DMA circular mode support for the communication peripherals.</li>
<li>Removed DMA Tx Callback in case of RxOnly mode from HAL_SPI_TransmitReceive_DMA().</li>
<li>Added HAL_SPI_GetError().</li>
</ul></li>
<li><strong>HAL TIM</strong>
<ul>
<li>Corrected assert checks in HAL_TIM_ConfigClockSource() when setting internal clock source.</li>
<li>Removed useless assert() in TIM functions.</li>
<li>Updated implementation of __HAL_TIM_SET_COMPARE macro.</li>
<li>Updated Repetition counter bits definition.</li>
<li>Modified HAL_TIM_ConfigOCrefClear() to avoid possible overwrite of SMCR register.</li>
<li>Removed assert on trigger polarity in the case TIM_TS_TI1F_ED.</li>
<li>Removed HAL_TIM_SlaveConfigSynchronization_DMA() from HAL_TIM APIs.</li>
<li>Added TIM edge modification macros: TIM_SET_CAPTUREPOLARITY(), TIM_RESET_CAPTUREPOLARITY(), __HAL_TIM_SET_CAPTUREPOLARITY.</li>
<li>Added URS_ENABLE, URS_DISABLE macros.</li>
<li>Changed Time Out management: report state READY instead of TIMEOUT.</li>
<li>Time-out information is reported by function output parameter.</li>
<li>Added new function HAL_TIM_SlaveConfigSynchronization_IT() to handle the trigger interrupt activation.</li>
</ul></li>
<li><strong>HAL TSC</strong>
<ul>
<li>Recovered IS_TSC_SS and IS_TSC_SSD macro definitions.</li>
</ul></li>
<li><strong>HAL UART-USART</strong>
<ul>
<li>Added DMA circular mode support for the communication peripherals.</li>
<li>Modified Time Out management: report state READY instead of TIMEOUT.</li>
<li>Time-out information is reported by function output parameter.</li>
<li>Changed UART_DMATransmitCplt() implementation to remove WaitOnFlag in ISR.</li>
<li>Implemented __HAL_UART_FLUSH_DRREGISTER macro, required by the In-Application Programming (IAP)</li>
<li>using the USART application.</li>
<li>Corrected behavior of HAL_UART_IRQ_Handler() (removed enabling/disabling of ERR IT source).</li>
<li>Added IS_UART_DMA_INSTANCE macro to sort UART instances supporting DMA communication.</li>
<li>Used new macro IS_UART_DMA_INSTANCE in assert_param() calls for UART DMA related primitives.</li>
<li>Changed UART TX-IT implementation to remove WaitOnFlag in ISR.</li>
<li>Added MACRO to UART HAL to control CTS and RTS from the customer application.</li>
<li>Renamed HAL_UART_WakeupCallback() in HAL_UARTEx_WakeupCallback().</li>
<li>Corrected setting of BRR register bit[3:0] when OVER8 sampling mode is used.</li>
<li>Corrected values used as parameter of __HAL_USART_CLEAR_IT() in HAL_USART_IRQHandler().</li>
<li>Updated HAL_USART_Init() to reach max frequencies (enable oversampling by 8).</li>
<li>Fixed issue in UART DMA implementation: missed clear of the TC bit in the SR register.</li>
<li>Added test in HAL_LIN_Init() as only 8-bit data length is available with USART Lin mode Data length.</li>
<li>Updated USART_IT_CM defined value.</li>
<li>Corrected PCLK source for USART1.</li>
</ul></li>
<li><strong>HAL USB/PCD</strong>
<ul>
<li>Corrected products define supporting USB feature.</li>
<li>Updated call to Double Buffering Counter Function.</li>
<li>Updated HAL PCD clear flag macros configuration.</li>
<li>Corrected issue in HAL_PCD_EP_Transmit() function, regarding the double-buffering mode for IN endpoints.</li>
</ul></li>
<li><strong>HAL WWDG</strong>
<ul>
<li>Updated IT macro management.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_1_1" aria-hidden="true"> <label for="collapse-section1_1_1" aria-hidden="true"><strong>V1.1.1 / 19-June-2015</strong></label>
<div>
<h2 id="main-changes-11">Main Changes</h2>
<ul>
<li>Fixed compilation warnings reported by TrueSTUDIO and SW4STM32 toolchains.</li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_1_0" aria-hidden="true"> <label for="collapse-section1_1_0" aria-hidden="true"><strong>V1.1.0 / 12-September-2014</strong></label>
<div>
<h2 id="main-changes-12">Main Changes</h2>
<ul>
<li><strong>First official release of STM32F3xx HAL drivers for STM32F303xE, STM32F302xE and STM32F398xx devices.</strong></li>
<li><strong>HAL generic</strong> update
<ul>
<li>Add support of new devices STM32F302xE and STM32F398xx in STM32F3xx HAL drivers</li>
</ul></li>
<li><strong>HAL ADC</strong>
<ul>
<li>Empty weak function return HAL_ERROR</li>
<li>Misra error corrections</li>
</ul></li>
<li><strong>HAL CORTEX</strong>
<ul>
<li>Macro IS_SYSTICK_CLKSOURCE renamed IS_SYSTICK_CLK_SOURCE</li>
</ul></li>
<li><strong>HAL DAC</strong>
<ul>
<li>Empty weak function return HAL_ERROR</li>
</ul></li>
<li><strong>HAL IWDG</strong>
<ul>
<li>Minor updates (HAL coding rules)</li>
</ul></li>
<li><strong>HAL PCD</strong>
<ul>
<li>Changed IN/OUT EndPoint parameter array size (PCD Handle Structure)</li>
</ul></li>
<li><strong>HAL RCC</strong>
<ul>
<li>RCC_MCOSOURCE_PLLCLK_DIV1 define added to RCC_MCO_Clock_Source defgroup for the following devices: STM32F302xE, STM32F303xE, STM32F398xx, STM32F303x8, STM32F328xx, STM32F301x8, STM32F302x8 and STM32F318xx</li>
</ul></li>
<li><strong>HAL SPI</strong>
<ul>
<li>Removed HAL_ prefix from static function names</li>
</ul></li>
<li><strong>HAL TIM</strong>
<ul>
<li>Checked DeadTime value in debug mode</li>
<li>Add new macros __HAL_TIM_URS_ENABLE() and __HAL_TIM_URS_DISABLE()</li>
</ul></li>
<li><strong>HAL WWDG</strong>
<ul>
<li>Minor updates (HAL coding rules)</li>
<li>Added macro __HAL_WWDG_CLEAR_IT()</li>
<li>Use MODIFY_REG() macro to set Prescaler, Window and Counter registers within HAL_WWDG_Init()</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_1_0_rc2" aria-hidden="true"> <label for="collapse-section1_1_0_rc2" aria-hidden="true"><strong>V1.5.2RC2 / 25-August-2014</strong></label>
<div>
<h2 id="main-changes-13">Main Changes</h2>
<ul>
<li><strong>HAL generic</strong> update
<ul>
<li>General improvement of Doxygen Tags for CHM UM generation</li>
<li>Add support of new devices <strong>STM32F303xE</strong> in STM32F3xx HAL driver</li>
</ul></li>
<li><strong>HAL</strong> update (for <strong>STM32F303xE</strong>)
<ul>
<li>Add new defines for ADC trigger remapping (HAL_REMAPADCTRIGGER_x)</li>
<li>Add new defines for CCM RAM page write protection (up to 16 pages can be write protected)</li>
<li>Add new macro IS_HAL_REMAPADCTRIGGER()</li>
<li>Updated macro IS_HAL_SYSCFG_WP_PAGE ()</li>
<li>Add new macros to freeze/unfreeze TIM20 in debug mode: __HAL_FREEZE_TIM20_DBGMCU() and __HAL_UNFREEZE_TIM20_DBGMCU()</li>
<li>Add new macro to remap the FMC banks 1 and 2 at 0x00000000 : __HAL_FMC_BANK()</li>
<li>Add new macros to enable/disable ADC trigger remapping: __HAL_REMAPADCTRIGGER_ENABLE() and __HAL_REMAPADCTRIGGER_DISABLE()</li>
</ul></li>
<li><strong>HAL ADC</strong> update (for <strong>STM32F303xE</strong>)
<ul>
<li>Add new defines for TIM20 related ADC external triggers for regular groups (ADC_EXTERNALTRIGCONV_T20_x)</li>
<li>Add new defines for TIM20 related ADC external triggers for injected groups (ADC_EXTERNALTRIGINJECCONV_T20_x)</li>
<li>Updated macro __HAL_ADC_CFGR_EXTSEL() to take into account TIM20 related ADC triggers for regular channels</li>
<li>Updated macro __HAL_ADC_JSQR_JEXTSEL() to take into account TIM20 related ADC triggers for injected channels</li>
</ul></li>
<li><strong>HAL COMP</strong> update
<ul>
<li>Defect correction:
<ul>
<li>Missing assert param IS_COMP_TRIGGERMODE</li>
</ul></li>
<li>STM32F303xE:
<ul>
<li>Add new defines for comparator output redirection: COMP_OUTPUT_TIM20BKIN, COMP_OUTPUT_TIM20BKIN2, COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2_TIM20BKIN2 and COMP_OUTPUT_TIM20OCREFCLR</li>
</ul></li>
</ul></li>
<li><strong>HAL FLASH</strong> update (for <strong>STM32F303xE</strong>)
<ul>
<li>Add new defines for write protection of pages 32 to 61 and 62-263 (OB_WRP_PAGESxxTOyy)</li>
</ul></li>
<li><strong>HAL GPIO</strong> update (for <strong>STM32F303xE</strong>)
<ul>
<li>Add new defines for TIM20 and FMC related AF: GPIO_AF2_TIM20, GPIO_AF3_TIM20, GPIO_AF6_TIM20 and GPIO_AF12_FMC</li>
</ul></li>
<li><strong>HAL IRDA</strong> update
<ul>
<li>TC enabled and TXE disabled at the end of TX in IT mode</li>
</ul></li>
<li><strong>HAL NAND (STM32F303xE specific)</strong>
<ul>
<li>FMC: generic firmware to drive NAND memories mounted as external device</li>
</ul></li>
<li><strong>HAL NOR (STM32F303xE specific)</strong>
<ul>
<li>FMC: generic firmware to drive NOR memories mounted as external device</li>
</ul></li>
<li><strong>HAL PCCARD (STM32F303xE specific)</strong>
<ul>
<li>FMC: generic firmware to drive PCCARD memories mounted as external device</li>
</ul></li>
<li><strong>HAL PCD</strong> update
<ul>
<li>Add new macros __HAL_USB_EXTI_GET_FLAG() , __HAL_USB_EXTI_CLEAR_FLAG(), __HAL_USB_EXTI_SET_RISING_EDGE_TRIGGER(), __HAL_USB_EXTI_SET_FALLING_EDGE_TRIGGER() and _HAL_USB_EXTI_SET_FALLINGRISING_TRIGGER()</li>
</ul></li>
<li><strong>HAL PWR</strong> update
<ul>
<li>PVD feature need falling/rising Event modes</li>
<li>Rename defines:
<ul>
<li>PWR_MODE_EVT to PWR_PVD_MODE_NORMAL</li>
<li>PWR_MODE_IT_RISING to PWR_PVD_MODE_IT_RISING</li>
<li>PWR_MODE_IT_FALLING to PWR_PVD_MODE_IT_FALLING</li>
<li>PWR_MODE_IT_RISING_FALLING to PWR_PVD_MODE_IT_RISING_FALLING</li>
<li>PWR_MODE_IT_RISING to PWR_PVD_MODE_IT_RISING</li>
</ul></li>
<li>Add new defines: PWR_PVD_MODE_EVENT_RISING, PWR_PVD_MODE_EVENT_FALLING and PWR_PVD_MODE_EVENT_RISING_FALLING</li>
<li>Changed __HAL_PVD_EXTI_ENABLE_IT() macro definition: EXTILINE argument no longer needed (PWR_EXTI_LINE_PVD is used implicitly)</li>
<li>Changed __HAL_PVD_EXTI_DISABLE_IT() macro definition: EXTILINE argument no longer needed (PWR_EXTI_LINE_PVD is used implicitly)</li>
<li>Changed __HAL_PVD_EXTI_GET_FLAG () macro definition: EXTILINE argument no longer needed (PWR_EXTI_LINE_PVD is used implicitly)</li>
<li>Changed _HAL_PVD_EXTI_CLEAR_FLAG () macro definition: <strong>EXTILINE</strong> argument no longer needed (PWR_EXTI_LINE_PVD is used implicitly)</li>
<li>Add new macros __HAL_PWR_PVD_EXTI_ENABLE_EVENT(), __HAL_PWR_PVD_EXTI_DISABLE_EVENT(), __HAL_PWR_PVD_EXTI_CLEAR_EGDE_TRIGGER(), __HAL_PWR_PVD_EXTI_SET_FALLING_EGDE_TRIGGER() and __HAL_PWR_PVD_EXTI_SET_RISING_EDGE_TRIGGER()</li>
</ul></li>
<li><strong>HAL RCC</strong> update (for <strong>STM32F303xE)</strong>
<ul>
<li>RCC_OcsInitTypeDef and RCC_PLLInitTypeDef definitions are now product dependent:
<ul>
<li>STM32F303xE:
<ul>
<li>Added PREDIV field to RCC_PLLInitTypeDef: used to set the desired pre-division factor whatever the PLL clock source is (HSI or HSE).</li>
<li>Removed field HSEPredivValue from RCC_OscInitTypeDef (replaced by PREDIV field in RCC_PLLInitTypeDef)</li>
</ul></li>
</ul></li>
<li>Other F3 products: no change in RCC_OcsInitTypeDef and RCC_PLLInitTypeDef definitions</li>
<li>Add new definition of RCC_PeriphCLKInitTypeDef to fit STM32F303xE clock selection capabilities (e.g select TIM20 clock source)</li>
<li>Add new defines to select the pre-division factor (RCC_PREDIV_DIVx)</li>
<li>Add new defines to set TIM20 clock source (RCC_PERIPHCLK_TIM20, RCC_TIM20CLK_HCLK and RCC_TIM20CLK_PLLCLK)</li>
<li>Add new defnes to set TIM3 &amp; TIM4 clock source (RCC_PERIPHCLK_TIM34, RCC_TIM34CLK_HCLK, RCC_TIM34CLK_PCLK)</li>
<li>Add FMC related macros: __FMC_CLK_ENABLE(), __FMC_CLK_DISABLE(), __FMC_FORCE_RESET() and __FMC_RELEASE_RESET()</li>
<li>Add GPIO port G related macros: __GPIOG_CLK_ENABLE(), <strong>GPIOG_CLK_DISABLE(), </strong> GPIOG _FORCE_RESET() and __GPIOG _RELEASE_RESET()</li>
<li>Add GPIO port H related macros:_ __GPIOH_CLK_ENABLE(), __GPIOH_CLK_DISABLE(), __FMC_ GPIOH _RESET() and __GPIOH _RELEASE_RESET()</li>
<li>Add SPI4 related macros: __SPI4_CLK_ENABLE(), <strong>SPI4_CLK_DISABLE(), </strong> SPI4_FORCE_RESET() and __SPI4_RELEASE_RESET()</li>
<li>Add TIM20 related macros: __TIM20_CLK_ENABLE(), <strong>TIM20_CLK_DISABLE(), </strong> TIM20_FORCE_RESET() and __TIM20_RELEASE_RESET(), __HAL_RCC_TIM20_CONFIG() , __HAL_RCC_GET_TIM20_SOURCE()</li>
<li>Add new macro to set/get the clock source of TIM3 &amp; TIM4: __HAL_RCC_TIM34_CONFIG() and __HAL_RCC_GET_TIM34_SOURCE()</li>
</ul></li>
<li><strong>HAL SMARTCARD</strong> update
<ul>
<li>Change SMARTCARD_AdvFeatureConfig() from exported to static private function</li>
<li>TC enabled and TXE disabled at the end of TX in IT mode</li>
</ul></li>
<li><strong>HAL SMBUS</strong> update
<ul>
<li>Fix wrong State after a PEC failed</li>
<li>Fix slave acknowledge issue</li>
</ul></li>
<li><strong>HAL SPI</strong> update
<ul>
<li>Fix CodeSonar warning: unreachable Call in SPI_CloseRxTx_ISR()</li>
</ul></li>
<li><strong>HAL SRAM (STM32F303xE specific)</strong>
<ul>
<li>FMC: generic firmware to drive SRAM memories mounted as external device</li>
</ul></li>
<li><strong>HAL TIM</strong> update (for <strong>STM32F303xE</strong>)
<ul>
<li>Add defines to set TIM20 option register (link from analog watchdog and TIM20 ETR)</li>
</ul></li>
<li><strong>HAL UART</strong> update
<ul>
<li>TC enabled and TXE disabled at the end of TX in IT mode</li>
</ul></li>
<li><strong>HAL USART</strong> update
<ul>
<li>TC enabled and TXE disabled at the end of TX in IT mode</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_0_1" aria-hidden="true"> <label for="collapse-section1_0_1" aria-hidden="true"><strong>V1.0.1 / 18-June-2014</strong></label>
<div>
<h2 id="main-changes-14">Main Changes</h2>
<ul>
<li><strong>HAL generic</strong> update
<ul>
<li>Fix flag clear procedure: use atomic write operation “=” instead of ready-modify-write operation “|=” or “&amp;=”</li>
<li>Fix on Timeout management, Timeout value set to 0 passed to API automatically exits the function after checking the flag without any wait.</li>
<li>Add new macro __HAL_RESET_HANDLE_STATE to reset a given handle state.</li>
</ul></li>
<li><strong>HAL ADC</strong> update
<ul>
<li>Rename defines:
<ul>
<li>ADC_EXTERNALTRIGCONV_Ext_IT11 to ADC_EXTERNALTRIGCONV_EXT_IT11</li>
<li>ADC_EXTERNALTRIGCONV_Ext_IT12 to ADC_EXTERNALTRIGCONV_EXT_IT12</li>
</ul></li>
<li>Fix define ADC_SOFTWARE_START</li>
<li>Update external trigger defines to remove HRTIM triggers for STM32F328xx and TIM8 triggers for STM32F302xC</li>
<li>Add ADC1_2_EXTERNALTRIG_T4_CC4 for STM32F303x8 and STM32F328xx</li>
</ul></li>
<li><strong>HAL CEC</strong> update
<ul>
<li>Process no more locked during the transmission in interrupt mode.</li>
</ul></li>
<li><strong>HAL COMP</strong> update
<ul>
<li>Fix on 32-bit register COMP CSR accesses for STM32F373xC and STM32F378xx devices.</li>
<li>Add new defines for STM32F373xC and STM32F378xx comparators:
<ul>
<li>COMP_OUTPUT_TIM3IC1, COMP_OUTPUT_TIM3OCREFCLR, COMP_OUTPUT_TIM2IC4 and COMP_OUTPUT_TIM2OCREFCLR instead of previous defines COMP_OUTPUT_COMP1_TIM3IC1, COMP_OUTPUT_COMP1_TIM3OCREFCLR, COMP_OUTPUT_COMP1_TIM2IC4, COMP_OUTPUT_COMP1_TIM2OCREFCLR, COMP_OUTPUT_COMP2_TIM3IC1, COMP_OUTPUT_COMP2_TIM3OCREFCLR, COMP_OUTPUT_COMP2_TIM2IC4, COMP_OUTPUT_COMP2_TIM2OCREFCLR.</li>
</ul></li>
</ul></li>
<li><strong>HAL DMA</strong> update
<ul>
<li>Fix in HAL_DMA_PollForTransfer() to set error code HAL_DMA_ERROR_TE in case of HAL_ERROR status</li>
</ul></li>
<li><strong>HAL GPIO</strong> update
<ul>
<li>Fix GPIO_AF5_SPI1 define instead of GPIO_AF5_SPI1 for STM32F303x8 device.</li>
</ul></li>
<li><strong>HAL HRTIM</strong> update
<ul>
<li>HRTIM peripheral not available for STM32F328xx device.</li>
<li>Fix macros __HAL_HRTIM_CLEAR_FLAG, __HAL_HRTIM_MASTER_CLEAR_FLAG and __HAL_HRTIM_TIMER_CLEAR_FLAG</li>
</ul></li>
<li><strong>HAL I2C</strong> update
<ul>
<li>Add management of NACK event in Master transmitter mode and Slave transmitter/receiver modes (only in polling mode), in that case the current transfer is stopped.</li>
</ul></li>
<li><strong>HAL IRDA</strong> update
<ul>
<li>Add new enum typedef IRDA_ClockSourceTypeDef</li>
<li>Add new macro __HAL_IRDA_GETCLOCKSOURCE</li>
<li>Change in HAL_IRDA_Transmit_IT() to enable IRDA_IT_TXE instead of IRDA_IT_TC.</li>
<li>Process no more locked during the transmission in interrupt mode.</li>
</ul></li>
<li><strong>HAL OPAMP</strong> update
<ul>
<li>__SYSCFG_CLK_ENABLE() is now handled internally in HAL_OPAMP_Init() and no more in user HAL_OPAMP_MspInit().</li>
</ul></li>
<li><strong>HAL PCD</strong> update
<ul>
<li>Add new macro __HAL_USB_EXTI_GENERATE_SWIT</li>
</ul></li>
<li>HAL PWR update
<ul>
<li>Fix in HAL_PWR_EnterSTANDBYMode() to not clear Wakeup flag (WUF), which need to be cleared at application level before to call this function</li>
</ul></li>
<li><strong>HAL RCC</strong> update
<ul>
<li>Change for STM32F303x8, STM32F334x8 and STM32F328xx devices:
<ul>
<li>Add missing macro __DAC2_FORCE_RESET</li>
<li>Rename RCC_USART1CLKSOURCE_PCLK2 into RCC_USART1CLKSOURCE_PCLK1</li>
</ul></li>
<li>Remove HRTIM1 peripheral and clocking macros for STM32F328xx device.</li>
<li>Fix HSI Calibration issue when selected as SYSCLK</li>
</ul></li>
<li><strong>HAL SMARTCARD</strong> update
<ul>
<li>Change in HAL_SMARTCARD_Transmit_IT() to enable SMARTCARD_IT_TXE instead of SMARTCARD_IT_TC.</li>
<li>Process no more locked during the transmission in interrupt mode.</li>
</ul></li>
<li><strong>HAL SMBUS</strong> update
<ul>
<li>Fix Slave acknowledge issue: Slave should ack each bit and so stretch the line till the bit is not ack</li>
</ul></li>
<li><strong>HAL TIM</strong> update
<ul>
<li>Fix macro __HAL_TIM_PRESCALER</li>
</ul></li>
<li><strong>HAL TSC</strong> update
<ul>
<li>Fix define TSC_ACQ_MODE_SYNCHRO</li>
</ul></li>
<li><strong>HAL UART</strong> update
<ul>
<li>Change in HAL_LIN_Init() parameter BreakDetectLength to uint32_t</li>
<li>Change in HAL_UART_Transmit_IT() to enable UART_IT_TXE instead of UART_IT_TC.</li>
<li>Process no more locked during the transmission in interrupt mode.</li>
</ul></li>
<li><strong>HAL USART</strong> update
<ul>
<li>Change USART_InitTypeDef fields to uint32_t type</li>
<li>Rename __USART_ENABLE and __USART_DISABLE macros to respectively __HAL_USART_ENABLE and __HAL_USART_DISABLE</li>
<li>Change in HAL_USART_Transmit_IT() to enable USART_IT_TXE instead of USART_IT_TC.</li>
<li>Process no more locked during the transmission in interrupt mode.</li>
<li>Change in HAL_USART_TransmitReceive_DMA() to manage DMA half transfer mode</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_0_0" aria-hidden="true"> <label for="collapse-section1_0_0" aria-hidden="true"><strong>V1.0.0 / 06-May-2014</strong></label>
<div>
<h2 id="main-changes-15">Main Changes</h2>
<ul>
<li>First official release of STM32F3xx HAL drivers for <strong>STM32F301x6/x8, STM32F302x6/x8, STM32F302xB/xC, STM32F303x6/x8, STM32F373xB/xC, STM32F334x4/x6/x8, STM32F318xx, STM32F328xx, STM32F358xx and STM32F378xx devices.</strong></li>
</ul>
</div>
</div>
</div>
</div>
<footer class="sticky">
For complete documentation on STM32 Microcontrollers </mark> , visit: <span style="font-color: blue;"><a href="http://www.st.com/stm32">www.st.com/stm32</a></span> <em>This release note uses up to date web standards and, for this reason, should not be opened with Internet Explorer but preferably with popular browsers such as Google Chrome, Mozilla Firefox, Opera or Microsoft Edge.</em>
</footer>
</body>
</html>
