<!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 STM32F0xx 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_2020.css" />
  <!--[if lt IE 9]>
    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
  <![endif]-->
  <link rel="icon" type="image/x-icon" href="_htmresc/favicon.png" />
</head>
<body>
<div class="row">
<div class="col-sm-12 col-lg-4">
<center>
<h1 id="release-notes-forstm32f0xx-hal-drivers"><small>Release Notes for</small><mark>STM32F0xx HAL Drivers</mark></h1>
<p>Copyright © 2016 STMicroelectronics</p>
<a href="https://www.st.com" class="logo"><img src="_htmresc/st_logo_2020.png" alt="ST logo" /></a>
</center>
<h1 id="purpose">Purpose</h1>
<p>The STM32Cube HAL and LL, an STM32 abstraction layer embedded software, ensure maximized portability across STM32 portfolio.</p>
<p>The Portable APIs layer provides a generic, multi instanced and simple set of APIs to interact with the upper layer (application, libraries and stacks). It is composed of native and extended APIs set. It is directly built around a generic architecture and allows the build-upon layers, like the middleware layer, to implement its functions without knowing in-depth the used STM32 device. This improves the library code re-usability and guarantees an easy portability on other devices and STM32 families.</p>
<p>The Low Layer (LL) drivers are part of the STM32Cube firmware HAL that provide basic set of optimized and one shot services. The Low layer drivers, contrary to the HAL ones are not Fully Portable across the STM32 families; the availability of some functions depend on the physical availability of the relative features on the product. The Low Layer (LL) drivers are designed to offer the following features:</p>
<ul>
<li>New set of inline function for direct and atomic register access</li>
<li>One-shot operations that can be used by the HAL drivers or from application level.</li>
<li>Fully Independent from HAL and can be used in standalone usage (without HAL drivers)</li>
<li>Full features coverage of the all the supported peripherals.</li>
</ul>
</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_7_7" checked aria-hidden="true"> <label for="collapse-section1_7_7" aria-hidden="true"><strong>V1.7.7 / 27-January-2023</strong></label>
<div>
<h2 id="main-changes">Main Changes</h2>
<ul>
<li>General updates to fix known defects and enhancements implementation.</li>
<li>HAL code quality enhancement for MISRA-C Rule-8.13 by adding const qualifiers</li>
</ul>
<h2 id="contents">Contents</h2>
<ul>
<li><strong>HAL GENERIC</strong> update
<ul>
<li>Allow redefinition of macro UNUSED(x).</li>
</ul></li>
<li><strong>HAL RCC</strong> update
<ul>
<li>Add a static storage class specifier in the const tables.</li>
</ul></li>
<li><strong>HAL GPIO</strong> update
<ul>
<li>Reorder EXTI configuration sequence to avoid unexpected level detection.</li>
</ul></li>
<li><strong>HAL EXTI</strong> update
<ul>
<li>Fix computation of pExtiConfig-&gt;GPIOSel in the HAL_EXTI_GetConfigLine() API.</li>
</ul></li>
<li><strong>HAL CRC</strong> update
<ul>
<li>Add filter in HAL_CRCEx_Polynomial_Set() to exclude even polynomials.</li>
<li>Update HAL_CRC_DeInit implementation to avoid overflow issues in CRC_IDR_IDR.</li>
</ul></li>
<li><strong>HAL ADC</strong> update
<ul>
<li>Remove multiple volatile reads or writes in interrupt handler for better performance.</li>
</ul></li>
<li><strong>LL/HAL TIM</strong> update
<ul>
<li>Manage configuration of the Capture/compare DMA request source
<ul>
<li>Add related new exported constants (TIM_CCDMAREQUEST_CC, TIM_CCDMAREQUEST_UPDATE).</li>
<li>Create a new macro __HAL_TIM_SELECT_CCDMAREQUEST() allowing to program the TIMx_CR2.CCDS bitfield.</li>
</ul></li>
<li>Update __LL_TIM_CALC_PSC() macro to round up the evaluated value when the fractional part of the division is greater than 0.5.</li>
</ul></li>
<li><strong>HAL RTC_BKP</strong> update
<ul>
<li>Move constants RTC_IT_TAMP from hal_rtc.h to hal_rtc_ex.h.</li>
<li>Use bits definitions from CMSIS Device header file instead of hard-coded values.</li>
<li>Add new macro assert_param(IS_RTC_TAMPER_FILTER_CONFIG_CORRECT(sTamper-&gt;Filter, sTamper-&gt;Trigger)) to check tamper filtering is disabled in case tamper events are triggered on signal edges.</li>
<li>Rework functions HAL_RTCEx_SetTamper() and HAL_RTCEx_SetTamper_IT() to:
<ul>
<li>Write in TAFCR register in one single access instead of two.</li>
<li>Avoid modifying user structure sTamper.</li>
</ul></li>
<li>Add a check on the RTC calendar initialization before entering in initialization mode.</li>
</ul></li>
<li><strong>HAL IRDA</strong> update
<ul>
<li>Improve header description of IRDA_WaitOnFlagUntilTimeout() function.</li>
<li>Add a check on the IRDA parity before enabling the parity error interrupt.</li>
<li>Add const qualifier for read only pointers.</li>
<li>Fix wrong cast when computing the USARTDIV value in IRDA_SetConfig().</li>
</ul></li>
<li><strong>HAL UART</strong> update
<ul>
<li>Improve header description of UART_WaitOnFlagUntilTimeout() function.</li>
<li>Add a check on the UART parity before enabling the parity error interruption.</li>
<li>Add const qualifier for read only pointers.</li>
<li>Fix wrong cast when computing the USARTDIV value in UART_SetConfig().</li>
<li>Correct the way transmit data flush request is managed.</li>
<li>Removal of HAL_LOCK/HAL_UNLOCK calls in HAL UART Tx and Rx APIs</li>
<li>Disable the Receiver Timeout Interrupt when data reception is completed.</li>
<li>Rework of UART_WaitOnFlagUntilTimeout() API to avoid being stuck forever when UART overrun error occurs and to enhance behavior.</li>
</ul></li>
<li><strong>LL/HAL USART</strong> update
<ul>
<li>Improve header description of USART_WaitOnFlagUntilTimeout() function.</li>
<li>Add a check on the USART parity before enabling the parity error interrupt.</li>
<li>Fix compilation warnings generated with ARMV6 compiler.</li>
</ul></li>
<li><strong>HAL SMARTCARD</strong> update
<ul>
<li>Improve header description of SMARTCARD_WaitOnFlagUntilTimeout() function.</li>
<li>Add const qualifier for read only pointers.</li>
<li>Fix wrong cast when computing the USARTDIV value in SMARTCARD_SetConfig().</li>
</ul></li>
<li><strong>LL/HAL I2C</strong> update
<ul>
<li>Improve header description of I2C_WaitOnFlagUntilTimeout() function.</li>
<li>Rename I2C_IsAcknowledgeFailed() I2C_IsErrorOccurred() and correct the way errors are checked and reported when they occur in polling mode.
<ul>
<li>Update to fix issue detected due to low system frequency execution (HSI).</li>
<li>Declare an internal macro link to DMA macro to check remaining data: I2C_GET_DMA_REMAIN_DATA</li>
</ul></li>
<li>Clear the ADDRF flag only when direction is confirmed as changed, to prevent that the ADDRF flag is cleared too early when the restart is received.</li>
<li>Fix timeout issue using HAL MEM interface through FreeRTOS.</li>
<li>I2C_IsErrorOccurred does not return error if timeout is detected.</li>
<li>Update [HAL_I2C_IsDeviceReady] API to support 10_bit addressing mode.</li>
</ul></li>
<li><strong>HAL SMBUS</strong> update
<ul>
<li>Add flushing of TX register to fix the issue of mismatching data received by master in case of data size to be transmitted by the slave is greater than the data size to be received by the master.</li>
</ul></li>
<li><strong>HAL SPI</strong> update
<ul>
<li>Fix driver to don’t update state in case of error. (HAL_SPI_STATE_READY will be set only in case of HAL_TIMEOUT).</li>
</ul></li>
<li><strong>HAL CAN</strong> update
<ul>
<li>Removal of never reached code.</li>
<li>Improve protection against bad inputs.</li>
</ul></li>
<li><strong>HAL CEC</strong> update
<ul>
<li>Remove multiple volatile reads or writes in interrupt handler for better performance.</li>
</ul></li>
<li><strong>USB_FS_HAL</strong> update
<ul>
<li>PCD: add supporting multi packets transfer on Interrupt endpoint.</li>
<li>Set DCD timeout to a minimum of 300ms before starting BCD primary detection process.</li>
<li>HAL: PCD: software correction added to avoid unexpected STALL condition during EP0 multi packet OUT transfer.</li>
<li>hal_pcd.h: add a mask for USB RX bytes count.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_7_6" aria-hidden="true"> <label for="collapse-section1_7_6" aria-hidden="true"><strong>V1.7.6 / 23-July-2021</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 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_7_5" aria-hidden="true"> <label for="collapse-section1_7_5" aria-hidden="true"><strong>V1.7.5 / 06-November-2020</strong></label>
<div>
<h2 id="main-changes-2">Main Changes</h2>
<ul>
<li>Patch release to fix known defects and enhancements implementation.</li>
<li>Remove “register” keyword to be compliant with new C++ rules:
<ul>
<li>The register storage class specifier was deprecated in C++11 and removed in C++17</li>
</ul></li>
<li><strong>HAL</strong> driver update
<ul>
<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>
<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>
</ul></li>
<li><strong>HAL/LL ADC</strong> update
<ul>
<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>
</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 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 FLASH</strong> update
<ul>
<li>Update FLASH_OB_DisableWRP() API to remove write protection on selected sectors instead of all sectors.</li>
</ul></li>
<li><strong>HAL/LL 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>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 HAL_SPI_TransmitReceive() API to manage the case of unaligned data</li>
<li>Update SPI_DMAReceiveCplt() API to handle efficiently the repeated transfers.
<ul>
<li>Disable TX DMA request only in bidirectional receive mode</li>
</ul></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>
</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 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>
</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>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_7_4" aria-hidden="true"> <label for="collapse-section1_7_4" aria-hidden="true"><strong>V1.7.4 / 24-July-2020</strong></label>
<div>
<h2 id="main-changes-3">Main Changes</h2>
<ul>
<li>Maintenance release to fix known defects and enhancements implementation</li>
<li><strong>HAL Drivers changes</strong>
<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>
</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></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_7_3" aria-hidden="true"> <label for="collapse-section1_7_3" aria-hidden="true"><strong>V1.7.3 / 12-September-2019</strong></label>
<div>
<h2 id="main-changes-4">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, I2C, SMBUS, UART, USART, WWDG, RTC, SPI, SMARTCARD, IrDA, 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 stm32f0xx_hal_conf.h project configuration file (template file stm32f0xx_hal_conf_template.h available from Drivers/STM32F0xx_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>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>
<li>Add HAL_TickFreqTypeDef enumeration for the different Tick Frequencies: 10 Hz, 100 Hz and 1KHz (default).</li>
</ul></li>
<li>Add 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>General updates to fix MISRA 2012 compilation errors
<ul>
<li>HAL_IS_BIT_SET()/HAL_IS_BIT_CLR() macros implementation update</li>
<li>stdio.h include updated with stddef.h</li>
<li>Update assert_failed() API prototype to use pointer on uint8_t instead of char</li>
</ul></li>
</ul></li>
<li><strong>HAL CRC</strong> update
<ul>
<li>Remove extended initialization HAL_CRCEx_Init() API
<ul>
<li>HAL_CRC_Init() call HAL_CRCEx_Polynomial_Set() to initialize the CRC polynomial</li>
</ul></li>
<li>Remove extra call to HAL_LOCK/HAL_UNLOCK from the following APIs:
<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>Add clean of callbacks in HAL_DMA_DeInit() API</li>
<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 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 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 APIs
<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>
<li>Fix I2C send break issue in IT processes
<ul>
<li>Add additional check on hi2c-&gt;hdmatx and hi2c-&gt;hdmarx to avoid the DMA request enable when ITmode is used.</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>Move the following TIM structures from stm32f0xx_hal_tim_ex.h into stm32f0xx_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 stm32f0xx_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>STM32F0 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_7_2" aria-hidden="true"> <label for="collapse-section1_7_2" aria-hidden="true"><strong>V1.7.2 / 09-May-2019</strong></label>
<div>
<h2 id="main-changes-5">Main Changes</h2>
<ul>
<li>Maintenance release to fix known defects and enhancements implementation</li>
<li><strong>HAL Drivers changes</strong></li>
<li><strong>HAL PCD</strong> update
<ul>
<li>Update Memory-mapped peripheral registers definition to be volatile to avoid unwanted optimization with GCC compiler.</li>
</ul></li>
<li><strong>LL TIM</strong> Update
<ul>
<li>Update Memory-mapped peripheral registers definition to be volatile to avoid unwanted optimization with GCC compiler.</li>
</ul></li>
<li><strong>LL DAC</strong> Update
<ul>
<li>Update Memory-mapped peripheral registers definition to be volatile to avoid unwanted optimization with GCC compiler.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_7_1" aria-hidden="true"> <label for="collapse-section1_7_1" aria-hidden="true"><strong>V1.7.1 / 02-April-2019</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>The following changes done on the HAL drivers require an update on the application code based on older HAL versions</strong>
<ul>
<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/STM32F0xx_HAL_Driver/Src and Drivers/STM32f0xx_HAL_Driver/Inc folders. It can be enabled through switch HAL_CAN_MODULE_ENABLED in stm32f0xx_hal_conf.h</li>
<li>The legacy HAL CAN driver is also present in the release in Drivers/STM32F0xx_HAL_Driver/Src/Legacy and Drivers/STM32F0xx_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 stm32f0xx_hal_conf.h</li>
</ul></li>
</ul></li>
<li><strong>HAL Drivers changes</strong></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() APIs</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() to get Rx message.</li>
<li>HAL_CAN_Receive_IT() is replaced by HAL_CAN_ActivateNotification() to enable receive IT, then HAL_CAN_GetRxMessage() in the receive callback 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 FLASH</strong> update
<ul>
<li>Update the FLASH_OB_GetRDP() API to return the correct RDP level</li>
</ul></li>
<li><strong>HAL PCD</strong> update
<ul>
<li>PCD_SET_EPTYPE() macro update to prevent clearing USB_EP_CTR_TX and USB_EP_CTR_RX flags.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_7_0" aria-hidden="true"> <label for="collapse-section1_7_0" aria-hidden="true"><strong>V1.7.0 / 25-August-2017</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>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 contain side effects).</li>
<li>Minor improvement of Doxygen Tags for CHM UM generation.</li>
<li><strong>HAL Drivers changes</strong></li>
<li><strong>HAL GPIO</strong>
<ul>
<li>Add definition of GPIO_AF0_TIM3 for STM32F030x6 and STM32F030x8 devices.</li>
</ul></li>
<li><strong>HAL I2C</strong>
<ul>
<li>Editorial modification : astyle clean-up</li>
</ul></li>
<li><strong>HAL PCD</strong>
<ul>
<li>Remove lock/unlock from USB receive and transmit endpoints.</li>
</ul></li>
<li><strong>LL Drivers changes</strong></li>
<li><strong>LL_TIM</strong>
<ul>
<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_RCC</strong>
<ul>
<li>Fix issue in RCC_GetSystemClockFreq() when HSI48 oscillator is selected as system clock.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_6_0" aria-hidden="true"> <label for="collapse-section1_6_0" aria-hidden="true"><strong>V1.6.0 / 07-April-2017</strong></label>
<div>
<h2 id="main-changes-8">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><strong>HAL Generic</strong>
<ul>
<li>MISRA C 2004 rule 10.6 (U suffix applied to all constants of unsigned type).</li>
<li>Remove useless cast (uint32_t ) cast in case of U suffix.</li>
<li>Fix Code Sonar warnings (useless assignment, cast alters value, empty while statement).</li>
</ul></li>
<li><strong>HAL</strong>
<ul>
<li>Modify HAL_Delay to guarantee the minimum Delay provided as parameter.</li>
<li>Add definition of USE_SPI_CRC to activate CRC feature inside HAL SPI driver.</li>
<li>New API : HAL_GetUID() read the unique device identifier.</li>
<li>Correct RTC_ASYNCH_PREDIV and RTC_SYNCH_PREDIV definition when LSI configured as RTC clock source.</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 ADC</strong>
<ul>
<li>DMA transfer must be disabled during calibration to avoid ADC calibration factor insertion among ADC conversion data.</li>
<li>Remove unused literal ADC_EOC_SINGLE_SEQ_CONV.</li>
</ul></li>
<li><strong>HAL COMP</strong>
<ul>
<li>Rename LL_COMP_DELAY_STARTUP_US in COMP_DELAY_STARTUP_US.</li>
</ul></li>
<li><strong>HAL SPI</strong>
<ul>
<li>Replace hard coded values by CMSIS define.</li>
<li>Extend SET_BIT, CLEAR_BIT macro usage.</li>
<li>Add timeout management in HAL_SPI_Abort() and HAL_SPI_Abort_IT().</li>
<li>Add IS_SPI_DMA_HANDLE macro to check handle validity.</li>
<li>Add IS_SPI_16BIT_ALIGNED_ADDRESS macro to check if data buffer address are 16 bits aligned when transferring more than 1 byte (there is no support for unaligned accesses on the Cortex-M0 processor).</li>
<li>In 2 lines transmission configuration, ensure RXFIFO is empty at the end of transmission. Add SPI_WaitFifoStateUntilTimeout (SPI_FLAG_FRLVL) call.</li>
</ul></li>
<li><strong>HAL RTC</strong>
<ul>
<li>add a wait for synchronization on HAL_RTC_Init function to avoid re-entering in initialization state before previous exit of initialization state.</li>
</ul></li>
<li><strong>HAL TIM</strong>
<ul>
<li>New API to disable unconditionally the Main Output Enable of a timer instance : __HAL_TIM_MOE_DISABLE_UNCONDITIONALLY().
<ul>
<li>DMA burst mode enhancement. Add 2 new API in order to manage serape parameters for burst length and data length:
<ul>
<li>HAL_TIM_DMABurst_MultiWriteStart()</li>
<li>HAL_TIM_DMABurst_MultiReadStart()</li>
</ul></li>
</ul></li>
</ul></li>
<li><strong>HAL SMBUS</strong>
<ul>
<li>Add new feature “ZONE READ/WRITE” : The ZONE_READ and ZONE_WRITE protocols are used to simultaneously read from or write to some or all of the devices on a bus. New options defined (SMBUS_OTHER_FRAME_NO_PEC, SMBUS_OTHER_FRAME_WITH_PEC, SMBUS_OTHER_AND_LAST_FRAME_NO_PEC, SMBUS_OTHER_AND_LAST_FRAME_WITH_PEC).</li>
<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>Modify PCD_ReadPMA() to avoid HardFault when buffers not aligned on 16 bits address.</li>
</ul></li>
<li><strong>LL Drivers changes</strong></li>
<li><strong>LL Generic</strong>
<ul>
<li>MISRA C 2004 rule 10.6 (U suffix applied to all constants of unsigned type).</li>
<li>MISRA C 2004 rule 11.5 (no cast that removes any const or volatile qualification from the type addressed by a pointer).</li>
<li>Remove useless cast (uint32_t ) cast in case of U suffix.</li>
<li>Replace hard coded POSITION definition in driver by the associated PPP_xxx_pos CMSIS define (PPP could be I2C, USART …).</li>
</ul></li>
<li><strong>LL GPIO</strong>
<ul>
<li>Rename GPIO_AFRH and GPIO_AFRL bit fields for alignment with all STM32 series.</li>
</ul></li>
<li><strong>LL DMA</strong>
<ul>
<li>For better performances, use WRITE_REQ() and READ_REG() when accessing CPAR and CMAR registers.</li>
<li>Replace SET_BIT by WRITE_REG macro to clear flags in DMA_ICFR register (register is write only).</li>
</ul></li>
<li><strong>LL USART</strong>
<ul>
<li>Add IS_LL_USART_BRR macro : In case of oversampling by 16 and 8, Baud Rate Register content must be greater than or equal to 16.</li>
</ul></li>
<li><strong>LL I2C</strong></li>
<li>OA1EN bit of OAR1 register should be set only when own address different from 0 (0 reserved for General Call address).</li>
<li><strong>LL CRS</strong>
<ul>
<li>Add missing shift of HSI48CalibrationValue parameter value in LL_CRS_ConfigSynchronization().</li>
</ul></li>
<li><strong>LL RTC</strong>
<ul>
<li>For better performances, simplify implementation of LL_RTC_TIME_Get() and LL_RTC_DATE_Get().</li>
</ul></li>
<li><strong>LL USART</strong>
<ul>
<li>Add ((void)(temp)) to Prevent unused argument(s) compilation warning when USE_FULL_ASSERT not defined.</li>
</ul></li>
<li><strong>LL_TIM</strong>
<ul>
<li>New API : In order to program BDTR register in a single write operation add :
<ul>
<li>LL_TIM_BDTR_StructInit(), LL_TIM_BDTR_Init().</li>
<li>LL_TIM_BDTR_InitTypeDef structure definition with associated macro : IS_LL_TIM_OSSR_STATE, IS_LL_TIM_OSSI_STATE, IS_LL_TIM_LOCK_LEVEL, IS_LL_TIM_BREAK_STATE, IS_LL_TIM_BREAK_POLARITY, IS_LL_TIM_AUTOMATIC_OUTPUT_STATE.</li>
</ul></li>
<li>Add initialization of AutomaticOuput field in LL_TIM_BDTR_StructInit().</li>
</ul></li>
<li><strong>LL UTILS</strong>
<ul>
<li>Use current AHB prescaler valuer instead of the one selected by the user to calculate SYSCLK frequency.</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 / 04-November-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 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.4.0</strong></li>
<li>HAL IWDG driver: Overall driver rework for better implementation
<ul>
<li>Remove HAL_IWDG_Start(), HAL_IWDG_MspInit() and HAL_IWDG_GetState() APIs</li>
</ul></li>
<li>HAL WWDG driver: Overall driver rework for better implementation
<ul>
<li>Remove HAL_WWDG_Start(), HAL_WWDG_Start_IT(), HAL_WWDG_MspDeInit() and HAL_WWDG_GetState() APIs</li>
<li>Update the HAL_WWDG_Refresh(WWDG_HandleTypeDef *hwwdg, uint32_t counter) function and API by removing the counter parameter</li>
</ul></li>
<li>HAL CEC 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() function 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>HAL TIM 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>
<li>MISRA C 2004 rule 14.8 (the statement forming the body of a switch, while, do … while, or for statement shall be a compound statement)</li>
</ul></li>
</ul></li>
<li><strong>HAL IWDG</strong>
<ul>
<li>New simplified HAL IWDG driver: remove HAL_IWDG_Start(), HAL_IWDG_MspInit() and HAL_IWDG_GetState() APIs</li>
<li>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>
<li>Refer to the following example to identify the changes : IWDG_Reset, IWDG_WidowMode</li>
</ul></li>
<li><strong>HAL WWDG</strong>
<ul>
<li>New simplified HAL WWDG driver: remove HAL_WWDG_Start(), HAL_WWDG_Start_IT(), HAL_WWDG_MspDeInit() and HAL_WWDG_GetState() APIs
<ul>
<li>Update 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>API functions are: HAL_WWDG_Init(), HAL_WWDG_MspInit(), HAL_WWDG_Refresh(), HAL_WWDG_IRQHandler() and HAL_WWDG_EarlyWakeupCallback()</li>
</ul></li>
<li>Refer to the following example to identify the changes: WWDG_Example</li>
</ul></li>
<li><strong>HAL CEC</strong>
<ul>
<li>Overall driver rework with break of compatibility with HAL V1.4.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 flag 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>
</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 STM32F030x6, STM32F030x8, STM32F031x6, STM32F038xx, STM32F051x8 and STM32F058xx</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 RTC</strong>
<ul>
<li>Interrupt flag cleared before enabling the interrupt in HAL_RTCEx_SetWakeUpTimer_IT()</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>Use CMSIS bit for compilation switch instead of product switch</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>Update TIM_SET_CAPTUREPOLARITY and TIM_RESET_CAPTUREPOLARITY definition to take into account CC4NP bit</li>
<li>Use MODIFY_REG macro to avoid wrong initialisation in ConfigBreakDeadTime()</li>
</ul></li>
<li><strong>HAL SMBUS</strong>
<ul>
<li>Update SMBUS_Master_ISR() and SMBUS_Slave_ISR() to ensure storage of last receive data</li>
</ul></li>
<li><strong>HAL PCD</strong>
<ul>
<li>Update HAL_PCD_ActivateRemoteWakeup() and HAL_PCD_DeActivateRemoteWakeup() APIs to add condition if LPM activated.</li>
</ul></li>
<li><strong>LL Drivers changes</strong></li>
<li><strong>LL GPIO</strong>
<ul>
<li>Remove LL_GPIO_SPEED_FREQ_VERY_HIGH (GPIO_SPEED_FREQ_VERY_HIGH does not exist for STM32F0xx series)</li>
</ul></li>
<li><strong>LL_TIM</strong>
<ul>
<li>Remove TIM_SMCR_OCCS compilation switch (useless for STM32F0xx series)</li>
</ul></li>
<li><strong>LL_CRS</strong>
<ul>
<li>Update CRS_POSITION_XXX definitions to use CMSIS definition instead of hardcoded values</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 / 27-May-2016</strong></label>
<div>
<h2 id="main-changes-10">Main Changes</h2>
<ul>
<li><strong>First official release supporting the Low Level drivers for the STM32F0xx family:</strong>
<ul>
<li>Low Layer drivers APIs provide register level programming:</li>
<li>they require deep knowledge of peripherals described in STM32F0xx Reference Manual.</li>
<li>Low Layer drivers are available for ADC, COMP, Cortex, CRC, CRS, DAC, DMA, EXTI, GPIO, I2C, IWDG, 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/stm32f0xx_ll_ppp.h files for PPP peripherals,</li>
<li>there is no configuration file and each stm32f0xx_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 HAL Driver compliance with MISRA C 2004 rules:
<ul>
<li>MISRA C 2004 rule 5.2 (tmpreg variable shall not be used inside MACRO)</li>
<li>MISRA C 2004 rule 10.3 (illegal explicit conversion from type unsigned int to uint16_t).</li>
<li>MISRA C 2004 rule 10.5 (bitwise operators ~ and &lt;&lt;).</li>
<li>MISRA C 2004 rule 10.6 (U suffix applied to all constants of unsigned type).</li>
<li>MISRA C 2004 rule 11.5 (no cast that removes any const or volatile qualification from the type addressed by a pointer).</li>
<li>MISRA C 2004 rule 12.6 (logical operators should not be confused with bitwise operators).</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.9 (if {expression} / else construct shall be followed by a compound statement).</li>
<li>MISRA C 2004 rule 15.3 (all switch statements shall contain a final default clause).</li>
<li>MISRA C 2004 rule 16.3 (identifiers shall be given for all of the parameters in a function prototype declaration).</li>
<li>MISRA C 2004 rule 16.4 (identifiers used in the declaration and definition shall be identical).</li>
<li>MISRA C 2004 rule 19.10 (in function-like macro definition, each instance of a parameter shall be enclosed in parenthesis).</li>
</ul></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>
</ul></li>
<li><strong>HAL CRC</strong>
<ul>
<li>Updated devices supporting Programmable Polynomial features: defines and functions prototypes are available only for</li>
<li>STM32F071xB, STM32F072xB, STM32F078xx, STM32F091xC, STM32F098x devices.</li>
<li>Updated HAL_CRC_DeInit() function (restored IDR Register to Reset value).</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>Updated IS_GPIO_PIN() macro to cover full u32 bits.</li>
</ul></li>
<li><strong>HAL I2C</strong>
<ul>
<li>Used macro definition for I2C instances supporting Wakeup from Stop mode.</li>
<li>Updated polling flags management within I2C slave DMA drivers.</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>
</ul></li>
<li><strong>HAL PWR</strong>
<ul>
<li>Aligned EWUPx pins and PWR functions with CMSIS definitions.</li>
</ul></li>
<li><strong>HAL IRDA</strong>
<ul>
<li>Modified IRDA_Receive_IT() to execute the RX flush request only in case no data is read from RDR.</li>
<li>Modified EIE bit setting in Tx and Rx transfers (Interrupt mode).</li>
<li>Updated IRDA_SetConfig() function following UART Baudrate calculation update.</li>
<li>Reviewed IRDA state machine to avoid cases where IRDA state is overwritten by IRDA IRQ.</li>
<li>Ensure proper alignment of data pointer in Transmit and Receive functions to avoid toolchain compilation hardfault.</li>
</ul></li>
<li><strong>HAL RCC</strong>
<ul>
<li>Performed optimizations for HAL_RCC_ClockConfig(), HAL_RCCEx_PeriphCLKConfig functions.</li>
<li>Updated HAL_RCC_OscConfig() function (Reset HSEON/LSEON and HSEBYP/LSEBYP bits before configuring the HSE/LSE).</li>
<li>Updated HAL_RCC_OscConfig() function to enable PWR only if necessary for LSE configuration.</li>
<li>Corrected CRS interrupt sources.</li>
<li>Modified reset of Backup domain only if the RTC Clock source selection is modified from reset value.</li>
<li>Added missing HAL IRQHandler and callbacks API for CRS management.</li>
<li>Added missing RCC_CFGR_PLLNODIV definition for STM32F030x4/6 devices.</li>
<li>Removed HSI48State from structure RCC_OscInitTypeDef when device does not support HSI48.</li>
<li>Removed RCC_HSI48_OFF.</li>
<li>Removed flag RCC_FLAG_RMV which is write only.</li>
<li>Modified AHBPrescTable and APBPrescTable in HAL.</li>
<li>Renamed RCC_CRS_SYNCWARM to RCC_CRS_SYNCWARN.</li>
<li>Renamed RCC_CRS_TRIMOV to RCC_CRS_TRIMOVF.</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>
<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>
</ul></li>
<li><strong>HAL TIM</strong>
<ul>
<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 HAL_TIM_ConfigOCrefClear() function to allow TIM_CLEARINPUTSOURCE_OCREFCLR as new ClearInputSource.</li>
</ul></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>Aligned UART-USART Stop Bits with others STM32 series.</li>
<li>Renamed IS_UART_WAKEUP_INSTANCE to IS_UART_WAKEUP_FROMSTOP_INSTANCE.</li>
<li>Modified UART_Receive_IT() to execute the RX flush request only in case no data is read from RDR.</li>
<li>Reviewed UART state machine to avoid cases where UART state is overwritten by UART IRQ.</li>
<li>Ensure proper alignment of data pointer in Transmit and Receive functions to avoid toolchain compilation hardfault.</li>
</ul></li>
<li><strong>HAL USB</strong>
<ul>
<li>Corrected double buffer implementation in PCD_SET_EP_DBUF1_CNT() macro.</li>
<li>Added missing USB_CNTR_SOFM when setting wInterrupt_Mask global variable used in HAL_PCD_Init.</li>
</ul></li>
<li><strong>HAL SMARTCARD</strong>
<ul>
<li>Aligned SMARTCARD Stop Bits with others STM32 series.</li>
<li>Modified SMARTCARD_Receive_IT() to execute the RX flush request only in case no data is read from RDR.</li>
<li>Updated SMARTCARD_SetConfig() function following UART Baudrate calculation update.</li>
<li>Reviewed SMARTCARD state machine to avoid cases where SMARTCARD state is overwritten by SMARTCARD IRQ.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_3_1" aria-hidden="true"> <label for="collapse-section1_3_1" aria-hidden="true"><strong>V1.3.1 / 29-January-2016</strong></label>
<div>
<h2 id="main-changes-11">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:
<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.7 (bitwise operations not performed on signed integer types).</li>
</ul></li>
<li>Updated HAL weak empty callbacks to prevent unused argument compilation warnings.</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>Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms</li>
</ul></li>
</ul></li>
<li><strong>HAL ADC</strong>
<ul>
<li>Corrected ADC_CHANNEL_VREFINT enabling in the CCR register.</li>
<li>Corrected assert param of nb of discontinuous conversions when discontinuous mode is enabled.</li>
<li>Removed Flag EOS in HAL_ADC_GetValue().</li>
</ul></li>
<li><strong>HAL CAN</strong>
<ul>
<li>Corrected missing __HAL_UNLOCK when all Mailboxes are busy.</li>
<li>Added ERRI bit clear besides to clearing LEC bits in CAN_ESR register, in case of Error interrupt.</li>
</ul></li>
<li><strong>HAL CORTEX</strong>
<ul>
<li>Removed __HAL_CORTEX_SYSTICKCLK_CONFIG macro, replaced by HAL_SYSTICK_CLKSourceConfig() function.</li>
</ul></li>
<li><strong>HAL CRC</strong>
<ul>
<li>Updated CRC HAL_CRC_Calculate() and HAL_CRC_Accumulate() comments, handling input data pointers that are not * uint32_t.</li>
</ul></li>
<li><strong>HAL FLASH</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>
</ul></li>
<li><strong>HAL GPIO</strong>
<ul>
<li>Updated GPIO Output Speed literals naming to ensure HAL full compatibility.</li>
<li>Added GPIOD support for STM32070x6 devices.</li>
<li>Modified ADC poll for event to return timeout instead of error.</li>
</ul></li>
<li><strong>HAL I2C</strong>
<ul>
<li>Corrected wrong management of AF after NACK.</li>
<li>Aligned I2C driver with new state machine definition.</li>
<li>Corrected interrupt disabling in I2C_SlaveReceive_ISR() function.</li>
<li>Modified HAL_I2C_Master_Transmit to handle sending data of size 0.</li>
<li>Renamed I2C_CR1_DFN to I2C_CR1_DNF.</li>
</ul></li>
<li><strong>HAL PCD</strong>
<ul>
<li>Updated call to Double Buffering Counter Function.</li>
</ul></li>
<li><strong>HAL PWR</strong>
<ul>
<li>Added do { } while(0) in __HAL_PWR_VDDIO2_EXTI_DISABLE_FALLING_EDGE() multi statement macro.</li>
</ul></li>
<li><strong>HAL RCC</strong>
<ul>
<li>Performed optimizations for HAL_RCC_ClockConfig() function.</li>
<li>Corrected inversion in LSE drive capability Bit definition.</li>
<li>Performed optimizations for internal oscillators and PLL startup time.</li>
<li>Added GPIOD support for STM32070x6 devices.</li>
<li>Removed GPIOE support for STM32F030xC devices.</li>
<li>Add RCC_USBCLKSOURCE_NONE when HSI48 is not present.</li>
<li>Corrected definition for flag RCC_FLAG_V18PWRRST.</li>
<li>Added missing macro __HAL_RCC_LSEDRIVE_CONFIG.</li>
<li>Aligned naming of macros related to CRS_CFGR register.</li>
<li>Corrected __HAL_RCC_CRS_CLEAR_IT()/__HAL_RCC_CRS_CLEAR_FLAG() macros.</li>
<li>Removed Bit PLLNODIV for STM32F030x6 devices.</li>
<li>Review implementation to automatically enable backup domain.</li>
<li>Added RCC_IT_HSI48RDY definition.</li>
<li>Renamed __HAL_RCC_MCO_CONFIG() to __HAL_RCC_MCO1_CONFIG().</li>
</ul></li>
<li><strong>HAL RTC</strong>
<ul>
<li>Aligned different HAL_RTC_XXIRQHandler() implementations.</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>
<li>Updated Bits mask literals used in macros definition.</li>
</ul></li>
<li><strong>HAL TIM</strong>
<ul>
<li>Corrected __HAL_TIM_SET_PRESCALER timer prescaler definition.</li>
<li>Protected SMCR register of possible overwrite in HAL_TIM_ConfigOCrefClear().</li>
<li>Corrected assert checks in HAL_TIM_ConfigClockSource().</li>
</ul></li>
<li><strong>HAL TSC</strong>
<ul>
<li>Updated IO default state management.</li>
</ul></li>
<li><strong>HAL UART-USART</strong>
<ul>
<li>Corrected behavior of HAL_UART_IRQ_Handler() (removed enabling/disabling of ERR IT source).</li>
<li>Corrected UART_FLAG_SBKF definition.</li>
<li>Corrected values used for max allowed baudrates constant definitions.</li>
<li>Removed USART_CR2_LINEN/USART_CR3_IREN/USART_CR3_SCEN/USART_CR1_UESM bits definitions for STM32F030x6, STM32F030x8, STM32F070xB, STM32F070x6, STM32F030xC.</li>
</ul></li>
<li><strong>HAL WWDG</strong>
<ul>
<li>Aligned WWDG registers Bits naming between all families.</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 / 26-June-2015</strong></label>
<div>
<h2 id="main-changes-12">Main Changes</h2>
<ul>
<li><strong>Maintenance release to fix known defects and enhancements implementation</strong></li>
<li><strong>Complete HAL API alignment (macro/function renaming)</strong></li>
<li><strong>HAL Generic</strong>
<ul>
<li>Update HAL drivers to be MISRA/C++ compliant.</li>
<li>Initialized handle lock in HAL_PPP_Init().</li>
<li>Add SYSCFG define macros to manage FM+ on GPIOs.</li>
<li>Use uint32_t instead of uint8_t/uint_16.</li>
</ul></li>
<li><strong>HAL ADC</strong>
<ul>
<li>Update ADC state machine. Missing state in function HAL_ADCEx_Calibration_Start().</li>
<li>Align ADC_SOFTWARE_START literal on STM32L0xx.</li>
<li>HAL_ADC_PollForConversion(): update to return error status in case of ADC-DMA mode.</li>
<li>HAL_ADC_Init(): ADC resolution must be changed only when ADC is disabled.</li>
<li>ADC_ConversionStop(): correct wrong timeout value.</li>
<li>HAL_ADC_AnalogWDGConfig(): Add missing assert param.</li>
<li>Remove channel for monitoring VBAT power supply pin on F0 Value line devices.</li>
<li>Move sampling time setting into ADC init structure (keep setting into ADC channel init structure with comments of obsolete setting).</li>
<li>Move __HAL_UNLOCK() before peripheral activation because if an interruption occurs between ADC enable &amp; __HAL_UNLOCK(), IRQ handler will be executed while HAL still locked.</li>
<li>ADC_DMAConvCplt(): Add call to ADC error callback in case of error.</li>
<li>Rename local variables for compliance with coding rules (tmpHALstatus ==&gt; tmp_hal_status).</li>
<li>Simplify __HAL_ADC_GET_IT_SOURCE().</li>
<li>Add use of POSITION_VAL.</li>
<li>Add optimization of ADC stabilization delays.</li>
</ul></li>
<li><strong>HAL CAN</strong>
<ul>
<li>Add management of CAN Slave start bank in HAL_CAN_ConfigFilter().</li>
<li>Unlock the CAN process when communication error occurred.</li>
<li>Replace uint32_t Data[8] by uint8_t Data[8] in structures CanTxMsgTypeDef and CanRxMsgTypeDef.</li>
</ul></li>
<li><strong>HAL CEC</strong>
<ul>
<li>Add new API HAL_CEC_GetReceivedFrameSize() to get size of received frame</li>
<li>HAL CORTEX</li>
<li>Add new macro IS_NVIC_DEVICE_IRQ() to check on negative values of IRQn parameter</li>
</ul></li>
<li><strong>HAL CRC</strong>
<ul>
<li>Add new macros __HAL_CRC_GET_IDR() and __HAL_CRC_SET_IDR().</li>
<li>Update __HAL_CRC_SET_IDR macro in resorting to WRITE_REG instead of MODIFY_REG (cycles gain at execution).</li>
</ul></li>
<li><strong>HAL DAC</strong>
<ul>
<li>HAL_DAC_IRQHandler(): update to check on both DAC_FLAG_DMAUDR1 and DAC_FLAG_DMAUDR2.</li>
</ul></li>
<li><strong>HAL DMA</strong>
<ul>
<li>Correct __HAL_DMA_GET_IT_SOURCE brief comments.</li>
</ul></li>
<li>**HAL FLASH*
<ul>
<li>FLASH_OB_GetRDP(): update function to return the FLASH Read Protection level (OB_RDP_LEVEL_x).</li>
<li>FLASH_OB_RDP_LevelConfig(): update function to set the FLASH Read Protection level (OB_RDP_LEVEL_x).</li>
<li>Add missing macro __HAL_FLASH_GET_LATENCY.</li>
<li>Disable WRP not compliant with other family.</li>
<li>Add FLASH_BANK1_END defines.</li>
<li>Remove WRP defines for few defines under devices swicthes.</li>
<li>Add switch to handle option bits BOOT_SEL &amp; nBOOT1 not present on STM32F030xC &amp; STM32F070x6.</li>
</ul></li>
<li><strong>HAL GPIO</strong>
<ul>
<li>stm32f0xx_hal_gpio_ex.h: add IR as possible GPIO alternate function 1 for STM32F030x6.</li>
</ul></li>
<li><strong>HAL I2C</strong>
<ul>
<li>HAL_I2C_ER_IRQHandler(): handle NACK test during wait on flag treatment.</li>
</ul></li>
<li><strong>HAL I2S</strong>
<ul>
<li>HAL_I2S_DMAStop(): Correctt DMA Stop function which stops both Rx and Tx channels regardless which one was set-up.</li>
</ul></li>
<li><strong>HAL IRDA</strong>
<ul>
<li>HAL_IRDA_DMAStop(): update comments regarding deletion of LOCK/UNLOCK mechanism.</li>
</ul></li>
<li><strong>HAL PWR</strong>
<ul>
<li>Add macros __HAL_PWR_PVD_EXTI_ENABLE_RISING_FALLING_EDGE() and __HAL_PWR_PVD_EXTI_DISABLE_RISING_FALLING_EDGE.</li>
<li>Update HAL_PWR_EnableBkUpAccess() and HAL_PWR_DisableBkUpAccess() comments.</li>
</ul></li>
<li><strong>HAL RCC</strong>
<ul>
<li>Implement workaround to cover RCC limitation regarding Peripheral enable delay.</li>
<li>HAL_RCC_OscConfig(): correct test on LSEState.</li>
<li>Rework __HAL_RCC_LSE_CONFIG macro to manage correctly LSE_Bypass.</li>
<li>Add defines for RCC_System_Clock_Source_Status.</li>
<li>Follow specific procedure to enable HSE.</li>
<li>Add macros to get the enable or disable status of peripheral clock.</li>
<li>HAL_RCCEx_PeriphCLKConfig(): reset backup domain only if RTC clock source has been changed.</li>
<li>Add interface HAL_RCCEx_GetPeriphCLKFreq.</li>
</ul></li>
<li><strong>HAL RTC</strong>
<ul>
<li>Add missing RTC_FLAG_INIT in flag list.</li>
<li>HAL_RTC_DeInit(): add switch products condition around WakeUp timer registers (WUTWF,WUTR).</li>
<li>Remove RTC_FLAG_INIT as currently unused.</li>
</ul></li>
<li><strong>HAL SMARTCARD</strong>
<ul>
<li>Add missing IDLE flag management.</li>
<li>Align SMARTCARD_Last_Bit defines.</li>
</ul></li>
<li><strong>HAL SPI</strong>
<ul>
<li>Fix issue related to missing reset of the Dma Tx callback inside the function HAL_SPI_TransmitReceive_DMA().</li>
<li>In that case only RX callback are used and the call of TX callback can close the communication before the end of the RX processing.</li>
<li>SPI_2linesRxISR_8BIT(): correct issue on RX 2lines with DataSize8bit, even buffer size and CRC 8bit (SPI_RXFIFO_THRESHOLD is not set).</li>
<li>Fit bit update add BSY flag check for all the process.</li>
<li>Add __IO (volatile) to the State member of the SPI_HandleTypeDef struct. to missing reset of the Dma Tx callback inside the function HAL_SPI_TransmitReceive_DMA().</li>
</ul></li>
<li><strong>HAL TIM</strong>
<ul>
<li>Add __HAL_TIM_SET_CAPTUREPOLARITY, TIM_SET_CAPTUREPOLARITY, TIM_RESET_CAPTUREPOLARITY macros.</li>
</ul></li>
<li><strong>HAL UART</strong>
<ul>
<li>Add macro to control CTS and RTS from the customer applications.</li>
<li>UART_DMATransmitCplt(): change implementation to remove WaitOnFlag in ISR.</li>
<li>Change DMA TX management to remove WaitOnFlag in ISR.</li>
<li>Add DMA circular mode support for the communication peripherals.</li>
<li>Add UART NVIC configuration in the HAL_UART_MspInit().</li>
<li>Add the UARTx_IRQHandler() in the stm32fxxx_it.c and the prototype in the stm32fxxx_it.h.</li>
<li>Modify UART DMA implementation issue (missed clear the TC bit in the SR).</li>
<li>Add a OVR flag clear prior resuming DMA RX transfer.</li>
<li>HAL_UART_DMAResume(): Remove UART_CheckIdleState() call and replace it by unlock + return(HAL_OK).</li>
<li>HAL_UART_DMAStop(): remove LOCK/UNLOCK calls.</li>
<li>HAL_UART_DMAStop(): update comments regarding deletion of LOCK/UNLOCK mechanism.</li>
</ul></li>
<li><strong>HAL USART</strong>
<ul>
<li>HAL_USART_IRQHandler(): Correct parameters values of __HAL_USART_CLEAR_IT().</li>
<li>Replace xxxITxxx defines by xxxCLEARxxxF defines in __HAL_USART_CLEAR_IT calls.</li>
<li>HAL_USART_Init(): update to reach max frequencies (enable oversampling by 8).</li>
<li>HAL_USART_DMAPause()/HAL_USART_DMAResume(): add of a OVR flag clear prior resuming DMA RX transfer.</li>
<li>HAL_USART_DMAResume(): Remove UART_CheckIdleState() call and replace it by just an Unlock + ret(HAL_OK).</li>
<li>HAL_USART_DMAStop(): update comments regarding deletion of LOCK/UNLOCK mechanism.</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 / 09-January-2015</strong></label>
<div>
<h2 id="main-changes-13">Main Changes</h2>
<ul>
<li><strong>HAL</strong>
<ul>
<li>stm32f0xx_hal.h: add missing define for USART3_RX/TX DMA remap on channel3 &amp; channel2 for STM32F070xB only</li>
</ul></li>
<li><strong>HAL GPIO</strong>
<ul>
<li>stm32f0xx_hal_gpio_ex.h: add I2C1 as possible GPIO alternate function 3 for STM32F070xB</li>
</ul></li>
<li><strong>HAL RCC</strong>
<ul>
<li>stm32f0xx_hal_rcc_ex.h: add missing USART2_CLK_ENABLE/DISABLE() macros for STM32F070x6</li>
</ul></li>
<li><strong>HAL RTC</strong>
<ul>
<li>stm32f0xx_hal_rtc_ex.h/.c: Enable RTC periodic Wakeup timer feature on STM32F070xB &amp; STM32F030xC</li>
<li>stm32f0xx_hal_rtc_ex.c: remove HAL_RTCEx_Tamper3EventCallback() API for STM32F070xB &amp; STM32F030xC, since there is no TAMPER3 on those products.</li>
</ul></li>
<li><strong>HAL UART</strong>
<ul>
<li>stm32f0xx_hal_uart_ex.c/.h: add HAL_RS485Ex_Init() API for STM32F0xx Value Line devices</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 / 05-December-2014</strong></label>
<div>
<h2 id="main-changes-14">Main Changes</h2>
<ul>
<li><strong>HAL generic</strong>
<ul>
<li>Add support of new STM32F0 value line devices <strong>STM32F070xB/x6</strong> and <strong>STM32F030xC</strong>.</li>
<li>HandleTypeDef.ErrorCode must be typed uint32_t</li>
<li>Update HAL drivers to ensure compliance w/ C++</li>
<li>Add some generic defines (__NOINLINE) in stm32f0xx_hal_def.h</li>
<li>Case mismatch between #include typo and effective file name generating compiler errors under Linux</li>
<li>Correct various issues for documentation generation (group name, doxygen tags, etc..)</li>
<li>Missing support of I2C_PAx_FMP of F04xx devices</li>
</ul></li>
<li><strong>HAL ADC</strong>
<ul>
<li>Improve HAL ADC comments</li>
<li>Correct issue observed with ADC start simultaneous commands</li>
<li>Remove macro __HAL_ADC_OFR_CHANNEL() since OFRx register is not available on F0 devices.</li>
</ul></li>
<li><strong>HAL CAN</strong>
<ul>
<li><strong>ErrorCode</strong> field is now declared as __IO uint32 instead of <strong>enum HAL_CAN_ErrorTypeDef</strong> to fix C++ compilation issue</li>
</ul></li>
<li><strong>HAL CEC</strong>
<ul>
<li>change <strong>ErrorCode</strong> field declaration from uint32_t to __IO uint32_t</li>
<li>correct CEC state: Ready to Receive state lost upon Transmission end</li>
</ul></li>
<li><strong>HAL COMP</strong>
<ul>
<li>State field is now declared as uint32_t instead of <strong>enum HAL_COMP_StateTypeDef</strong> to fix C++ compilation issue</li>
<li>change HAL_COMP_GetState() type declaration from HAL_COMP_StateTypeDef to uint32_t to fix C++ compilation issue</li>
</ul></li>
<li><strong>HAL CRC</strong>
<ul>
<li>Wrong <span class="citation" data-cites="ref">@ref</span> in CRCLength field description for documentation generation</li>
<li>Add support of new STM32F0 value line devices STM32F070xB/x6 and STM32F030xC.</li>
</ul></li>
<li><strong>HAL DAC</strong>
<ul>
<li>HAL_DAC_Stop_DMA() code clean up</li>
<li>Use of internal macro MODIFY_REG() to update CR register</li>
</ul></li>
<li><strong>HAL DMA</strong>
<ul>
<li>Add support of new STM32F0 value line devices <strong>STM32F070xB/x6</strong> and <strong>STM32F030xC</strong>.</li>
<li>DMA channel remap register renamed for compatibility with other STM32 devices.</li>
<li>Correct wrong comments in __HAL_DMA_GET_FLAG and __HAL_DMA_CLEAR_FLAG macros description</li>
</ul></li>
<li><strong>HAL FLASH</strong>
<ul>
<li>Fix in macro IS_OPTIONBYTE(VALUE) when all option_OB are selected</li>
<li><strong>ErrorCode</strong> field is now declared as uint32 instead of <strong>enum FLASH_ErrorTypeDef</strong> to fix C++ compilation issue</li>
<li>change HAL_FLASH_GetError() type declaration from FLASH_ErrorTypeDef to uint32_t to fix C++ compilation issue</li>
<li>Clean the error context to FLASH_ERROR_NONE before starting new Flash operation</li>
<li>Put all the clear flags in the FLASH_SetSerrorCode()</li>
<li>Stop the programming procedure in case of error detected in HAL_FLASH_Program()</li>
<li>Check error before doing new procedure in HAL_FLASH_IRQhandler()</li>
</ul></li>
<li><strong>HAL GPIO</strong>
<ul>
<li>Add support of new STM32F0 value line devices <strong>STM32F070xB/x6</strong> and <strong>STM32F030xC</strong>.</li>
<li>correct Typo in How to use this driver section &amp; update comments</li>
<li>Add assert on GPIO PIN in HAL_GPIO_DeInit()</li>
<li>Add assert on GPIO AF instance to protect HAL_GPIO_Init() from impossible AF configuration</li>
<li>Rename internal macro GET_GPIO_INDEX() into GPIO_GET_INDEX()</li>
<li>Reset Interrupt mode registers only in HAL_GPIO_DeInit()</li>
</ul></li>
<li><strong>HAL I2C</strong>
<ul>
<li>Add support of new STM32F0 value line devices <strong>STM32F070xB/x6</strong> and <strong>STM32F030xC</strong>.</li>
<li>ErrorCode field is now declared as uint32 instead of <strong>enum HAL_I2C_ErrorTypeDef</strong> to fix C++ compilation issue</li>
</ul></li>
<li><strong>HAL I2S</strong>
<ul>
<li><strong>ErrorCode</strong> field is now declared as uint32 instead of <strong>enum HAL_I2S_ErrorTypeDef</strong> to fix C++ compilation issue.</li>
<li>Change <strong>HAL_I2S_GetError()</strong> type declaration from HAL_I2S_ErrorTypeDef to uint32_t to fix C++ compilation issue.</li>
<li>Add use of UNUSED(tmpreg) in __HAL_I2S_CLEAR_OVRFLAG() &amp; __HAL_I2S_CLEAR_UDRFLAG to fix Unused variable warning w/ TrueSTUDIO.</li>
<li>Typo in I2S HAL driver macros list section of stm32f0xx_hal_i2s.c</li>
<li>Missing doxygen tags for I2S_HandleTypeDef fields description (documentation generation)</li>
</ul></li>
<li><strong>HAL IRDA</strong>
<ul>
<li><strong>ErrorCode</strong> field is now declared as uint32 instead of <strong>enum HAL_IRDA_ErrorTypeDef</strong> to fix C++ compilation issue</li>
<li>Missing doxygen tags for IRDA_HandleTypeDef fields description</li>
</ul></li>
<li><strong>HAL PWR</strong>
<ul>
<li>Add support of new STM32F0 value line devices <strong>STM32F070xB/x6</strong> and <strong>STM32F030xC</strong>.</li>
<li>Add new API to manage SLEEPONEXIT and SEVONPEND bits of SCR register:
<ul>
<li>HAL_PWR_DisableSleepOnExit()</li>
<li>HAL_PWR_EnableSleepOnExit()</li>
<li>HAL_PWR_EnableSEVOnPend()</li>
<li>HAL_PWR_DisableSEVOnPend()</li>
</ul></li>
<li>Removed useless regulator parameter setting for F0 family in core of HAL_PWR_EnterSLEEPMode()</li>
</ul></li>
<li><strong>HAL RCC</strong>
<ul>
<li>Add support of new STM32F0 value line devices <strong>STM32F070xB/x6</strong> and <strong>STM32F030xC</strong>.</li>
<li>Add a comment in the How to use this driver section to mention the Peripheral enable delay</li>
<li>Move __HAL_RCC_USART2_CONFIG() &amp; __HAL_RCC_GET_USART2_SOURCE() from stm32f0xx_hal_rcc.h to stm32f0xx_hal_rcc_ex.h since this feature is not supported on all F0 devices</li>
<li>Change <strong>HAL_RCCEx_CRSWaitSynchronization()</strong> type declaration from RCC_CRSStatusTypeDef to uint32_t to fix C++ compilation issue</li>
</ul></li>
<li><strong>HAL RTC</strong>
<ul>
<li>Add support of new STM32F0 value line devices <strong>STM32F070xB/x6</strong> and <strong>STM32F030xC</strong>.</li>
<li>Enhance <span class="citation" data-cites="note">@note</span> describing the use of HAL RTC APIs</li>
</ul></li>
<li><strong>HAL SMARTCARD</strong>
<ul>
<li><strong>ErrorCode</strong> field is now declared as uint32 instead of <strong>enum HAL_SMARTCARD_ErrorTypeDef</strong> to fix C++ compilation issue</li>
</ul></li>
<li><strong>HAL SMBUS</strong>
<ul>
<li><strong>ErrorCode &amp; PreviousState</strong> fields are now declared as uint32 instead of <strong>enum HAL_SMBUS_ErrorTypeDef</strong> &amp; <strong>HAL_SMBUS_StateTypeDef</strong> to fix C++ compilation issue</li>
<li>Change <strong>HAL_SMBUS_GetState()</strong> type declaration from HAL_SMBUS_StateTypeDef to uint32_t to fix C++ compilation issue</li>
</ul></li>
<li><strong>HAL SPI</strong>
<ul>
<li><strong>ErrorCode</strong> field is now declared as uint32 instead of <strong>enum HAL_SPI_ErrorTypeDef</strong> to fix C++ compilation issue</li>
<li>Add use of UNUSED(tmpreg) in __HAL_SPI_CLEAR_MODFFLAG(), __HAL_SPI_CLEAR_OVRFLAG(), __HAL_SPI_CLEAR_FREFLAG() to fix Unused variable warning w/ TrueSTUDIO.</li>
<li>Add DMA circular mode support on SPI HAL driver.</li>
<li>Internal function renaming: HAL_SPI_DMATransmitCplt(), HAL_SPI_DMAReceiveCplt(), HAL_SPI_DMATransmitReceiveCplt() &amp; HAL_SPI_DMAError() renamed respectively into SPI_DMATransmitCplt(), SPI_DMAReceiveCplt(), SPI_DMATransmitReceiveCplt() &amp; SPI_DMAError().</li>
<li>Remove unused HAL_StatusTypeDef SPI_EndRxTxTransaction() prototype</li>
<li>uint32_t driver alignment for compatibility with other STM32 devices</li>
<li>Add new <strong>API HAL_SPI_GetError()</strong>, which was missing on STM32F0xx family</li>
</ul></li>
<li><strong>HAL UART/USART</strong>
<ul>
<li>Add support of new STM32F0 value line devices <strong>STM32F070xB/x6</strong> and <strong>STM32F030xC</strong>.</li>
<li>structure UART_WakeUpTypeDef moved to stm32f0xx_hal_uart_ex.h since wakeup feature is not available on all F0 devices.</li>
<li><strong>ErrorCode</strong> field is now declared as uint32 instead of <strong>enum HAL_U(S)ART_ErrorTypeDef</strong> to fix C++ compilation issue</li>
<li>unused HAL_USART_SetConfig() prototype to be removed from stm32f0xx_hal_usart.h</li>
<li>Add missing API HAL_StatusTypeDef <strong>HAL_LIN_SendBreak()</strong></li>
<li>correct wrong USART_IT_CM value</li>
<li>correct issue with Lin mode data length</li>
<li>Add new value for Stop bit definition: UART_STOPBITS_1_5</li>
</ul></li>
<li><strong>HAL USB</strong>
<ul>
<li>Add support of new STM32F0 value line devices <strong>STM32F070xB/x6</strong>.</li>
<li>Wrong comment in HAL_PCD_Dev(Connect/Disconnect) functions description</li>
<li>Correct _HAL_PCD_CLEAR_FLAG() macros definition</li>
</ul></li>
<li><strong>HAL WWDG</strong>
<ul>
<li>Add new macro to manage WWDG IT &amp; correction:
<ul>
<li>__HAL_WWDG_DISABLE_IT()</li>
<li>__HAL_WWDG_GET_IT()</li>
<li>__HAL_WWDG_GET_IT_SOURCE()</li>
</ul></li>
</ul></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 / 03-October-2014</strong></label>
<div>
<h2 id="main-changes-15">Main Changes</h2>
<ul>
<li><strong>HAL generic</strong>
<ul>
<li>general improvement of Doxygen Tags for CHM UM generation</li>
<li>Add support of new devices <strong>STM32F091xC, STM32F098xx</strong> in STM32F0xx HAL drivers</li>
<li>minor corrections for Pdf/Chm UM generation</li>
<li>Correction for MISRA</li>
<li>[F098xx] Remove PVD IT line wrapper</li>
<li>FLAG&amp;IT assert macros to be removed</li>
<li>Bad macro name in stm32F0xx_hal.c/.h files</li>
<li>uint32_t Alignment in HAL driver</li>
</ul></li>
<li><strong>HAL</strong> update (for STM32F091xC/STM32F098xx)
<ul>
<li>Add new define for HAL IRDA Envelope source Selection</li>
<li>Add new macro IS_HAL_SYSCFG_IRDA_ENV_SEL()</li>
<li>Add new defines for ISR Wrapper (HAL_SYSCFG_ITLINE0, etc..)</li>
<li>Add new macro __HAL_GET_PENDING_IT()</li>
<li>Add new macro __HAL_SYSCFG_IRDA_ENV_SELECTION()</li>
<li>Add new macro __HAL_SYSCFG_GET_IRDA_ENV_SELECTION()</li>
</ul></li>
<li><strong>HAL COMP</strong>
<ul>
<li>Missing assert param IS_COMP_TRIGGERMODE</li>
</ul></li>
<li><strong>HAL Cortex</strong>
<ul>
<li>remove Macro not supported by cortex-M0 in stm32f0xx.h</li>
</ul></li>
<li><strong>HAL DMA</strong>
<ul>
<li>Add new defines for DMAx Channel remapping (DMAx_CHANNELx_RMP)</li>
<li>Add new defines for DMAx channels remap bit field definition</li>
<li>Add new macros: IS_HAL_DMA1_REMAP(), IS_HAL_DMA2_REMAP()</li>
<li>Add new macro: __HAL_DMA_GET_TC_FLAG_INDEX(), that returns specified transfer complete flag index</li>
<li>Add new macro: __HAL_DMA_GET_HT_FLAG_INDEX(), that returns specified half transfer complete flag index</li>
<li>Add new macro: __HAL_DMA_GET_TE_FLAG_INDEX(), that returns specified transfer error flag index</li>
<li>Add new macro: __HAL_DMA_GET_FLAG()</li>
<li>Add new macro: __HAL_DMA_CLEAR_FLAG()</li>
<li>Add new macro: __HAL_DMA1_REMAP(), __HAL_DMA2_REMAP()</li>
<li>Bit definition name error for HAL_DMA1_CH2 remap on STM32F091xC</li>
<li>HAL_DMA_PollForTransfer updated</li>
</ul></li>
<li><strong>HAL GPIO</strong>
<ul>
<li>BSRR register should not be split in BSRRH/BSRRL</li>
<li>rework GPIO_GET_SOURCE</li>
<li>Add new defines for AF functions selection</li>
</ul></li>
<li><strong>HAL I2S</strong>
<ul>
<li>Supp ClockSource in Init</li>
</ul></li>
<li><strong>HAL IRDA</strong>
<ul>
<li>Incorrect definition for IS_IRDA_REQUEST_PARAMETER macro</li>
</ul></li>
<li><strong>HAL IWDG</strong>
<ul>
<li>Use WRITE_REG instead of SET_BIT</li>
</ul></li>
<li><strong>HAL PWR</strong>
<ul>
<li>Functions for VDDIO2 management missing in all F09xx, F07xx, F04xx</li>
<li>PVD feature need falling/rising Event modes
<ul>
<li>Update defines name PWR_MODE_EVT/PWR_MODE_IT_RISING/PWR_MODE_IT_FALLING/PWR_MODE_IT_RISING_FALLING to PWR_<strong>PVD</strong>_MODE_<strong>NORMAL</strong>/PWR_<strong>PVD</strong>_MODE_IT_RISING/PWR_<strong>PVD</strong>_MODE_IT_FALLING/PWR_<strong>PVD</strong>_MODE_IT_RISING_FALLING</li>
<li>Add new defines PWR_PVD_MODE_EVENT_RISING, PWR_PVD_MODE_EVENT_FALLING, PWR_PVD_MODE_EVENT_RISING_FALLING</li>
<li>Update macro IS_PWR_PVD_MODE()</li>
<li>change macro name: __HAL_<strong>PWR</strong>_PVD_EXTI_ENABLE_IT(), __HAL_<strong>PWR</strong>_PVD_EXTI_DISABLE_IT(), __HAL_<strong>PWR</strong>_PVD_EXTI_GENERATE_SWIT(), __HAL_<strong>PWR</strong>_PVD_EXTI_GET_FLAG(), __HAL_<strong>PWR</strong>_PVD_EXTI_CLEAR_FLAG()</li>
<li>Add new macro __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()</li>
</ul></li>
</ul></li>
<li><strong>HAL RCC</strong>
<ul>
<li>Defect correction:
<ul>
<li>HAL_RCC_OscConfig: HSERDY has to be checked also in by pass mode</li>
<li>STM32F091xC/STM32F098xx
<ul>
<li>New structure RCC_PeriphCLKInitTypeDef</li>
<li>Add defines for RCC new peripheral clock selection: RCC_PERIPHCLK_USART1, RCC_PERIPHCLK_USART2, RCC_PERIPHCLK_I2C1, RCC_PERIPHCLK_CEC, RCC_PERIPHCLK_RTC, RCC_PERIPHCLK_USART3</li>
<li>Add macro IS_RCC_PERIPHCLK()</li>
<li>Add defines for USART3 clock source selection (RCC_USART3CLKSOURCE_PCLK1, RCC_USART3CLKSOURCE_SYSCLK, CC_USART3CLKSOURCE_LSE, CC_USART3CLKSOURCE_HSI</li>
<li>Add macro IS_RCC_USART3CLKSOURCE()</li>
<li>Add macro __HAL_RCC_GET_USART3_SOURCE()</li>
<li>Add macro __HAL_RCC_USART3_CONFIG()</li>
<li>add clock enable macros for new UART: __USART5_CLK_ENABLE, __USART6_CLK_ENABLE, __USART7_CLK_ENABLE, __USART8_CLK_ENABLE</li>
<li>add clock disable macros for new UART: __USART5_CLK_DISABLE, __USART6_CLK_DISABLE, __USART7_CLK_DISABLE, __USART8_CLK_DISABLE</li>
<li>add Force reset macros for new UART: __USART5_FORCE_RESET, __USART6_FORCE_RESET, __USART7_FORCE_RESET, __USART8_FORCE_RESET</li>
<li>add Release reset macros for new UART: __USART5_RELEASE_RESET, __USART6_RELEASE_RESET, __USART7_RELEASE_RESET, __USART8_RELEASE_RESET</li>
</ul></li>
</ul></li>
</ul></li>
<li><strong>HAL SMARTCARD</strong>
<ul>
<li>change SMARTCARD_AdvFeatureConfig() from exported to static private function</li>
<li>STM32F091xC/STM32F098xx:
<ul>
<li>Add new macro __HAL_SMARTCARD_GETCLOCKSOURCE() for USART1, USART2, USART3, USAR</li>
</ul></li>
</ul></li>
<li><strong>HAL SMBUS</strong>
<ul>
<li>change SMARTCARD_AdvFeatureConfig() from exported to static private function</li>
</ul></li>
<li><strong>HAL SPI</strong>
<ul>
<li>Function HAL_SPI_TransmitReceive muse use SPI_FLAG_RXNE to read CRC</li>
<li>Function HAL_SPI_IRQHandler, in case of error the state must be reset to ready</li>
</ul></li>
<li><strong>HAL TIM</strong>
<ul>
<li>Missed/Unused assert param to be added/removed</li>
<li>Trigger interrupt should be activated when working with a slave mode</li>
<li>Break interrupt should be activated in HAL_TIMEx_OCN_Start_IT</li>
<li>Wrong CCMR register cleared in HAL_TIM_IRQHandler for Input Capture event Channel 3 and 4</li>
<li>missing assert in HAL_TIMEx_ConfigBreakDeadTime</li>
<li>Add URS_ENABLE/ URS_DISABLE macros</li>
</ul></li>
<li><strong>HAL UART/USART</strong>
<ul>
<li>Change UART TX-IT implementation to remove WaitOnFlag in ISR</li>
<li>STM32F091xC/STM32F098xx:
<ul>
<li>Add new macro __HAL_UART_GETCLOCKSOURCE() for USART1, USART2, USART3, USART4</li>
<li>Add new macro __HAL_USART_GETCLOCKSOURCE() for USART1, USART2, USART3, USART4</li>
</ul></li>
</ul></li>
<li><strong>HAL USB</strong>
<ul>
<li>Bad IN/OUT EndPoint parameter array size</li>
</ul></li>
<li><strong>HAL WWDG</strong>
<ul>
<li>improvements from other families</li>
</ul></li>
</ul>
<table>
<thead>
<tr class="header">
<th style="text-align: left;">Driver</th>
<th style="text-align: center;">Defect Correction</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">PWR</td>
<td style="text-align: center;">PVD feature need falling/rising Event modes</td>
</tr>
<tr class="even">
<td style="text-align: left;">COMP</td>
<td style="text-align: center;">Missing assert param IS_COMP_TRIGGERMODE</td>
</tr>
<tr class="odd">
<td style="text-align: left;">RCC</td>
<td style="text-align: center;">HAL_RCC_OscConfig: HSERDY has to be checked also in by pass mode</td>
</tr>
</tbody>
</table>
</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-16">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 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>Add NonInvertingInput field in the COMP_InitTypeDef structure.</li>
<li>Add new defines COMP_NONINVERTINGINPUT_IO1 and COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED</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 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 I2S</strong> update
<ul>
<li>I2S clock source change: new define I2S_CLOCK_SYSCLK, remove I2S_CLOCK_PLL</li>
<li>Improvement done in I2S transfer/receive processes</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 PCD</strong> update
<ul>
<li>Add new macro __HAL_USB_EXTI_GENERATE_SWIT</li>
</ul></li>
<li><strong>HAL PWR</strong> 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>Add USB peripheral and clocking macros for STM32F078xx 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 / 12-June-2018</strong></label>
<div>
<h2 id="main-changes-17">Main Changes</h2>
<ul>
<li>First official release of STM32F0xx HAL drivers for <strong>STM32F030x4/x6, STM32F030x8, STM32F031x4/x6, STM32F051x4/x6/x8, STM32F071x8/xB, STM32F042x4/x6, STM32F072x8/xB, STM32F038xx, STM32F048xx, STM32F058xx and STM32F078xx 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>
