<!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_8" checked aria-hidden="true"> <label for="collapse-section1_7_8" aria-hidden="true"><strong>V1.7.8 / 29-March-2024</strong></label>
<div>
<h2 id="main-changes">Main Changes</h2>
<ul>
<li>General updates to fix known defects and enhancements implementation</li>
</ul>
<h2 id="contents">Contents</h2>
<ul>
<li><strong>HAL Generic</strong> update
<ul>
<li>Add missing call to UNUSED() macro to avoid compilation warnings related to the unused arguments for the following HAL drivers: <strong>CORTEX, RCC</strong></li>
<li>HAL code quality enhancement for MISRA-C Rule-8.13 by adding const qualifiers.</li>
</ul></li>
<li><strong>HAL GPIO</strong>
<ul>
<li>Replace GPIO_Pin_x with GPIO_PIN_x to be compliant with macros definition</li>
</ul></li>
<li><strong>LL/HAL RTC_BKP</strong>
<ul>
<li>Remove macro __HAL_RTC_TAMPER_GET_IT() as it is redundant with macro __HAL_RTC_TAMPER_GET_FLAG() and create an alias into the hal_legacy.h file</li>
<li>Correct misleading note about shadow registers</li>
</ul></li>
<li><strong>LL/HAL ADC</strong>
<ul>
<li>In function LL_ADC_DeInit(), remove useless action of conversion trigger change. Moreover, this action was not compliant with ADC enable state (cf reference manual).</li>
<li>Update description of LL_ADC_REG_ReadConversionData32()</li>
</ul></li>
<li><strong>LL/HAL I2C</strong> update
<ul>
<li>Update HAL I2C driver to prefetch data before starting the transmission: implementation of errata sheet workaround I2C2-190208 : Transmission stalled after first byte</li>
<li>Update HAL I2C driver to disable all interrupts after end of transaction.</li>
<li>Update HAL_I2C_Init API to clear ADD10 bit in 7 bit addressing mode.</li>
<li>Update HAL_I2C_Mem_Write_IT API to initialize XferSize at 0.</li>
<li>Update I2C_Slave_ISR_IT, I2C_Slave_ISR_DMA and I2C_ITSlaveCplt to prevent the call of HAL_I2C_ListenCpltCallback twice.</li>
<li>Update I2C_WaitOnRXNEFlagUntilTimeout to check I2C_FLAG_AF independently from I2C_FLAG_RXNE.</li>
<li>In function HAL_I2C_IsDeviceReady, remove the unusable code.</li>
<li>Update I2C_WaitOnFlagUntilTimeout to handle error case.</li>
<li>Update HAL_I2C_Slave_Transmit to check if the received NACK is the good one.</li>
<li>Update the HAL I2C driver to implement the errata workaround "Last-received byte loss in reload mode"</li>
<li>Update LL_I2C_HandleTranfer function to prevent undefined behavior of volatile usage before updating the CR2 register.</li>
</ul></li>
<li><strong>HAL SMBUS</strong>
<ul>
<li>Update HAL SMBUS driver to prefetch data before starting the transmission: implementation of errata sheet workaround I2C2-190208 : Transmission stalled after first byte</li>
<li>Update SMBUS_ITErrorHandler to flash TXDR just in case of error</li>
</ul></li>
<li><strong>HAL UART</strong>
<ul>
<li>Update initialisation sequence for TXINV, RXINV and TXRXSWAP settings</li>
<li>Fix check on UART Rx state in HAL_UART_RegisterRxEventCallback() and HAL_UART_UnRegisterRxEventCallback() to allow user Rx Event Callback registration when a transmission is ongoing</li>
<li>Prevent RTOF flag from being cleared by a transmit process in polling mode.</li>
</ul></li>
<li><strong>HAL SPI</strong>
<ul>
<li>Update HAL_SPI_TransmitReceive API to set the bit CRCNEXT in case of one byte transaction.</li>
<li>Update IT API to enable interrupts after process unlock.</li>
</ul></li>
<li><strong>HAL I2S</strong>
<ul>
<li>Update HAL I2S driver to fix misplaced __HAL_LOCK and remove ‘go to’ instruction</li>
</ul></li>
<li><strong>LL/HAL TIM</strong>
<ul>
<li>Remove multiple volatile reads or writes in interrupt handler for better performance</li>
<li>HAL TIM driver’s operational behavior improvement</li>
<li>Improved period configuration parameter check</li>
<li>Update interrupt flag is cleared when the update event is generated by software</li>
<li>Remove unnecessary change of MOE bitfield in LL_TIM_BDTR_Init()</li>
<li>LL_TIM UM generation fix</li>
<li>User manual quality improvement</li>
<li>MISRA warning fix</li>
<li>Add LL_TIM_CC_IsEnabledPreload() function</li>
<li>Add system break interrupt handling in IRQ handler</li>
<li>Make APIs HAL_TIMEx_OCN_Stop_IT() and HAL_TIMEx_PWMN_Stop_IT() more generic</li>
<li>Assert check for the right channels</li>
<li>Improve CH4N support handling</li>
</ul></li>
<li><strong>LL UTILS</strong>
<ul>
<li>Fix ‘Ticks’ parameter’s description of LL_InitTick() function.</li>
</ul></li>
<li><strong>HAL CAN</strong>
<ul>
<li>Remove mention of ‘open-drain’ from the pin configuration paragraph in the ‘How to use’ section</li>
<li>Put __CAN_HandleTypeDef definition under a compilation condition to avoid MISRAC2012-Rule-2.4 violation</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_7_7" 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-1">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-1">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-2">Main Changes</h2>
<ul>
<li>General updates to fix known defects and enhancements implementation.</li>
</ul>
<h2 id="contents-2">Contents</h2>
<ul>
<li><strong>HAL 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-3">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-4">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-5">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-6">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-7">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-8">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-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><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-10">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-11">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-12">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-13">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-14">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-15">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-16">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-17">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-18">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>
