<!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 STM32L0xx 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-forstm32l0xx-hal-drivers"><small>Release Notes for</small><mark>STM32L0xx HAL Drivers</mark></h1>
<p>Copyright © 2017 STMicroelectronics<br />
</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 reusability 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 provides a 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 depends 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 functions 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>Full independence from HAL and standalone usage (without HAL drivers)</li>
<li>Full features coverage of all the supported peripherals</li>
</ul>
</div>
<div class="col-sm-12 col-lg-8">
<h1 id="update-history">Update History</h1>
<div class="collapse">
<input type="checkbox" id="collapse-section1_10_6" checked aria-hidden="true"> <label for="collapse-section1_10_6" aria-hidden="true">V1.10.6 / 27-January-2023</label>
<div>
<h2 id="main-changes">Main Changes</h2>
<ul>
<li>General updates to fix known defects and enhancements implementation.</li>
<li>HAL code quality enhancement for MISRA-C Rule-8.13 by adding const qualifiers.</li>
</ul>
<h2 id="contents">Contents</h2>
<ul>
<li><strong>HAL/LL Generic</strong> update
<ul>
<li>Allow redefinition of macro UNUSED(x).</li>
</ul></li>
<li><strong>HAL CORTEX</strong> update
<ul>
<li>Add barrier instructions in hal_cortex.c file to be compliant with ARM recommendation.</li>
</ul></li>
<li><strong>HAL GPIO</strong> update
<ul>
<li>Reorder EXTI configuration sequence in order to avoid unexpected level detection.</li>
<li>Substitute GPIO_MODER_MODE0 by GPIO_MODE_ANALOG in API HAL_GPIO_DeInit().</li>
</ul></li>
<li><strong>HAL EXTI</strong> update
<ul>
<li>Fix computation of pExtiConfig-&gt;GPIOSel in HAL_EXTI_GetConfigLine().</li>
</ul></li>
<li><strong>HAL RCC</strong> update
<ul>
<li>Complete LCD clock configuration by invoking __HAL_RCC_LCD_CONFIG() macro in HAL_RCCEx_PeriphCLKConfig().</li>
<li>Remove useless assignments of frequency in HAL_RCCEx_GetPeriphCLKFreq() API to avoid CodeSonar warning generation.</li>
</ul></li>
<li><strong>HAL FLASH</strong> update
<ul>
<li>Update the FLASH_OB_RDPConfig() function to keep reserved bits at reset value.</li>
<li>Update the HAL_FLASHEx_DATAEEPROM_Program() function to check status of write operation at the end.</li>
<li>Relocate variable pFlash and private function FLASH_PageErase() to respectively stm32l0xx_hal_flash.h and stm32l0xx_hal_flash_ex.h to avoid the generation of related MISRAC2012-Rule-8.5_b error.</li>
<li>Remove invariant TypeProgram check in HAL_FLASH_Program_IT() API to avoid generation of Code Sonar’s Redundant Condition warning.</li>
<li>A duplicated declaration of FLASH_SIZE_DATA_REGISTER macro was removed from stm32l0xx_hal_flash_ex.h to avoid generation of related MISRAC2012-Rule-5.4_c99 error.</li>
</ul></li>
<li><strong>HAL PWR</strong> update
<ul>
<li>A duplicated declaration of __HAL_PWR_PVD_EXTI_GENERATE_SWIT() macro was removed from stm32l0xx_hal_pwr.h file to avoid the generation of MISRAC2012-Rule-5.4_c99 error.</li>
</ul></li>
<li><strong>LL UTILS</strong> update
<ul>
<li>Remove useless assignment to avoid CodeSonar warning.</li>
</ul></li>
<li><strong>HAL/LL CRC</strong> update
<ul>
<li>Add filter in HAL_CRCEx_Polynomial_Set() to exclude even polynomials.</li>
<li>Update to fix STM32CubeIDE warning: overflow in conversion from ‘int’ to ‘uint8_t’.</li>
</ul></li>
<li><strong>HAL ADC</strong> update
<ul>
<li>Better performance by removing multiple volatile reads or writes in interrupt handler.</li>
</ul></li>
<li><strong>HAL DAC</strong> update
<ul>
<li>Remove reused name DAC_HandleTypeDef as struct to comply to MISRA C 2004 rule 5.3.</li>
<li>Fix incorrect word ‘surcharged’ in functions headers.</li>
</ul></li>
<li><strong>HAL/LL TIM</strong> update
<ul>
<li>Fix HAL_TIMEx_RemapConfig() lock issue: __HAL_LOCK is called before calls to assert_param().</li>
<li>__LL_TIM_CALC_PSC() macro update to round up the evaluate value when the fractional part of the division is greater than 0.5.</li>
<li>Remove useless check on IS_TIM_ADVANCED_INSTANCE() within LL_TIM_BDTR_Init() to fix Break Filter configuration problem with specific TIM instances</li>
</ul></li>
<li><strong>HAL/LL LPTIM</strong> update
<ul>
<li>Add check on PRIMASK register to prevent from enabling unwanted global interrupts within LPTIM_Disable() and LL_LPTIM_Disable().</li>
<li>Add const qualifier to comply to MISRA-C Rule-8.13.</li>
<li>Removed Lock management from callback management functions.</li>
<li>Applied same naming rules to clear FLAG related functions.</li>
<li>Improved LPTIM FSM management consistency.</li>
</ul></li>
<li><strong>HAL RTC BKP</strong> update
<ul>
<li>Move ‘clear EXTI and RTC interrupt flags’ instructions before calls to callbacks in IRQ handlers in order to better handle the case of an interruption by a higher priority IRQ.</li>
<li>Use bits definitions from CMSIS Device header file instead of hard-coded values.</li>
<li>Wrap comments to be 80-character long and correct typos.</li>
<li>Move constants RTC_IT_TAMP from hal_rtc.h to hal_rtc_ex.h.</li>
<li>Gather all instructions related to exiting the “init” mode into new function RTC_ExitInitMode().</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 TAMPCR register in one single access instead of two.</li>
<li>Deactivate selected TAMPER’s interrupt (besides global TAMPER interrupt).</li>
<li>Avoid activating global TAMPER interrupt.</li>
<li>Avoid modifying user structure sTamper.</li>
<li>Avoid overwriting TAMPCR register’s content on successive calls to the function.</li>
</ul></li>
<li>Check if the RTC calendar has been previously initialized before entering initialization mode.</li>
<li>Clear RSF flag using a single ‘write’ operation instead of a ‘read-modify-write’ sequence to avoid clearing other ISR flags if set in the meantime.</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>Fix wrong cast when computing the USARTDIV value in UART_SetConfig().</li>
<li>Removal of HAL_LOCK/HAL_UNLOCK calls in HAL UART Tx and Rx APIs.</li>
<li>Remove __HAL_LOCK() from HAL_xxx_RegisterCallback()/HAL_xxx_UnRegisterCallback()</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>
<li>Add a new API HAL_UARTEx_GetRxEventType() that could be used to retrieve the type of event that has led the RxEventCallback execution.</li>
</ul></li>
<li><strong>HAL SMARTCARD</strong> update
<ul>
<li>Improve header description of SMARTCARD_WaitOnFlagUntilTimeout() function.</li>
<li>Fix wrong cast when computing the USARTDIV value in SMARTCARD_SetConfig().</li>
<li>Remove __HAL_LOCK() from HAL_xxx_RegisterCallback()/HAL_xxx_UnRegisterCallback().</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>Fix wrong cast when computing the USARTDIV value in IRDA_SetConfig().</li>
<li>Remove __HAL_LOCK() from HAL_xxx_RegisterCallback()/HAL_xxx_UnRegisterCallback().</li>
</ul></li>
<li><strong>HAL/LL 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>Remove __HAL_LOCK() from HAL_xxx_RegisterCallback()/HAL_xxx_UnRegisterCallback().</li>
<li>Fix compilation warnings generated with ARMV6 compiler.</li>
</ul></li>
<li><strong>HAL TSC</strong> update
<ul>
<li>Fix missing ‘)’ at #define TSC_CTPL_4CYCLES.</li>
</ul></li>
<li><strong>HAL/LL I2C</strong> update
<ul>
<li>Update to handle errors in polling mode : Rename I2C_IsAcknowledgeFailed() to I2C_IsErrorOccurred() and correctly manage when error occurs.</li>
<li>Update to fix issue detected due to low system frequency execution (HSI).</li>
<li>Define new macro I2C_GET_DMA_REMAIN_DATA() as alias of macro __HAL_DMA_GET_COUNTER() to get remaining data to transfer by DMA for better code portability.</li>
<li>Fix timeout issue using HAL MEM interface through FreeRTOS.</li>
<li>Update I2C_IsErrorOccurred to return error if timeout is detected.</li>
<li>The ADDRF flag is cleared too early when the restart is received but the direction has changed.</li>
<li>Duplicate the test condition after timeout detection to avoid false timeout detection.</li>
<li>Improve header description of I2C_WaitOnFlagUntilTimeout() function.</li>
<li>Fix written reserved bit 28 in I2C_CR2 register.</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 issue of mismatching data received by master in case 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 USB_FS</strong> update
<ul>
<li>Optimize HAL_PCD_IRQHandler() by removing multiple readings of ISTR register.</li>
<li>PCD: add supporting multi packets transfer on Interrupt endpoint</li>
<li>Set DCD timeout (in HAL PCD) to 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>
<li>Add new HAL_PCD_EP_Abort() API to abort current USB endpoint transfer.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_10_5" aria-hidden="true"> <label for="collapse-section1_10_5" aria-hidden="true">V1.10.5 / 16-July-2021</label>
<div>
<h2 id="main-changes-1">Main Changes</h2>
<ul>
<li>General updates to fix known defects and enhancements implementation</li>
</ul>
<h2 id="contents-1">Contents</h2>
<ul>
<li><strong>HAL</strong> updates
<ul>
<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>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 ADC</strong> update
<ul>
<li>Update timeout mechanism to avoid false timeout detection in case of preemption.</li>
<li>Update LL_ADC driver to prevent unused argument compilation warning.</li>
</ul></li>
<li><strong>HAL/LL DAC</strong> update
<ul>
<li>Fix compilation error when USE_DAC_REGISTER_CALLBACKS is activated.</li>
<li>Remove ‘register’ storage class specifier from LL DAC driver.</li>
<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>HAL IWDG</strong> update
<ul>
<li>Update HAL_IWDG_Init() API in order to fix HAL_GetTick() timeout vulnerability issue.</li>
</ul></li>
<li><strong>HAL/LL RTC</strong> update
<ul>
<li>Update __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>
<li>Update implementations of LL_RTC_BAK_SetRegister() and LL_RTC_BAK_GetRegister() to comply to MISRAC rule 17.4.</li>
</ul></li>
<li><strong>HAL TIM</strong> update
<ul>
<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>
<li>Correct reversed description of TIM_LL_EC_ONEPULSEMODE One Pulse Mode.</li>
</ul></li>
<li><strong>HAL LPTIM</strong> update
<ul>
<li>Update HAL_LPTIM_Init implementation to configure digital filter for external clock when LPTIM is clocked by an internal clock source.</li>
</ul></li>
<li><strong>HAL I2C</strong> update
<ul>
<li>Update I2C_IsAcknowledgeFailed() API to avoid I2C in busy state if NACK received after transmitting register address.</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 SMBUS</strong> update
<ul>
<li>Add the support of wake up capability.</li>
</ul></li>
<li><strong>HAL/LL SPI</strong> update
<ul>
<li>Update to fix MISRA-C 2012 Rule-13.2</li>
<li>Update LL_SPI_TransmitData8() API to avoid casting the result to 8 bits.</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 RNG</strong> update
<ul>
<li>Update timeout mechanism to avoid false timeout detection in case of preemption.</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></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_10_4" aria-hidden="true"> <label for="collapse-section1_10_4" aria-hidden="true">V1.10.4 / 28-October-2020</label>
<div>
<h2 id="main-changes-2">Main Changes</h2>
<ul>
<li>General updates to fix known defects and enhancements implementation</li>
<li>Add new <strong>HAL EXTI</strong> driver</li>
<li>Add new <strong>HAL SMBUS extended</strong> driver to support SMBUS fast Mode Plus.</li>
<li>Remove <strong>HAL LPTIM Extended</strong> driver to move its contain to HAL LPTIM header file.</li>
<li>Correct MISRA-C 2012: Rule-10.5, Rule-10.4_a, Rule-2.7 and Rule-21.1</li>
<li>Remove useless casts</li>
</ul>
<h2 id="contents-2">Contents</h2>
<ul>
<li><strong>HAL</strong> driver
<ul>
<li>Update HAL driver to allow user to change systick period to 1ms, 10 ms or 100 ms:
<ul>
<li>Add the following new 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>Update HAL_Init_Tick() API to proporely store the priority when using the non-default time base.</li>
<li>Add new defines for ARM compiler V6:
<ul>
<li>__weak</li>
<li>__packed</li>
<li>__NOINLINE</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/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/LL WWDG</strong> update
<ul>
<li>Update WWDG frequency, min and max timeout values</li>
<li>Update HAL WWDG driver description</li>
</ul></li>
<li><strong>HAL CORTEX</strong> update
<ul>
<li>Update IS_NVIC_PREEMPTION_PRIORITY macro in order to prevent PreemptPriority assert failure</li>
</ul></li>
<li><strong>HAL/LL PWR</strong> update
<ul>
<li>Reset bit ULP before entering in low power modes in case ULP=1 and EN_VREFINT = 1.
<ul>
<li>Update HAL_PWR_EnterSLEEPMode() and HAL_PWR_EnterSTOPMode() APIs</li>
</ul></li>
</ul></li>
<li><strong>HAL/LL RTC</strong> update
<ul>
<li>Optimize HAL implementation Daylight saving feature to subtract or add one hour to the calendar in one single operation without going through the initialization procedure:
<ul>
<li>Add HAL_RTC_DST_Add1Hour(), HAL_RTC_DST_Sub1Hour(), HAL_RTC_DST_SetStoreOperation(), HAL_RTC_DST_ClearStoreOperation(), HAL_RTC_DST_ReadStoreOperation() APIs.</li>
</ul></li>
</ul></li>
<li><strong>HAL/LL SPI</strong> update
<ul>
<li>Bug fix to support the data packing mode
<ul>
<li>Update SPI Transmit/Receive APIs with assert for 8-bit.</li>
</ul></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>
<li>Update HAL_SPI_Init() API
<ul>
<li>To avoid setting the BaudRatePrescaler in case of Slave Motorola Mode</li>
<li>Use the bit-mask for SPI configuration</li>
</ul></li>
<li>Update Transmit/Receive processes in half-duplex mode
<ul>
<li>Disable the SPI instance before setting BDIOE bit</li>
</ul></li>
<li>Fix wrong timeout management
<ul>
<li>Calculate Timeout based on a software loop to avoid blocking issue if Systick is disabled</li>
</ul></li>
<li>Update to implement Erratasheet: BSY bit may stay high at the end of a data transfer in Slave mode.</li>
</ul></li>
<li><strong>HAL/LL I2S</strong> update
<ul>
<li>Update HAL_I2S_DMAStop() API to be more safe
<ul>
<li>Add a check on BSY, TXE and RXNE flags before disabling the I2S</li>
</ul></li>
<li>Update HAL_I2S_DMAStop() API to fix multi-call transfer issue(to avoid re-initializing the I2S for the next transfer).
<ul>
<li>Add __HAL_I2SEXT_FLUSH_RX_DR() and __HAL_I2S_FLUSH_RX_DR() macros to flush the remaining data inside DR registers.</li>
<li>Add new ErrorCode define: HAL_I2S_ERROR_BUSY_LINE_RX</li>
</ul></li>
</ul></li>
<li><strong>HAL SMBUS</strong> update
<ul>
<li>Add support of Fast Mode Plus to be SMBus rev 3 compliant.
<ul>
<li>Add HAL_SMBUSEx_EnableFastModePlus() and HAL_SMBUSEx_DisableFastModePlus() APIs to manage Fm+.</li>
</ul></li>
</ul></li>
<li><strong>HAL/LL TIM</strong> update
<ul>
<li>Add new macros to enable and disable the fast mode when using the one pulse mode to output a waveform with a minimum delay
<ul>
<li>__HAL_TIM_ENABLE_OCxFAST() and __HAL_TIM_DISABLE_OCxFAST().</li>
</ul></li>
<li>Update Encoder interface mode to keep TIM_CCER_CCxNP bits low
<ul>
<li>Add TIM_ENCODERINPUTPOLARITY_RISING and TIM_ENCODERINPUTPOLARITY_FALLING definitions to determine encoder input polarity.</li>
<li>Add IS_TIM_ENCODERINPUT_POLARITY() macro to check the encoder input polarity.</li>
<li>Update HAL_TIM_Encoder_Init() API</li>
<li>Replace IS_TIM_IC_POLARITY() macro by IS_TIM_ENCODERINPUT_POLARITY() macro.</li>
</ul></li>
<li>Update driver to handle channel state and DMA burst state independently allowing to use multiple DMA request with different channels of same timer
<ul>
<li>Introduce DMA burst state management mechanism
<ul>
<li>Add a new structure for DMA Burst States definition : HAL_TIM_DMABurstStateTypeDef</li>
<li>Update __HAL_TIM_RESET_HANDLE_STATE to support DMABurstState</li>
<li>Add a new API HAL_TIM_DMABurstState() to get the actual state of a DMA burst operation</li>
</ul></li>
<li>Add HAL_TIM_DMABurstStateTypeDef enumeration
<ul>
<li>Add DMABurstState, the DMA burst operation state, to the TIM_HandleTypeDef structure<br />
</li>
</ul></li>
<li>Implement TIM channel state management mechanism
<ul>
<li>Add new private macro
<ul>
<li>TIM_CHANNEL_STATE_SET_ALL</li>
<li>TIM_CHANNEL_STATE_SET</li>
<li>TIM_CHANNEL_STATE_GET</li>
</ul></li>
</ul></li>
<li>Add new API HAL_TIM_GetActiveChannel()
<ul>
<li>Add new API HAL_TIM_GetChannelState() to get actual state of the TIM channel</li>
<li>Add a new structure for TIM channel States definition : HAL_TIM_ChannelStateTypeDef</li>
<li>Update __HAL_TIM_RESET_HANDLE_STATE to support ChannelState</li>
</ul></li>
<li>Add HAL_TIM_ChannelStateTypeDef enumeration
<ul>
<li>Add ChannelState to the TIM_HandleTypeDef structure to manage TIM channel operation state</li>
</ul></li>
</ul></li>
<li>Update HAL_TIMEx_MasterConfigSynchronization() API to avoid functional errors and assert fails when using some TIM instances as input trigger.
<ul>
<li>Replace IS_TIM_SYNCHRO_INSTANCE() macro by IS_TIM_MASTER_INSTANCE() macro.</li>
<li>Add IS_TIM_SLAVE_INSTANCE() macro to check on TIM_SMCR_MSM bit.</li>
</ul></li>
<li>Add new API HAL_TIM_DMABurst_MultiWriteStart() allowing to configure the DMA Burst to transfer multiple Data from the memory to the TIM peripheral</li>
<li>Add new API HAL_TIM_DMABurst_MultiReadStart() allowing to configure the DMA Burst to transfer Data from the TIM peripheral to the memory</li>
<li>Remove “register” “C” keyword: The register storage class specifier was deprecated in C++11 and removed in C++17</li>
<li>Correct inverted values of LL_TIM_COUNTERMODE_CENTER_DOWN and LL_TIM_COUNTERMODE_CENTER_UP</li>
<li>Remove extra DMABurst Base Addresses not consistent with reference manual</li>
<li>Move the TIM input remapping TIM3_TI4_GPIOC9_AF2 and TIM3_TI1_GPIO definition from USB section</li>
<li>Update LL_TIM_GetCounterMode() implementation to return adequate values to the routine expected ones.</li>
</ul></li>
<li><strong>LL LPTIM</strong> update
<ul>
<li>Fix typos introduced in some comments</li>
<li>Remove useless check on LPTIM2 instance introduced in the driver not consistent with the reference manual</li>
<li>Update HAL_LPTIM_Init implementation to configure digital filter for external clock when LPTIM is clocked by an internal clock source</li>
<li>Add a polling mechanism to check on LPTIM_FLAG_XXOK flags in different API
<ul>
<li>Add LPTIM_WaitForFlag() to wait for flag set.</li>
<li>Perform new checks on HAL_LPTIM_STATE_TIMEOUT.</li>
</ul></li>
</ul></li>
<li><strong>HAL/LL IRDA</strong> update
<ul>
<li>Align HAL IRDA driver with latest updates and enhancements</li>
<li>Optimize HAL IRDA to avoid using macros as argument of function calls</li>
<li>Update description of “HAL_IRDA_Transmit_XXX”, “HAL_IRDA_Receive_XXX” APIs with more details about the data size management</li>
</ul></li>
<li><strong>HAL/LL SMARTCARD</strong> update
<ul>
<li>Update HAL_SMARTCARD_Transmit(), HAL_SMARTCARD_Transmit_IT(), HAL_SMARTCARD_Transmit_DMA() and SMARTCARD_EndTransmit_IT() APIs implementation to fix an issue when No repetition after NACK is received in smartcard T=0</li>
<li>Optimize HAL SMARTCARD to avoid using macros as argument of function calls</li>
</ul></li>
<li><strong>HAL/LL UART</strong> update
<ul>
<li>Implementation of ReceptionToIdle reception services enhancement
<ul>
<li>Align the HAL UART driver with latest updates and enhancements to support the new enhancement of ReceptionToIdle</li>
</ul></li>
<li>Add HAL_UART_RxTypeTypeDef to the UART_HandleTypeDef structure to identify the type of ongoing Reception
<ul>
<li>HAL_UART_RECEPTION_STANDARD, HAL_UART_RECEPTION_TOIDLE, HAL_UART_RECEPTION_TORTO, HAL_UART_RECEPTION_TOCHARMATCH</li>
</ul></li>
<li>Add UART Reception Event Callback registration features
<ul>
<li>Add HAL_UART_RegisterRxEventCallback, HAL_UART_UnRegisterRxEventCallback and HAL_UARTEx_RxEventCallback APIs</li>
<li>Add pUART_RxEventCallbackTypeDef pointer to a UART Rx Event specific callback function</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>
</ul></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>
<li>Update implementation of HAL_UART_Receive(), HAL_UART_Receive_IT() and HAL_UART_Receive_DMA() to support the new enhancement of ReceptionToIdle
<ul>
<li>Add UART_Start_Receive_IT() to start Receive operation in interrupt mode</li>
<li>Add UART_Start_Receive_DMA() to start Receive operation in DMA mode.</li>
</ul></li>
</ul></li>
<li>Rework BRR register value computation in HAL_UART_Init() for code footprint size optimization</li>
<li>Update UART polling processes to handle efficiently the Lock mechanism
<ul>
<li>Move the process unlock at the top of the HAL_UART_Receive() and HAL_UART_Transmit() API.<br />
</li>
</ul></li>
<li>Add RTO (Receiver Time Out) support to UART HAL flags and IRQ macros
<ul>
<li>Add HAL_UART_ERROR_RTO define of Receiver Timeout error to the UART Error Definition section</li>
</ul></li>
<li>Add UART_FLAG_RTOF define of Receiver Timeout flag to the UART Flags section</li>
<li>Add UART_IT_RTO define of Receiver Timeout interruption to the UART interrupts definition</li>
<li>Add UART_CLEAR_RTOF define of Receiver Timeout clear flag to the UART Clear Flags section</li>
<li>Implementation of a new macro IS_UART_RECEIVER_TIMEOUT_VALUE to check the receiver timeout value</li>
<li>Add new APIs HAL_UART_DisableReceiverTimeout(), HAL_UART_DisableReceiverTimeout() to Enable/Disable the UART receiver timeout feature.</li>
<li>Add new API HAL_UART_ReceiverTimeout_Config() to update on the fly the receiver timeout value in RTOR register</li>
<li>Update HAL_UART_IRQHandler() to handle UART_ISR_RTOF flag and IT</li>
</ul></li>
<li><strong>LL LPUART</strong> update
<ul>
<li>Remove “register” “C” keyword: The register storage class specifier was deprecated in C++11 and removed in C++17</li>
<li>Align LL LPUART driver with latest updates and enhancements</li>
</ul></li>
<li><strong>HAL/LL USART</strong> update
<ul>
<li>Add RTO (Receiver Time Out) support to USART HAL flags and IRQ macros
<ul>
<li>Add HAL_USART_ERROR_RTO define of Receiver Timeout error to the USART Error Definition section</li>
</ul></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
<ul>
<li>Update HAL_USART_IRQHandler to add support to the Receiver Timeout Interruption</li>
</ul></li>
<li>Optimize HAL USART to avoid using macros as argument of function calls</li>
<li>Update description of “HAL_USART_Transmit_XXX”, “HAL_USART_Receive_XXX” APIs with more details about the data size management</li>
<li>Fix typos introduced in some APIs descriptions</li>
<li>Remove “register” “C” keyword: The register storage class specifier was deprecated in C++11 and removed in C++17</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_10_3" aria-hidden="true"> <label for="collapse-section1_10_3" aria-hidden="true">V1.10.3 / 07-August-2020</label>
<div>
<h2 id="main-changes-3">Main Changes</h2>
<ul>
<li>General updates to fix known defects and enhancements implementation</li>
</ul>
<h2 id="contents-3">Contents</h2>
<ul>
<li><strong>HAL Generic</strong> update
<ul>
<li>Add new template driver to configure timebase using TIMER :
<ul>
<li>stm32l0xx_hal_timebase_tim_template.c</li>
</ul></li>
</ul></li>
<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 improve robustness: allow multi Pin’s toggling</li>
</ul></li>
<li><strong>HAL/LL I2C</strong> update
<ul>
<li>Update HAL_I2C_ER_IRQHandler() API to fix acknowledge failure issue with I2C memory IT processes
<ul>
<li>Add stop condition generation when NACK occurs.</li>
</ul></li>
<li>Update I2C_DMAXferCplt(), I2C_DMAError() and I2C_DMAAbort() APIs to fix hardfault issue when hdmatx and hdmarx parameters in i2c handle aren’t initialized (NULL pointer).
<ul>
<li>Add additional check on hi2c-&gt;hdmtx and hi2c-&gt;hdmarx before resetting DMA Tx/Rx complete callbacks</li>
</ul></li>
<li>Update Sequential transfer APIs to adjust xfermode condition.
<ul>
<li>Replace hi2c-&gt;XferCount &lt; MAX_NBYTE_SIZE by hi2c-&gt;XferCount &lt;= MAX_NBYTE_SIZE which corresponds to a case without reload</li>
</ul></li>
</ul></li>
<li><strong>HAL/LL USB</strong> driver
<ul>
<li>Bug fix: USB_ReadPMA() and USB_WritePMA() by ensuring 16-bits access to USB PMA memory</li>
<li>Bug fix: correct USB RX count calculation</li>
<li>Fix USB Bulk transfer double buffer mode</li>
<li>Remove register keyword from USB defined macros as no more supported by C++ compiler</li>
<li>Minor rework on USBD_Start() and USBD_Stop() APIs: stopping device will be handled by HAL_PCD_DeInit() API.</li>
<li>Remove non used API for USB device mode.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section15" aria-hidden="true"> <label for="collapse-section15" aria-hidden="true">V1.10.2 / 22-February-2019</label>
<div>
<h2 id="main-changes-4">Main Changes</h2>
<h3 id="patch-release">Patch release</h3>
<ul>
<li>Update of <strong>HAL</strong> driver to include latest corrections and ensure compatibility with legacy code.</li>
<li>The <strong>V1.10.2</strong> version contains all the updates implemented in <strong>V1.10.1</strong> version. For more details, please refer to the History.</li>
</ul>
<h2 id="contents-4">Contents</h2>
<ul>
<li><strong>HAL </strong>
<ul>
<li>Updated HAL_GetUID() functions to correct address offset.</li>
</ul></li>
<li><strong>Legacy</strong>
<ul>
<li>Updated stm32_hal_legacy.h file to add missing definitions and ensure compatibility with legacy code.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section14" aria-hidden="true"> <label for="collapse-section14" aria-hidden="true">V1.10.1 / 08-February-2019</label>
<div>
<h2 id="main-changes-5">Main Changes</h2>
<h3 id="patch-release-1">Patch release</h3>
<ul>
<li>Update of <strong>HAL FLASH, RCC and SPI</strong> drivers to include latest corrections</li>
</ul>
<h2 id="contents-5">Contents</h2>
<ul>
<li><strong>HAL RCC</strong>
<ul>
<li>Updated HAL_RCC_OscConfig() to add missing checks and to modify return status.</li>
</ul></li>
<li><strong>HAL FLASH</strong>
<ul>
<li>Updated HAL_FLASH_Unlock() and HAL_FLASH_OB_Unlock() to handle interrupts disabling.</li>
<li>Updated FLASH_OB_GetRDP() to return the correct RDP level.</li>
</ul></li>
<li><strong>HAL SPI</strong>
<ul>
<li>Updated HAL SPI driver to handle STM32L0 erratasheets.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section13" aria-hidden="true"> <label for="collapse-section13" aria-hidden="true">V1.10.0 / 26-October-2018</label>
<div>
<h2 id="main-changes-6">Main Changes</h2>
<h3 id="major-maintenance-release">Major maintenance release</h3>
<ul>
<li>Add support of new <strong>L0 Value Line</strong> devices</li>
<li>Add support of <strong>HAL callback registration</strong> feature</li>
<li>Add several enhancements implementation</li>
<li>Fix known defects to be aligned with others STM32 series</li>
</ul>
<h2 id="contents-6">Contents</h2>
<ul>
<li><strong>HAL/LL generic</strong>
<ul>
<li>Add support of HAL callback registration feature
<ul>
<li>The feature disabled by default is available for the following HAL drivers:
<ul>
<li>ADC, COMP, DAC, I2C, I2S, IRDA, LPTIM, PCD, RNG, RTC, SMARTCARD, SMBUS, SPI, TIM, TSC, UART, USART and WWDG</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 stm32l0xx_hal_conf.h project configuration file (template file stm32l0xx_hal_conf_template.h available from Drivers/STM32L0xx_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>
<li>Updated HAL/LL Driver compliance with MISRA C 2004 rules
<ul>
<li>MISRA C 2004 rules 10.4, 11.4, 12.4</li>
</ul></li>
<li>Updated HAL/LL Driver compliance with MISRA C 2012 rules
<ul>
<li>MISRA C 2012 rules 16.3, 17.4, 21.1</li>
</ul></li>
<li>Corrected Doxygen tags in macros description to have generate correct CHM format.</li>
<li>stm32l0xx_hal_def.h
<ul>
<li>Updated file to avoid compiler warnings from __packed definitions.</li>
<li>Updated UNUSED() macro to fix compilation warning with g++ compiler.</li>
<li>Replaced include stdio.h by stddef.h.</li>
<li>Updated __RAM_FUNC define to not impose function type.</li>
</ul></li>
<li>stm32l0xx_hal_conf_template.h
<ul>
<li>Updated default MSI_VALUE reset value set in SystemCoreClock.</li>
<li>Added USE_SPI_CRC definition to be aligned with SPI driver.</li>
</ul></li>
</ul></li>
</ul></li>
<li><strong>HAL</strong>
<ul>
<li>Added HAL_GetUIDw0(), HAL_GetUIDw1() and HAL_GetUIDw2() for 96-bit UID.</li>
<li>Modified default HAL_Delay implementation to guarantee minimum delay.</li>
</ul></li>
<li><strong>HAL/LL ADC</strong>
<ul>
<li>Updated IS_ADC_EOC_SELECTION macro (removed unused literal).</li>
<li>Updated LL_ADC_Init function to apply correct clock settings in init structure.</li>
<li>Added missing define for regular external trigger source definitions.</li>
<li>Add callback registration feature
<ul>
<li>Add HAL_ADC_RegisterCallback() and HAL_ADC_UnRegisterCallback() APIs</li>
<li>Add callback identifiers in HAL_ADC_CallbackIDTypeDef enumerated typedef</li>
</ul></li>
</ul></li>
<li><strong>HAL COMP</strong>
<ul>
<li>Updated HAL_COMP_Init, HAL_COMPEx_EnableVREFINT, HAL_COMPEx_DisableVREFINT functions after reintroduction of EN_VREFINT bit in SYSCFG_CFGR3 register.</li>
<li>Add callback registration feature
<ul>
<li>Add HAL_COMP_RegisterCallback() and HAL_COMP_UnRegisterCallback() APIs</li>
<li>Add callback identifiers in HAL_COMP_CallbackIDTypeDef enumerated typedef</li>
</ul></li>
</ul></li>
<li><strong>HAL CORTEX</strong>
<ul>
<li>Modified HAL_MPU_Enable()/HAL_MPU_Disable() functions to allow clear of the whole control register.</li>
</ul></li>
<li><strong>HAL CRC</strong>
<ul>
<li>Aligned HAL/LL CRC driver with latest updates and enhancements.</li>
<li>Updated CRC driver to remove compilation warnings.</li>
</ul></li>
<li><strong>HAL DAC</strong>
<ul>
<li>Add callback registration feature
<ul>
<li>Add HAL_DAC_RegisterCallback() and HAL_DAC_UnRegisterCallback() APIs</li>
<li>Add callback identifiers in HAL_DAC_CallbackIDTypeDef enumerated typedef</li>
</ul></li>
</ul></li>
<li><strong>HAL/LL DMA</strong>
<ul>
<li>Aligned HAL/LL DMA drivers with latest updates and enhancements .</li>
</ul></li>
<li><strong>HAL FIREWALL</strong>
<ul>
<li>Ensured Non-Volatile Data Segment length is set to protect code segment.</li>
</ul></li>
<li><strong>HAL FLASH</strong>
<ul>
<li>Corrected inconsistency between HAL_Flash_Lock and HAL_Flash_Unlock.</li>
<li>Corrected __HAL_FLASH_BUFFER_CACHE_ENABLE() and __HAL_FLASH_BUFFER_CACHE_DISABLE() for FLASH Buffer cache management.</li>
<li>Updated HAL_FLASHEx_DATAEEPROM_Unlock() to protect writing of PEKEY1/PEKEY2 against interrupts.</li>
<li>Updated IS_OBEX macro to fix issue in FLASH_DualBoot Example.</li>
</ul></li>
<li><strong>LL GPIO</strong>
<ul>
<li>Renamed GPIO_AFRL_AFRLx and GPIO_AFRL_AFRHx bit to GPIO_AFRL_AFSELx.</li>
</ul></li>
<li><strong>HAL/LL I2C</strong>
<ul>
<li>Add callback registration feature
<ul>
<li>Add HAL_I2C_RegisterCallback(), HAL_I2C_UnRegisterCallback(), HAL_I2C_RegisterAddrCallback() and HAL_I2C_UnRegisterAddrCallback() APIs</li>
<li>Add callback identifiers in HAL_I2C_CallbackIDTypeDef enumerated typedef</li>
</ul></li>
<li>Added missing cast in I2C_GET_DMA_REMAIN_DATA macro definition.</li>
<li>Updated I2C_WaitOnRXNEFlagUntilTimeout function to check I2C_FLAG_RXNE.</li>
<li>Updated comments about Device Address parameter (DevAddress) description in I2C functions header.</li>
<li>Updated IS_I2C_TRANSFER_OPTIONS_REQUEST definition by adding I2C_LAST_FRAME_NO_STOP option, which allows to call transmit or receive at any know time.</li>
<li>Added restart condition for each call of HAL_I2C_Master_Sequential_xxxx_IT.</li>
<li>Updated ErrorCode to correct wrong returned value after waiting until BUSY flag is reset.</li>
<li>Updated error management in I2C_ITSlaveCplt() function.</li>
<li>Corrected issue in HAL_I2C_Mem_Read_DMA() function.</li>
<li>Corrected issue in I2C slave when master sends RESTART instead of STOP.</li>
<li>Fix issue with clearing ADDR flag in I2C_ITSlaveCplt() function.</li>
<li>Fix MISRAC2012 issue
<ul>
<li>Renamed HAL_I2C_Master_Sequential_Transmit_IT(DMA) to HAL_I2C_Master_Seq_Transmit_IT(DMA).</li>
<li>Renamed HAL_I2C_Master_Sequential_Receive_IT(DMA) to HAL_I2C_Master_Seq_Receive_IT(DMA).</li>
<li>Renamed HAL_I2C_Slave_Sequential_Transmit_IT(DMA) to HAL_I2C_Slave_Seq_Transmit_IT(DMA).</li>
<li>Renamed HAL_I2C_Slave_Sequential_Receive_IT(DMA) to HAL_I2C_Slave_Seq_Receive_IT(DMA).</li>
</ul></li>
</ul></li>
<li><strong>HAL I2S</strong>
<ul>
<li>Aligned HAL I2S driver with latest updates and enhancements.</li>
<li>Add callback registration feature
<ul>
<li>Add HAL_I2S_RegisterCallback() and HAL_I2S_UnRegisterCallback() APIs</li>
<li>Add callback identifiers in HAL_I2S_CallbackIDTypeDef enumerated typedef</li>
</ul></li>
</ul></li>
<li><strong>HAL IRDA</strong>
<ul>
<li>Aligned HAL IRDA driver with latest updates and enhancements.</li>
<li>Add callback registration feature
<ul>
<li>Add HAL_IRDA_RegisterCallback() and HAL_IRDA_UnRegisterCallback() APIs</li>
<li>Add callback identifiers in HAL_IRDA_CallbackIDTypeDef enumerated typedef</li>
</ul></li>
</ul></li>
<li><strong>HAL/LL LPTIM</strong>
<ul>
<li>Aligned HAL/LL LPTIM driver with updates and enhancements.</li>
<li>Corrected LL_LPTIM_TRIG_SOURCE_RTCTAMP1 and LL_LPTIM_TRIG_SOURCE_RTCTAMP3 definitions according to supported devices.</li>
<li>Corrected management of EXTI line during LPTIM wakeup</li>
<li>Add callback registration feature
<ul>
<li>Add HAL_LPTIM_RegisterCallback() and HAL_LPTIM_UnRegisterCallback() APIs</li>
<li>Add callback identifiers in HAL_LPTIM_CallbackIDTypeDef enumerated typedef</li>
</ul></li>
</ul></li>
<li><strong>HAL/LL PWR</strong>
<ul>
<li>Rename LL_PWR_IsActiveFlag_VOSF() to LL_PWR_IsActiveFlag_VOS() to be compliant with all STM32 families.</li>
<li>Updated HAL_PWR_EnterSLEEPMode() to add NOP to ensure all pending instructions are flushed before entering low power mode.</li>
</ul></li>
<li><strong>HAL RNG</strong>
<ul>
<li>Aligned HAL RNG driver with latest updates and enhancements.</li>
<li>Add callback registration feature
<ul>
<li>Add HAL_RNG_RegisterCallback(), HAL_RNG_UnRegisterCallback(), HAL_RNG_RegisterReadyDataCallback() and HAL_RNG_UnRegisterReadyDataCallback() APIs</li>
<li>Add callback identifiers in HAL_RNG_CallbackIDTypeDef enumerated typedef</li>
</ul></li>
</ul></li>
<li><strong>HAL/LL RCC</strong>
<ul>
<li>Updated HAL_RCC_OscConfig(), which returns HAL_ERROR to apply HSI divider 4 when HSI used as clock source.</li>
<li>Updated HAL_RCC_OscConfig() to reset HSI on state when RCC_HSI_OUTEN configuration is selected .</li>
<li>Updated value of RCC_FLAG_FWRST.</li>
<li>Changed HAL_RCC_DeInit() to HAL_StatusTypeDef.</li>
<li>Updated HAL_RCC_DeInit() and LL_RCC_DeInit() to also clear interrupts and reset flags.</li>
<li>Updated HAL_RCC_DeInit() and LL_RCC_DeInit() to add check on PLLRDY before clearing PLLCFGR register.</li>
<li>Added new LL_RCC_PLL_SetMainSource macro to set the PLL source without enabling any PLL.</li>
<li>Updated RCC_GetSystemClockFreq() by checking HSIDIVF for divider 4 when HSI is used.</li>
<li>Updated HAL_RCC_OscConfig() to not return HAL_ERROR if request repeats the current configuration.</li>
</ul></li>
<li><strong>HAL/LL RTC</strong>
<ul>
<li>Aligned HAL/LL RTC driver with latest updates and enhancements.</li>
<li>Updated RTC driver to use the bit RTC_CR_BKP instead of RTC_CR_BCK.</li>
<li>Updated implementation of LL_RTC_DATE_Get() function().</li>
<li>Corrected __HAL_RTC_TAMPER_GET_IT() macro definition.</li>
<li>Add callback registration feature
<ul>
<li>Add HAL_RTC_RegisterCallback() and HAL_RTC_UnRegisterCallback() APIs</li>
<li>Add callback identifiers in HAL_RTC_CallbackIDTypeDef enumerated typedef</li>
</ul></li>
</ul></li>
<li><strong>HAL SMARTCARD</strong>
<ul>
<li>Aligned HAL SMARTCARD driver with latest updates and enhancements.</li>
<li>Add callback registration feature
<ul>
<li>Add HAL_SMARTCARD_RegisterCallback() and HAL_SMARTCARD_UnRegisterCallback() APIs</li>
<li>Add callback identifiers in HAL_SMARTCARD_CallbackIDTypeDef enumerated typedef</li>
</ul></li>
</ul></li>
<li><strong>HAL SMBUS</strong>
<ul>
<li>Aligned HAL SMBUS driver with latest updates and enhancements.</li>
<li>Updated HAL_SMBUS_ER_IRQHandler function to manage SMBUS interrupts error handler.</li>
<li>Updated SMBUS_TransferConfig function (I2C_CR2 register update).</li>
<li>Updated comments about Device Address parameter (DevAddress) description in SMBUS functions header.</li>
<li>Add callback registration feature
<ul>
<li>Add HAL_SMBUS_RegisterCallback(), HAL_SMBUS_UnRegisterCallback(), HAL_SMBUS_RegisterAddrCallback() and HAL_SMBUS_UnRegisterAddrCallback() APIs</li>
<li>Add callback identifiers in HAL_SMBUS_CallbackIDTypeDef enumerated typedef</li>
</ul></li>
</ul></li>
<li><strong>HAL/LL SPI</strong>
<ul>
<li>Aligned HAL/LL SPI driver with latest updates and enhancements.</li>
<li>Fixed issue in HAL_SPI_Transmit() and HAL_SPI_TransmitReceive() functions.</li>
<li>Removed define LL_SPI_SR_UDR which available only for I2S feature.</li>
<li>Add callback registration feature
<ul>
<li>Add HAL_SPI_RegisterCallback() and HAL_SPI_UnRegisterCallback() APIs</li>
<li>Add callback identifiers in HAL_SPI_CallbackIDTypeDef enumerated typedef</li>
</ul></li>
</ul></li>
<li><strong>HAL/LL TIM</strong>
<ul>
<li>Aligned L0 HAL/LL TIM driver with latest updates and enhancements.</li>
<li>Fixed error in LL_TIM_EnableUpdateEvent, LL_TIM_DisableUpdateEvent functions.</li>
<li>Updated comments in HAL/LL functions to describe how to switch from Center Aligned counter mode to Edge Aligned Down mode.</li>
<li>Corrected offset definitions (TIM_DMABASE_DMAR, TIM_DMABASE_OR) for burst access.</li>
<li>Updated HAL_TIM_OnePulse_xxx functions to prevent unused argument(s) compilation warnings.</li>
<li>Add support of preload control in HAL TIM API.</li>
<li>Removed usage of STM32L0 device compilation switch in remap constant and HAL_TIMEx_RemapConfig definitions.</li>
<li>Remove reference to TIMx_SMCR.OCCS related constants/functions, not supported by L0 series.</li>
<li>Add callback registration feature
<ul>
<li>Add HAL_TIM_RegisterCallback() and HAL_TIM_UnRegisterCallback() APIs</li>
<li>Add callback identifiers in HAL_TIM_CallbackIDTypeDef enumerated typedef</li>
</ul></li>
</ul></li>
<li><strong>HAL TSC</strong>
<ul>
<li>Aligned HAL TSC driver with latest updates and enhancements.</li>
<li>Add callback registration feature
<ul>
<li>Add HAL_TSC_RegisterCallback() and HAL_TSC_UnRegisterCallback() APIs</li>
<li>Add callback identifiers in HAL_TSC_CallbackIDTypeDef enumerated typedef</li>
</ul></li>
</ul></li>
<li><strong>HAL/LL UART/USART/LPUART</strong>
<ul>
<li>Aligned HAL UART/USART/LPUART drivers with latest updates and enhancements.</li>
<li>Aligned __HAL_UART_GET_IT and __HAL_UART_GET_IT_SOURCE macros with others series.</li>
<li>Add missing HAL_UARTEx_EnableClockStopMode() function.</li>
<li>Add callback registration feature
<ul>
<li>Add HAL_UART_RegisterCallback() and HAL_UART_UnRegisterCallback() APIs</li>
<li>Add callback identifiers in HAL_UART_CallbackIDTypeDef enumerated typedef</li>
<li>Add HAL_USART_RegisterCallback() and HAL_USART_UnRegisterCallback() APIs</li>
<li>Add callback identifiers in HAL_USART_CallbackIDTypeDef enumerated typedef</li>
</ul></li>
</ul></li>
<li><strong>LL UTILS</strong>
<ul>
<li>Corrected LL_GetUID_Word2 function to fix error in UID flash location.</li>
<li>Fixed mismatch return type in LL_GetPackageType(void).</li>
<li>Update UTILS_MAX_FREQUENCY_SCALE3 value.</li>
</ul></li>
<li><strong>HAL USB</strong>
<ul>
<li>Aligned HAL USB driver with latest updates and enhancements.</li>
<li>Upgrade to USB Device Library v2.5.1.</li>
</ul></li>
<li><strong>HAL WWDG</strong>
<ul>
<li>ligned HAL WWDG driver with latest updates and enhancements.</li>
<li>dd callback registration feature
<ul>
<li>Add HAL_WWDG_RegisterCallback() and HAL_WWDG_UnRegisterCallback() APIs</li>
<li>Add callback identifiers in HAL_WWDG_CallbackIDTypeDef enumerated typedef</li>
</ul></li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section12" aria-hidden="true"> <label for="collapse-section12" aria-hidden="true">V1.9.0 / 12-January-2018</label>
<div>
<h2 id="main-changes-7">Main Changes</h2>
<h3 id="internal-release">Internal release</h3>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section11" aria-hidden="true"> <label for="collapse-section11" aria-hidden="true">V1.8.2 / 25-August-2017</label>
<div>
<h2 id="main-changes-8">Main Changes</h2>
<h3 id="maintenance-release">Maintenance release</h3>
<h2 id="contents-7">Contents</h2>
<ul>
<li><strong>HAL/LL generic</strong>
<ul>
<li>Updated :</li>
<li>Removed DATE and VERSION fields from header files.</li>
<li>Updated CHM User Manual for Drivers/STM32L0xx_HAL_Driver.</li>
</ul></li>
<li><strong>LL ADC</strong>
<ul>
<li>Updated LL ADC driver to exclude __LL_ADC_CALC_TEMPERATURE macro for STM32L011xx devices.</li>
</ul></li>
<li><strong>HAL COMP</strong>
<ul>
<li>Updated HAL_COMP_Init manage default case as LPTIM1 for COMP1 and LPTIM2 for COMP2.</li>
</ul></li>
<li><strong>HAL/LL I2C</strong>
<ul>
<li>Replaced POSITION val notion by associated I2C_xxx_pos CMSIS definition.</li>
<li>Updated LL_I2C_Init() function to add condition to test the value of OwnAddress1 before calling the inline LL function LL_I2C_EnableOwnAddress1().</li>
<li>Updated implementation of I2C_TransferConfig() function.</li>
</ul></li>
<li><strong>HAL PCD</strong>
<ul>
<li>Removed the lock/unlock from HAL_PCD_EP_Receive/HAL_PCD_EP_Transmit functions.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section10" aria-hidden="true"> <label for="collapse-section10" aria-hidden="true">V1.8.1 / 14-April-2017</label>
<div>
<h2 id="main-changes-9">Main Changes</h2>
<h3 id="patch-release-2">Patch release</h3>
<h2 id="contents-8">Contents</h2>
<ul>
<li><strong>HAL LCD</strong>
<ul>
<li>Update of stm32l0xx_hal_lcd.h to avoid C++ compilation errors.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section9" aria-hidden="true"> <label for="collapse-section9" aria-hidden="true">V1.8.0 / 25-November-2016</label>
<div>
<h2 id="main-changes-10">Main Changes</h2>
<h3 id="maintenance-release-1">Maintenance release</h3>
<h2 id="contents-9">Contents</h2>
<ul>
<li><strong>HAL generic</strong>
<ul>
<li>Updated HAL Driver compliance with MISRA C 2004 rules:
<ul>
<li>MISRA C 2004 rule 2.2 (source code shall only use /* */ style comments)</li>
<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.4 (value of a complex expression of floating type shall only be cast to a floating type that is narrower or of the same size)</li>
<li>MISRA C 2004 rule 10.6 (U suffix applied to all constants of unsigned type)</li>
<li>MISRA C 2004 rule 12.6 (logical operators should not be confused with bitwise operators)</li>
<li>MISRA C 2004 rule 14.3 (a null statement shall only occur on a line by itself)</li>
<li>MISRA C 2004 rule 14.8 (statement forming the body of a switch, while, do while or for statement shall be a compound statement)</li>
<li>MISRA C 2004 rule 14.9 (if {expression} / else construct shall be followed by a compound statement)</li>
<li>MISRA C 2004 rule 19.10 (in function-like macro definition, each instance of a parameter shall be enclosed in parenthesis)</li>
<li>MISRA C 2004 rule 19.11 (all macro identifiers in preprocessor directives shall be defined before use)</li>
<li>MISRA C 2004 rule 19.15 (precautions shall be taken in order to prevent the contents of a header file being included twice)</li>
</ul></li>
</ul></li>
<li><strong>HAL/LL ADC</strong>
<ul>
<li>Corrected ADC_SAMPLETIME_xCYCLE_5 naming to be aligned to reference manual.</li>
<li>Enabled management of low power auto-wait: flags must be cleared by user when fetching ADC conversion data.</li>
<li>Disabled DMA transfer during ADC calibration.</li>
</ul></li>
<li><strong>HAL CRC</strong>
<ul>
<li>Updated HAL_CRC_DeInit() function (restored IDR Register to Reset value).</li>
</ul></li>
<li><strong>HAL COMP</strong>
<ul>
<li>Updated HAL_COMP_Init() function to clear EXTI interrupt mode in case comparator is re-configured in mode trigger none.</li>
<li>Updated HAL_COMP_IRQHandler() function in window mode, so that both EXTI flags are cleared and HAL_COMP_TriggerCallback() function is called only once.</li>
<li>Updated HAL COMP init() function: VrefInt startup delay is taken into account, with delay of duration COMP_DELAY_VOLTAGE_SCALER_STAB_US.</li>
<li>Updated HAL_COMPEx_EnableVREFINT() by adding Wait Time.</li>
</ul></li>
<li><strong>HAL DMA</strong>
<ul>
<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 FLASH </strong>
<ul>
<li>Updated HAL_FLASH_IRQHandler(), HAL_FLASHEx_Erase_IT(), HAL_FLASH_Program_IT(), and HAL_FLASHEx_Erase_IT() functions.</li>
<li>Renamed HAL_FLASHRAMFUNC_GetError() sto HAL_FLASHEx_GetError().</li>
</ul></li>
<li><strong>HAL GPIO</strong>
<ul>
<li>Updated IS_GPIO_PIN() macro to cover full u32 bits.</li>
<li>Updated HAL_GPIO_DeInit() function to configure GPIO port mode register to input state.</li>
</ul></li>
<li><strong>HAL I2C</strong>
<ul>
<li>Aligned HAL I2C driver with the new state machine definition.</li>
<li>Added support of repeated start feature with the following new APIs
<ul>
<li>HAL_I2C_Master_Sequential_Transmit_IT(), HAL_I2C_Master_Sequential_Receive_IT() and HAL_I2C_Master_Abort_IT(),</li>
<li>HAL_I2C_Slave_Sequential_Transmit_IT() and HAL_I2C_Slave_Sequential_Receive_IT()</li>
<li>HAL_I2C_EnableListen_IT() and HAL_I2C_DisableListen_IT()</li>
<li>New user callbacks HAL_I2C_ListenCpltCallback() and HAL_I2C_AddrCallback()</li>
</ul></li>
<li>Reworked DMA end process and I2C error management during DMA transfer.</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>Added error management in case of DMA transfer through HAL_DMA_Abort_IT() and DMA XferAbortCallback().</li>
<li>Updated HAL_I2CEx_EnableFastModePlus() enabling fast mode plus driving capability through CFGR2 register.</li>
<li>Disabled I2C_OARx_EN bit before any configuration in OAR1 or 2 in HAL_I2C_Init().</li>
<li>Add I2C_FIRST_AND_NEXT_FRAME for I2C Sequential transfer options: allow to manage a sequence with start condition, address and data to transfer without a final stop condition, an then permit a call to the same master sequential interface several times.</li>
<li>Updated HAL_I2C_Master_Sequential_Transmit_IT() function (wrong state check).</li>
<li>Moved I2C_NO_OPTION_FRAME to private section.</li>
<li>Updated I2C driver documentation concerning I2C address management.</li>
<li>Updated I2C driver to reset state to LISTEN before calling HAL_I2C_Slave_Sequential_Transmit_IT() function.</li>
</ul></li>
<li><strong>HAL I2S</strong>
<ul>
<li>Updated LL_I2S_Init() function to use default ou computed values for prescaler.</li>
</ul></li>
<li><strong>HAL IWDG</strong>
<ul>
<li>Overall driver rework for better implementation
<ul>
<li>Removed HAL_IWDG_Start(), HAL_IWDG_MspInit() and HAL_IWDG_GetState() APIs.</li>
</ul></li>
</ul></li>
<li><strong>HAL PWR</strong>
<ul>
<li>Added new HAL_PWREx_GetVoltageRange()function returning Voltage Scaling range, to be aligned with L1 series.</li>
</ul></li>
<li><strong>HAL RCC</strong>
<ul>
<li>Aligned HAL RCC driver with others series.</li>
<li>Renamed RCC_PLLMUL_x to RCC_PLL_MULx and RCC_PLLDIV_x to RCC_PLL_DIVx, to be aligned with L1 series.</li>
<li>Updated declaration of HAL_RCC_NMI_IRQHandler() function.</li>
<li>Updated HAL IRQHandler and callbacks API for CRS management.</li>
</ul></li>
<li><strong>HAL SMBUS</strong>
<ul>
<li>Aligned driver with others series: fix known defects and added several enhancements implementation.</li>
<li>Added support of new feature Zone Read/Write.</li>
</ul></li>
<li><strong>HAL SPI</strong>
<ul>
<li>Added missing __IO in SPI_HandleTypeDef definition.</li>
</ul></li>
<li><strong>HAL TIM</strong>
<ul>
<li>Corrected TIM22_ETR_GPIO and TIM22_ETR_LSE definitions for STM32L011xx and STM32L021xx devices.</li>
</ul></li>
<li><strong>HAL UART-USART / IRDA / SMARTCARD</strong>
<ul>
<li>Added missing __IO in UART/USART/IRDA/SMARTCARD_HandleTypeDef definition (for TxXferCount and RxXferCount).</li>
<li>Modified UART/SMARTCARD configuration sequence order in HAL_UART/SMARTCARD_Init() function, to avoid issue on Transmit line when UART/SMARTCARD_SetConfig() is called before UART/SMARTCARD_AdvFeatureConfig().</li>
<li>Removed RXNE check in UART/USART/IRDA/SMARTCARD_Receive_IT() function, as RXNE is already cleared by reading RDR, or by writing 1 to RXFRQ in the RQR register.</li>
<li>Reviewed UART/IRDA/SMARTCARD state machine to avoid cases where UART/IRDA/SMARTCARD state is overwritten by UART/IRDA/SMARTCARD IRQ.</li>
<li>Ensure proper alignment of data pointer in Transmit and Receive functions to avoid toolchain compilation hardfault.</li>
<li>Optimized WaitOnFlag management in HAL_UART/USART/IRDA/SMARTCARD_Transmit() function.</li>
<li>Optimized all HAL IRQ Handler routines.</li>
<li>Implemented new APIs for HAL UART/USART/IRDA/SMARTCARD Abort management: HAL_PPP_Abort(), HAL_PPP_AbortTransmit(), HAL_PPP_AbortReceive(), HAL_PPP_Abort_IT(), HAL_PPP_AbortTransmit_IT(), HAL_PPP_AbortReceive_IT().</li>
<li>Added definition of USART_STOPBITS_0_5 (in addition to 1, 1.5, 2 stop bits).</li>
<li>Updated USART_GETCLOCKSOURCE() macro definition in order to reflect USART instances availability on L0 devices.</li>
<li>Updated HAL_UART_Init() that can not be performed on USART4 and USART5 instances for L07x/L08x.</li>
</ul></li>
<li><strong>HAL USB</strong>
<ul>
<li>Added missing USB_CNTR_SOFM in the setting of wInterrupt_Mask global variable.</li>
<li>Updated HAL_PCD_ActivateRemoteWakeup() and HAL_PCD_DeActivateRemoteWakeup() functions to check on LPM state before USB resume.</li>
</ul></li>
<li><strong>HAL WWDG</strong>
<ul>
<li>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>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section8" aria-hidden="true"> <label for="collapse-section8" aria-hidden="true">V1.7.0 / 31-May-2016</label>
<div>
<h2 id="main-changes-11">Main Changes</h2>
<h3 id="maintenance-release-2">Maintenance release</h3>
<h2 id="contents-10">Contents</h2>
<ul>
<li><strong>HAL/LL COMP</strong> update
<ul>
<li>Added missing definition for COMP_INPUT_PLUS_IO6 and LL_COMP_INPUT_PLUS_IO6, supported by STM32L0 Category1 (STM32L011xx, STM32L021xx).</li>
<li>Removed COMP_INVERTINGINPUT_IO3 definition.</li>
<li>Renamed COMP_INVERTINGINPUT_IO2 to COMP_INPUT_MINUS_DAC1_CH2.</li>
<li>The EXTI set-up is now managed by HAL_COMP_Init() function, using updated definitions of COMP_TRIGGERMODE_xxx.
<ul>
<li>Therefore, the functions HAL_COMP_Start_IT() and HAH_COMP_Stop_IT() have been removed.</li>
<li>In any mode, the application must use HAL_COMP_Start() and HAL_COMP_Stop().
<ul>
<li>For information, this update was already available in V1.6.0.</li>
</ul></li>
</ul></li>
</ul></li>
<li><strong>HAL RTC</strong> update
<ul>
<li>Updated HAL_RTCEx_SetWakeUpTimer_IT() function by adding clear of Wake-Up flag before enabling the interrupt.</li>
</ul></li>
<li><strong>HAL LCD</strong> update
<ul>
<li>Corrected SYSCFG LCD External Capacitors definitions.</li>
<li>Added new __HAL_SYSCFG_VLCD_CAPA_CONFIG() macro to configure the VLCD Decoupling capacitance connection.</li>
<li>Added new __HAL_SYSCFG_GET_VLCD_CAPA_CONFIG() macro to return the decoupling of LCD capacitance configured by user.</li>
<li>Added LCD Voltage output buffer enable macro definitions.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section7" aria-hidden="true"> <label for="collapse-section7" aria-hidden="true">V1.6.0/ 15-April-2016</label>
<div>
<h2 id="main-changes-12">Main Changes</h2>
<h3 id="maintenance-release-3">Maintenance release</h3>
<ul>
<li>First official release supporting the <strong>Low Level</strong> drivers for the <strong>STM32L0xx</strong> family:
<ul>
<li>Low Layer drivers APIs provide register level programming: they require deep knowledge of peripherals described in STM32L0xx Reference Manual.</li>
<li>Low Layer drivers are available for: ADC, COMP, CORTEX, CRC, CRS,DAC, DMA, EXTI, GPIO, I2C, IWDG, LPTIM, LPUART, PWR, RCC, RNG, RTC, SPI, TIM, USART, 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/stm32l0xx_ll_ppp.h files for PPP peripherals, there is no configuration file and each stm32l0xx_ll_ppp.h file must be included in user code.</li>
</ul></li>
</ul>
<h2 id="contents-11">Contents</h2>
<ul>
<li><strong>Updates of the HAL</strong>
<ul>
<li>HAL_SYSCFG_EnableVREFINT() and HAL_SYSCFG_DisableVREFINT() functions and HAL_VREFINT_Cmd macro suppressed since VREFINT is managed by the system.</li>
<li>Several updates on dedicated HAL as specified in the list below. The major changes concerns HAL_COMP and HAL_UART.</li>
</ul></li>
<li><strong>HAL</strong> update
<ul>
<li>Change the way the APB AHB prescaler table is defined inside the HAL.</li>
<li>Change the variable ‘uwTick’ from ‘static’ to ‘global’.</li>
<li>Compliancy with MISRA C 2004 rule 10.6 (A “U” suffix shall be applied to all constants of unsigned type)</li>
<li>Compliancy with MISRA C 2004 rule 16.4. (The identifiers used in the declaration and definition of a function shall be identical)</li>
</ul></li>
<li><strong>HAL COMP</strong> update
<ul>
<li>Major rework on the lock and on the state machine associated to the COMP HAL.</li>
<li>Optimization of several functions and uniformization of the driver within the whole STM32 family.</li>
</ul></li>
<li><strong>HAL CRYPT</strong> update
<ul>
<li>Correct the usage of several compilation switches related to STM32L081xx.</li>
</ul></li>
<li><strong>HAL DMA</strong> update
<ul>
<li>Add the following macro : HAL_DMA_GET_COUNTER.</li>
</ul></li>
<li><strong>HAL FLASH</strong> update
<ul>
<li>Update the two following macros : __HAL_FLASH_PREFETCH_BUFFER_ENABLE and __HAL_FLASH_PREFETCH_BUFFER_DISABLE.</li>
</ul></li>
<li><strong>HAL IRDA</strong> update
<ul>
<li>Improve management of the EIE bits for Tx and Rx transfers.</li>
</ul></li>
<li><strong>HAL I2C</strong> update
<ul>
<li>Allow I2C transmission with data size equal to 0.</li>
<li>Add new macro IS_I2C_WAKEUP_FROMSTOP_INSTANCE.</li>
</ul></li>
<li><strong>HAL LPTIM</strong> update
<ul>
<li>Update of the LPTIM driver in order to support the exti line 23.</li>
</ul></li>
<li><strong>HAL UART</strong> update
<ul>
<li>Improve UART state machine behavior in case of interrupts.</li>
<li>Update the macros UART_DIV_SAMPLING8 and UART_DIV_SAMPLING16 to correct UART baudrate calculation</li>
<li>Add an RXDATA flush request inside the UART_Receive_IT function when the RxState is not in reception state.</li>
</ul></li>
<li><strong>HAL RCC</strong> update
<ul>
<li>Correct the setup of the global variable ‘SystemCoreClock’.</li>
<li>Update of the CRS interrupt sources.</li>
<li>Renamed RCC_CRS_SYNCWARM into RCC_CRS_SYNCWARN and renamed RCC_CRS_TRIMOV into RCC_CRS_TRIMOVF.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section6" aria-hidden="true"> <label for="collapse-section6" aria-hidden="true">V1.5.0/ 8-January-2016</label>
<div>
<h2 id="main-changes-13">Main Changes</h2>
<h3 id="maintenance-release-4">Maintenance release</h3>
<h2 id="contents-12">Contents</h2>
<ul>
<li><strong>Main HAL</strong> updates
<ul>
<li>Compliancy with MISRA coding rules (MISRA C 2004 rule 10.5 except for hal_pcd.c file and MISRA C 2004 rule 5.3).</li>
<li>Several functions inside the HAL have been updated in order to prevent unused argument compilation warnings.</li>
<li>The startup timeout value for many clocks (as HSE, HSI, LSI, MSI, PLL) have been updated to reach a more accurate value (alignment to the Datasheet).</li>
<li>The macro __HAL_CORTEX_SYSTICKCLK_CONFIG() has been removed since this service is already covered by the function HAL_SYSTICK_CLKSourceConfig().</li>
</ul></li>
<li><strong>HAL</strong> update
<ul>
<li>Update the SYSCFG_BOOT_SYSTEMFLASH definition. (SYSCFG_BOOT_SYSTEMFLASH is now equal to SYSCFG_CFGR1_BOOT_MODE_0 instead of SYSCFG_CFGR1_MEM_MODE_0)</li>
<li>The HSE_STARTUP_TIMEOUT is now equal to 100 instead of 5000.</li>
</ul></li>
<li><strong>HAL I2C</strong> update
<ul>
<li>Update the HAL_I2C_Slave_Receive function. Store last data received when requested.</li>
<li>Improvement of the HAL_I2C_MasterReceive function. Error management update. (HAL_ERROR detection versus HAL_TIMEOUT)</li>
<li>Improvement of the I2C_MasterTransmit_ISR function. Adding of several error checks, unlock of the process when requested.</li>
<li>Improvement of the I2C_MasterReceive_DMA function. Adding of several error checks and abort DMA when requested.</li>
</ul></li>
<li><strong>HAL UART</strong> update
<ul>
<li>Update the check of parameters inside the function HAL_LIN_SendBreak().</li>
<li>Correction of an error present on the V1.4.0 release. On the V1.4.0 release, the clock used inside the function USART_SetConfig(..) was never set.</li>
</ul></li>
<li><strong>HAL DMA</strong> update
<ul>
<li>Update the DMA_handler structure in order to be MISRA-C 2004 rule 5.3 compliant.</li>
</ul></li>
<li><strong>HAL SPI</strong> update
<ul>
<li>Update the SPI_handler structure in order to be MISRA-C 2004 rule 5.3 compliant.</li>
</ul></li>
<li><strong>HAL RCC</strong> update
<ul>
<li>Update support of RCC_MC03 when requested.</li>
<li>Update support of dynamic HSE prescaler configuration for LCD/RTC peripherals.</li>
<li>Some updates inside the HAL_RCC_ClockConfig function.</li>
<li>Some updates inside the HAL_RCC_MCOConfig function. The enabling of the MCO clocks (__MC01_CLK_ENABLE() or __MCO2_CLK_ENABLE()) is done separately depending on the MCO selected.</li>
<li>The function HAL_RCCEx_GetPeriphCLKFreq() has been reworked.</li>
<li>The function HAL_RCCEx_PeriphCLKConfig() has been updated. A new error is now detected when trying to update the HSE divider dynamically.</li>
</ul></li>
<li><strong>HAL TSC</strong> update
<ul>
<li>Several updates inside the HAL_TSC_Start function and HAL_TSC_Init function. Check of input parameters</li>
</ul></li>
<li><strong>HAL ADC</strong> update
<ul>
<li>The channel 16 (ADC_CHANNEL_16) is not available on all devices.</li>
</ul></li>
<li><strong>HAL CORTEX</strong> update
<ul>
<li>The macro __HAL_CORTEX_SYSTICKCLK_CONFIG(..) has been removed since this service is already covered by the function HAL_SYSTICK_CLKSourceConfig().</li>
</ul></li>
<li><strong>HAL FLASH</strong> update
<ul>
<li>The restriction which was present on V1.4.0 and linked to the OPTVERR bit usage on STM32L031xx and STM32L041xx has been removed.
<ul>
<li>This is due to the fact that the new STM32L031xx/STM32L041xx devices supports now this feature.</li>
<li>On the first revision of the STM32L031xx/STM32L031xx devices (RevID = 0x1000 retrieved via HAL_GetREVID()), the OPTVERR bit was not functional. The OPTVERR (Option valid error bit) is set by hardware when, during an Option byte loading, there was a mismatch for one or more configurations.</li>
</ul></li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section5" aria-hidden="true"> <label for="collapse-section5" aria-hidden="true">V1.4.0/ 16-October-2015</label>
<div>
<h2 id="main-changes-14">Main Changes</h2>
<h3 id="maintenance-release-5">Maintenance release</h3>
<ul>
<li>This release includes the support of the support of <strong>STM32L011xx</strong> and <strong>STM32L021xx</strong> devices</li>
<li>On STM32L011xx/STM32L021xx, compared to STM32L07xxx/STM32L08xxx, some of the main differences are listed hereafter :
<ul>
<li>SRAM size set to 2KB (instead of 20KB)</li>
<li>Flash size set to 16KB (instead of 192KB)</li>
<li>GPIO available :A,B,C (instead of A,B,C,D,E,H)</li>
<li>Timers available : TIM2,TIM21,LPTIM1 (instead of TIM2,TIM3,TIM6,TIM7,TIM21,TIM22,LPTIM1)</li>
</ul></li>
</ul>
<h2 id="contents-13">Contents</h2>
<ul>
<li><strong>HAL COMP</strong> update
<ul>
<li>Update of the non inverting inputs available on the whole L0 family.</li>
</ul></li>
<li><strong>HAL RCC</strong> update
<ul>
<li>Usage of a common PLLMulTable[] defined in system_stm32l0xx.c.</li>
<li>Update in the definition of the different tampers.</li>
<li>Minor renaming of several macros.</li>
</ul></li>
<li><strong>HAL TIMER</strong> update
<ul>
<li>Handle lock initialization in all TIM init functions.</li>
</ul></li>
<li><strong>HAL LCD</strong> update
<ul>
<li>Add support of new MuxSegment field inside the init structure.</li>
</ul></li>
<li><strong>HAL DMA</strong> update
<ul>
<li>Alignment of the different channels within the L0 family.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section4" aria-hidden="true"> <label for="collapse-section4" aria-hidden="true">V1.3.0/ 09-September-2015</label>
<div>
<h2 id="main-changes-15">Main Changes</h2>
<h3 id="major-maintenance-release-1">Major maintenance release</h3>
<ul>
<li>Major update of the HAL API :
<ul>
<li>all MACROs and LITERALs values have been reworked to align all STM32 Families as much as possible</li>
<li>Important information : A stm32_hal_legacy.h file has been added to the FW package in order to support the old MACROs and LITERAL values used in the previous versions of customer applications</li>
<li>In HAL MACROs definitions : do { } while(0) have been used in multi statement macros</li>
</ul></li>
<li>This release includes the support of the support of <strong>STM32L031xx</strong> and <strong>STM32L041xx</strong> devices On STM32L031xx/STM32L041xx, compared to STM32L07xxx/STM32L08xxx, the main differences are as follow :
<ul>
<li>SRAM size set to 8KB (instead of 20KB)</li>
<li>Flash size set to 32KB (instead of 192KB)</li>
<li>GPIO available :A,B,C,H (instead of A,B,C,D,E,H)</li>
<li>Timers available : TIM2,TIM21,TIM22,LPTIM1 (instead of TIM2,TIM3,TIM6,TIM7,TIM21,TIM22,LPTIM1)</li>
</ul></li>
</ul>
<h2 id="contents-14">Contents</h2>
<ul>
<li><strong>HAL ADC</strong> update
<ul>
<li>ADC assert param needs to be more specific for discontinuous mode, nb of discont conversions</li>
<li>ADC external trigger definition is not complete Flag EOS should not be reset in HAL_ADC_GetValue()</li>
<li>ADC poll for event must return timeout instead of error</li>
<li>ADC state machine update - States with bitfields are now used for a more accurate status</li>
<li>ADC run in LPrun mode needs SYSCFG buffers enabled</li>
<li>ADC_CLOCK_SYNC_PCLK_DIVx was not correct</li>
<li>Remove WaitLoopIndex at the beginning of the function HAL_ADC_Enable</li>
<li>ADC parameter “ADC_SOFTWARE_START” for compatibility with other STM32 devices</li>
<li>ADC poll for conversion must return error status in case of ADC-DMA mode</li>
<li>ADC identical error code returned generates confusion</li>
<li>Issue observed with ADC start simultaneous commands</li>
<li>The HAl_Delay() is not required when ADVREGEN is set</li>
<li>[STM32L07xxx/STM32L08xxx] ADC Interface modification : ADC_Init structure** update</li>
<li>[STM32L07xxx/STM32L08xxx] ADC Interface modification LowPowerAutoOff is now LowPowerAutoPowerOff</li>
<li>ADC_Enable does not support the LowPowerAutoOff function</li>
</ul></li>
<li><strong>HAL COMP</strong> update
<ul>
<li>COMP_TRIGGERMODE_NONE missing in stm32l0xx_hal_comp.h</li>
<li>COMP wrong implementation of the macro : IS_COMP_WINDOWMODE_INSTANCE</li>
<li>Misplaced user callback at HAL_COMP_IRQHandler</li>
<li>EXTI Usage model update - add MACROs __HAL_COMP_COMPx_EXTI_GENERATE_SWIT()</li>
<li>HAL COMP update in HAL_COMP_Lock() to handle state change and prevent C++ compilation error</li>
<li>Add the LPTIM Comparator connection</li>
</ul></li>
<li><strong>HAL Cortex</strong> update
<ul>
<li>[MISRA] bitwise operators ~ and &lt;&lt; (MISRA C 2004 rule 10.5)</li>
<li>Cortex The function HAL_NVIC_GetPriority(IRQn_Type IRQn) was missing</li>
<li>Cortex HAL_NVIC_DisableIRQ()/HAL_NVIC_EnableIRQ() Add a check on negative parameter values</li>
</ul></li>
<li><strong>HAL CRC</strong> update
<ul>
<li>__HAL_CRC_SET_IDR macro improvement</li>
<li>CRC wrong definition of __HAL_CRC_SET_IDR macro</li>
<li>Incorrect CRC functions naming, portability failing, out of topic comments</li>
<li>Useless Assignment in stm32l0xx_hal_crc.c detected by CodeSonar</li>
</ul></li>
<li><strong>HAL DAC</strong> update
<ul>
<li>Missing define for DAC Trigger (010: Timer 3 CH3 event)</li>
<li>Complete DAC update as per HAL_API_Reference</li>
<li>DAC HAL_DAC_Stop_DMA() code clean up</li>
<li>HAL_DAC_ConfigChannel: use “hdac-&gt;Instance-&gt;XXX” instead of “DAC-&gt;XXX”</li>
<li>No reset of previous bits WAVEx / MAMPx before setting values in HAL_DACEx_NoiseWaveGenerate &amp; HAL_DACEx_TriangleWaveGenerate</li>
</ul></li>
<li><strong>HAL DMA</strong> update
<ul>
<li>The description of __HAL_DMA_GET_IT_SOURCE() was incorrect</li>
</ul></li>
<li><strong>HAL FLASH</strong> update
<ul>
<li>FLASH Missing macro __HAL_FLASH_GET_LATENCY</li>
<li>FLASH_WaitForLastOperation issue</li>
<li>FLASH_Program_IT unlock() issue</li>
<li>FLASH Crash during HAL_FLASHEx_HalfPageProgram and HAL_FLASHEx_ProgramParallelHalfPage</li>
<li>FLASH Ramfunc error management</li>
<li>FLASH IS_OPTIONBYTE(VALUE) is not correct if all options are selected</li>
<li>HAL_FLASH Option Byte “BootConfig” and “BOOTBit1Config”</li>
<li>FLASH SPRMOD option bit is impacted by FLASH_OB_RDPConfig()</li>
<li>__HAL_FLASH_GET_FLAG was not functional</li>
</ul></li>
<li><strong>HAL GPIO</strong> update
<ul>
<li>GPIO The Clear of the External Interrupt is not properly done</li>
<li>GPIO GPIO_SPEED LITERALS renaming</li>
<li>GPIO_AF for LPTIM is no more compatible with HAL L0 V1.1</li>
<li>GPIO AF2 defines for RTC should be aligned for all L0 devices</li>
<li>GPIO AF defines for LPTIM1 should be the same for all devices.</li>
<li>GPIO Bug at EXTi register GPIO config in HAL_GPIO_Init() function</li>
<li>GPIO GPIO_AF5_I2S3ext Update the defined name to be more generic</li>
<li>GPIO Protect init from impossible AF configuration</li>
<li>GPIO interrupt mode is not reset</li>
<li>GPIO Check of the Pin availability according to the GPIO in use</li>
<li>GPIO rework GPIO_GET_SOURCE</li>
<li>[STM32L07xxx/STM32L08xxx] GPIO updates (HAL driver and associated validation test prg)</li>
<li>The GET_GPIO_SOURCE() macro is wrongly implemented</li>
<li>GPIO alternate functions defined in stm32l0xx_hal_gpio_ex.h not aligned with the spec</li>
<li>GPIO private Macro __HAL_GET_GPIO_SOURCE must be renamed GET_GPIO_SOURCE</li>
</ul></li>
<li><strong>HAL I2C</strong> update
<ul>
<li>New SYSCFG Define MACROs to manage FM+ on GPIOs</li>
<li>NACK is not treated during wait on flag treatment</li>
</ul></li>
<li><strong>HAL I2S</strong> update
<ul>
<li>I2S HAL_I2S_Transmit() API update to keep the check on busy flag only for the slave</li>
<li>I2S busy flag issue</li>
<li>I2S Management of the bit ASTREN for the I2S various modes</li>
</ul></li>
<li><strong>HAL LCD</strong> update
<ul>
<li>LCD HD field initialization of LCD_FCR register is missing in HAL_LCD_init() function</li>
</ul></li>
<li><strong>HAL LPUART </strong> update
<ul>
<li>HAL _DIV_LPUART macro possible value saturation</li>
<li>LPUART CR3 register bit 11 must be kept at reset value.</li>
</ul></li>
<li><strong>HAL PWR</strong> update
<ul>
<li>Cortex SCR SLEEPONEXIT and SEVONPEND bits management</li>
<li>PWR PVD feature need falling/rising Event modes</li>
<li>PWR REGLPF and VOSF polling request</li>
</ul></li>
<li><strong>HAL RCC</strong> update
<ul>
<li>RCC Bug in HAL_RCC_GetSysClockFreq</li>
<li>Missing RCC IRQ handler for LSE CSS interrupt</li>
<li>Missing external macro __HAL_RCC_MCO_CONFIG</li>
<li>RCC Enable automatically backup domain</li>
<li>In HAL_RCCEx_PeriphCLKConfig, Reset backup domain only if RTC clock source has been changed</li>
<li>RCC update LSE_CONFIG to remove transaction LSE On to LSE Bypass</li>
<li>Issue on MSI setting</li>
<li>Rework __HAL_RCC_LSE_CONFIG macro to manage correctly LSE_Bypass</li>
<li>Rename HSI48_TIMEOUT_VALUE into RCC_HSI_TIMEOUT_VALUE</li>
<li>Add defines for RCC_System_Clock_Source_Status</li>
<li>New HAL RCC macro to configure the SYSCLK clock source</li>
<li>Wrong calculation of sysclk in case of PLL clocked by HSI_Div4</li>
<li>RCC_CRSStatusTypeDef must be typed uint32_t</li>
<li>RCC Implement workaround to cover RCC limitation regarding Peripheral enable delay</li>
<li>RCC issue in HAL_RCC_OscConfig when RCC_OscInitStruct-&gt;HSEState = RCC_HSE_BYPASS</li>
<li>RCC Check if need to add interface HAL_RCCEx_GetPeriphCLKFreq</li>
<li>RCC Add a comment in the How to use section to mention the Peripheral enable delay</li>
<li>RCC Some values in MSIRangeTable are wrong</li>
<li>RCC missing macros to easily Enable/Disable HSI48(RC) clock for RNG analog config</li>
<li>RCC HSERDY must be checked even in HSE_BYPASS mode</li>
<li>RCC Improve HAL_RCC_OscCOnfig() function</li>
</ul></li>
<li><strong>HAL RNG</strong> update
<ul>
<li>RNG Type inconsistency of value returned by HAL_RNG_GetRandomNumber() and HAL_RNG_GetRandomNumber_IT() functions.</li>
<li>RNG Process lock and array of random numbers generation in interrupt mode</li>
<li>RNG Incorrect DRDY flag resetting</li>
<li>RNG Incorrect interrupt mode random number generation</li>
<li>RNG Incorrect TimeOut handling in polling mode random number generation</li>
</ul></li>
<li><strong>HAL RTC</strong> update
<ul>
<li>RTC macro __HAL_RTC_TAMPER_TIMESTAMP_EXTI_GET_FLAG erroneous definition</li>
<li>RTC alignment of different HAL_RTC_XXIRQHandler() implementations</li>
<li>RTC Bits Mask literals to be used in macro definition</li>
<li>RTC macro __HAL_RTC_TAMPER_GET_IT() issue in param: <strong>INTERRUPT</strong> <span class="citation" data-cites="arg">@arg</span> list</li>
<li>RTC wrong description of the subsecond item of RTC_TimeTypeDef structure in the header file</li>
<li>RTC WUTWF is not reliable</li>
<li>HAL_RTC_GetTime function does not return the actual subfraction</li>
<li>[STM32L031xx/STM32L041xx] RTC macros renaming for RTC_OUTPUT_REMAP_XX and RTC_TIMESTAMPPIN_XX</li>
<li>Enhance <span class="citation" data-cites="note">@note</span> describing the use of HAL RTC APIs</li>
</ul></li>
<li><strong>HAL SPI</strong> update
<ul>
<li>SPI HAL_SPI_TransmitReceive_DMA() Remove DMA Tx Callback in case of RxOnly mode</li>
<li>SPI HandleTypeDef.ErrorCode must be typed uint32_t</li>
<li>Warnings with True Studio IDE (tempreg variable not used)</li>
</ul></li>
<li><strong>HAL TIM</strong> update
<ul>
<li>TIM problem to use ETR as OCrefClear source</li>
<li>TIM Wrong remapping of the TIM2_ETR</li>
<li>TIM register BDTR does not exist</li>
<li>The assert on trigger polarity for TI1F_ED should be removed</li>
<li>TIM Add macros to ENABLE/DISABLE URS bit in TIM CR1 register</li>
<li>TIM HAL_TIM_OC_ConfigChannel() / HAL_TIM_PWM_ConfigChannel() Missed/Unused assert param to be added/removed</li>
<li>TIM Remove HAL_TIM_SlaveConfigSynchronization_DMA() from HAL_TIM API</li>
<li>TIM Trigger DMA request should be activated when working with a slave mode</li>
<li>TIM Timer Register Corruption using HAL_TIM_IC_ConfigChannel</li>
<li>TIM DMA transfer should be aborted when stopping a DMA burst</li>
<li>Add “TIM_CHANNEL_ALL” as an argument for all Encoder Start/Stop process in the comment section</li>
<li>HAL_TIM_DMADelayPulseCplt callback missing information</li>
<li>HAL_TIM_DMACaptureCplt callback missing information</li>
<li>TIM Trigger DMA request should be activated when working with a slave mode</li>
<li>TIM Trigger interrupt should be activated when working with a slave mode</li>
<li>__HAL_TIM_PRESCALER() shall be corrected: use ‘=’ instead of ‘|=’</li>
</ul></li>
<li><strong>HAL UART/USART</strong> update
<ul>
<li>UART Incorrect UART speed setting on HSI clock</li>
<li>Wrong Baud Rate calculation in case of OVER8</li>
<li>UART missing closing bracket in header file</li>
<li>UART Circular mode when transmitting data not well supported</li>
<li>UART/LPUART number of stop bits to correct</li>
<li>USART Incorrect number of stop bits definition</li>
<li>UART HAL_UART_IRQHandler function not clearing correctly the interrupt flags</li>
<li>USART Setting of BRR register bit3:0 not inline with RM when OVER8 sampling mode is used</li>
<li>UART UART_WaitOnFlagUntilTimeout should not assign UART handle state to HAL_UART_STATE_TIMEOUT</li>
<li>USART Wrong values used as parameter of __HAL_USART_CLEAR_IT() in HAL_USART_IRQHandler()</li>
<li>USART BRR setting is wrong compared to Baudrate value</li>
<li>USART HAL_USART_Init() update to reach max frequencies (enable oversampling by 8)</li>
<li>USART USART_DMAReceiveCplt() Update to set the USART state after performing the test on it</li>
<li>UART The code associated to several macros need to be completed</li>
<li>USART UART DMA implementation issue: missed clear the TC bit in the SR</li>
<li>Wrong USART_IT_CM defined value</li>
<li>Issue with Lin mode data length</li>
<li>Wrong description for Interrupt mode IO operation within HAL UART driver</li>
<li>Change UART_DMATransmitCplt- new implementation to remove WaitOnFlag in ISR</li>
<li>Change UART TX-IT implementation to remove WaitOnFlag in ISR</li>
<li>The IS_UART_OVERSAMPLING(SAMPLING) is not called in UART_SetConfig()</li>
<li>HAL UART enhancement: remove the check on RXNE flag after reading the DR register</li>
<li>UART/USART/IRDA/SMARTCARD transmit process enhancement to use TXE instead of TC</li>
<li>Add MACRO to UART HAL to control CTS and RTS from the customer application</li>
</ul></li>
<li><strong>HAL PCD</strong> update
<ul>
<li>HAL_PCD_EP_Transmit() not functional</li>
<li>HAL PCD clear flag macros configuration</li>
<li>Bad IN/OUT EndPoint parameter array size</li>
<li>HAL PCD miss #define for ep0_mps parameter</li>
<li>USB HAL PCD missing #define PCD_SPEED_HIGH</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section3" aria-hidden="true"> <label for="collapse-section3" aria-hidden="true">V1.2.0 / 06-Feb-2015</label>
<div>
<h2 id="main-changes-16">Main Changes</h2>
<h3 id="official-release">Official release</h3>
<ul>
<li>This release includes the support of the <strong>STM32L071xx, STM32L072xx, STM32L073xx, STM32L082xx, STM32L083xx</strong> devices</li>
<li>Fix known defects and add several enhancements implementation</li>
</ul>
<h2 id="contents-15">Contents</h2>
<ul>
<li><strong>HAL Flash</strong>** update
<ul>
<li>Flash : 192K Dual Bank</li>
</ul></li>
<li><strong>HAL TIM</strong>** update
<ul>
<li>4 new instances : TIM3, TIM7, TIM21, TIM22</li>
</ul></li>
<li><strong>HAL USART</strong>** update
<ul>
<li>2 new instances : USART 4, USART 5</li>
</ul></li>
<li><strong>HAL I2C</strong>** update
<ul>
<li>1 new instance I2C3</li>
</ul></li>
<li><strong>HAL GPIO</strong>** update
<ul>
<li>GPIO Port E</li>
</ul></li>
<li><strong>HAL DAC</strong>** update
<ul>
<li>A second channel has been introduced</li>
</ul></li>
<li><strong>HAL FIREWALL</strong> introduction</li>
</ul>
<h2 id="known-limitations">Known Limitations</h2>
<ul>
<li>Introduced a FW patch to deactivate the HW SPI-V2.3 correction in case of I2S PCM Short mode usage (Please refer to the STM32L073xx Errata Sheet for more details). In this use case, we come back to the HW SPI 2.2 behavior which is correct for the I2S PCM short mode</li>
</ul>
<p><br />
</p>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section2" aria-hidden="true"> <label for="collapse-section2" aria-hidden="true">V1.1.0 / 18-June-2014</label>
<div>
<h2 id="main-changes-17">Main Changes</h2>
<h3 id="official-release-1">Official release</h3>
<h2 id="contents-16">Contents</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>Common update for the following communication peripherals: SPI, UART, USART and IRDA
<ul>
<li>Add DMA circular mode support</li>
<li>Remove lock from recursive process</li>
</ul></li>
<li>Add new macro __HAL_RESET_HANDLE_STATE to reset a given handle state</li>
<li>When USE_RTOS == 1 (in stm32l0xx_hal_conf.h), the __HAL_LOCK() is not defined instead of being defined empty</li>
<li>Use "__IO const" instead of "__I", to avoid any compilation issue when __cplusplus switch is defined</li>
<li>Add new functions for the DBGMCU module
<ul>
<li>HAL_EnableDBGSleepMode()</li>
<li>HAL_DisableDBGSleepMode()</li>
<li>HAL_EnableDBGStopMode()</li>
<li>HAL_DisableDBGStopMode()</li>
<li>HAL_EnableDBGStandbyMode()</li>
<li>HAL_DisableDBGStandbyMode()</li>
</ul></li>
<li>Miscellaneous comments update</li>
</ul></li>
<li><strong>HAL FLASH</strong>** update
<ul>
<li>Add new functions: HAL_FLASHEx_OB_SelectPCROP() and HAL_FLASHEx_OB_DeSelectPCROP()</li>
<li>Some functions was renamed and moved to the extension files (stm32l0xx_hal_flash_ex.h/.c)
<ul>
<li>Rename FLASH_HalfPageProgram() into HAL_FLASHEx_HalfPageProgram()</li>
<li>Rename FLASH_EnableRunPowerDown() into HAL_FLASHEx_EnableRunPowerDown()</li>
<li>Rename FLASH_DisableRunPowerDown() into HAL_FLASHEx_DisableRunPowerDown()</li>
<li>Rename all HAL_DATA_EEPROMEx_xxx() functions into HAL_FLASHEx_DATAEEPROM_xxx()</li>
<li>Note: aliases has been added to keep compatibility with previous version</li>
</ul></li>
</ul></li>
<li><strong>HAL GPIO</strong>** update
<ul>
<li>Remove IS_GET_GPIO_PIN macro</li>
<li>Add a new function HAL_GPIO_LockPin()</li>
<li>Private Macro __HAL_GET_GPIO_SOURCE renamed into GET_GPIO_SOURCE</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 PWR</strong>** update
<ul>
<li>HAL_PWR_PVDConfig(): add clear of the EXTI trigger before new configuration</li>
<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>Allow to calibrate the HSI when it is used as system clock source</li>
<li>Fix implementation of IS_RCC_OSCILLATORTYPE() macro</li>
</ul></li>
<li><strong>HAL ADC</strong>** update
<ul>
<li>Update ADC internal channels mapping: TEMPSENSOR connected to ADC_CHANNEL_18 and VLCD mapped to ADC_CHANNEL_16</li>
<li>Skip polling for ADRDY flag when Low Power Auto Off mode is enabled</li>
</ul></li>
<li><strong>HAL COMP</strong>** update
<ul>
<li>Add LPTIMConnection field in the COMP_InitTypeDef structure.</li>
<li>Add new defines: COMP_LPTIMCONNECTION_DISABLED, COMP_LPTIMCONNECTION_ENABLED</li>
<li>Add new macro IS_COMP_LPTIMCONNECTION</li>
</ul></li>
<li><strong>HAL LPTIM</strong>** update
<ul>
<li>Add CKPOL configuration for encoder mode</li>
</ul></li>
<li><strong>HAL WWDG</strong>** update
<ul>
<li>Miscellaneous minor update on the source code</li>
</ul></li>
<li><strong>HAL IWDG</strong>** update
<ul>
<li>Miscellaneous minor update on the source code</li>
</ul></li>
<li><strong>HAL CRC</strong>** update
<ul>
<li>Some functions was renamed and moved to the extension files (stm32l0xx_hal_crc_ex.h/.c)
<ul>
<li>HAL_CRC_Input_Data_Reverse() renamed into HAL_CRCEx_Input_Data_Reverse()</li>
<li>HAL_CRC_Output_Data_Reverse() renamed into HAL_CRCEx_Output_Data_Reverse()</li>
<li>Note: aliases has been added to keep compatibility with previous version</li>
</ul></li>
</ul></li>
<li><strong>HAL CRYP</strong>** update
<ul>
<li>HAL_CRYP_ComputationCpltCallback() renamed into HAL_CRYPEx_ComputationCpltCallback() and moved to the extension files (stm32l0xx_hal_cryp_ex.h/.c)</li>
<li>Note: alias has been added to keep compatibility with previous version</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 SMBUS</strong>** update
<ul>
<li>Add a new function: HAL_SMBUS_DisableListen_IT()</li>
<li>Add aliases for the following functions
<ul>
<li>#define HAL_SMBUS_Slave_Listen_IT HAL_SMBUS_EnableListen_IT</li>
<li>#define HAL_SMBUS_SlaveAddrCallback HAL_SMBUS_AddrCallback</li>
<li>#define HAL_SMBUS_SlaveListenCpltCallback HAL_SMBUS_ListenCpltCallback</li>
</ul></li>
<li>Add alias HAL_SMBUS_STATE_SLAVE_LISTEN for the constant HAL_SMBUS_STATE_LISTEN</li>
</ul></li>
<li><strong>HAL UART</strong>** update
<ul>
<li>HAL_UART_WakeupCallback() renamed into HAL_UART_WakeupCallback() and moved to the extension files (stm32l0xx_hal_cryp_ex.h/.c)</li>
<li>Add new macros to control CTS and RTS</li>
<li>Add specific macros to manage the flags cleared only by a software sequence
<ul>
<li>__HAL_UART_CLEAR_PEFLAG()</li>
<li>__HAL_UART_CLEAR_FEFLAG()</li>
<li>__HAL_UART_CLEAR_NEFLAG()</li>
<li>__HAL_UART_CLEAR_OREFLAG()</li>
<li>__HAL_UART_CLEAR_IDLEFLAG()</li>
</ul></li>
<li>Add several enhancements without affecting the driver functionalities
<ul>
<li>Remove the check on RXNE set after reading the Data in the DR register</li>
<li>Update the transmit processes to use TXE instead of TC</li>
<li>Update HAL_UART_Transmit_IT() to enable UART_IT_TXE instead of UART_IT_TC</li>
</ul></li>
</ul></li>
<li><strong>HAL USART</strong>** update
<ul>
<li>Add specific macros to manage the flags cleared only by a software sequence
<ul>
<li>__HAL_USART_CLEAR_PEFLAG()</li>
<li>__HAL_USART_CLEAR_FEFLAG()</li>
<li>__HAL_USART_CLEAR_NEFLAG()</li>
<li>__HAL_USART_CLEAR_OREFLAG()</li>
<li>__HAL_USART_CLEAR_IDLEFLAG()</li>
</ul></li>
<li>Update HAL_USART_Transmit_IT() to enable USART_IT_TXE instead of USART_IT_TC</li>
</ul></li>
<li><strong>HAL IRDA</strong>** update
<ul>
<li>Add specific macros to manage the flags cleared only by a software sequence
<ul>
<li>__HAL_IRDA_CLEAR_PEFLAG()</li>
<li>__HAL_ IRDA _CLEAR_FEFLAG()</li>
<li>__HAL_ IRDA _CLEAR_NEFLAG()</li>
<li>__HAL_ IRDA _CLEAR_OREFLAG()</li>
<li>__HAL_ IRDA _CLEAR_IDLEFLAG()</li>
</ul></li>
<li>Add several enhancements without affecting the driver functionalities
<ul>
<li>Remove the check on RXNE set after reading the Data in the DR register</li>
<li>Update HAL_IRDA_Transmit_IT() to enable IRDA_IT_TXE instead of IRDA_IT_TC</li>
</ul></li>
<li>Add the following APIs used within DMA process
<ul>
<li>HAL_StatusTypeDef HAL_IRDA_DMAPause(IRDA_HandleTypeDef *hirda);</li>
<li>HAL_StatusTypeDef HAL_IRDA_DMAResume(IRDA_HandleTypeDef *hirda);</li>
<li>HAL_StatusTypeDef HAL_IRDA_DMAStop(IRDA_HandleTypeDef *hirda);</li>
<li>void HAL_IRDA_TxHalfCpltCallback(IRDA_HandleTypeDef *hirda);</li>
<li>void HAL_IRDA_RxHalfCpltCallback(IRDA_HandleTypeDef *hirda);</li>
</ul></li>
</ul></li>
<li><strong>HAL SMARTCARD</strong>** update
<ul>
<li>Add specific macros to manage the flags cleared only by a software sequence
<ul>
<li>__HAL_SMARTCARD_CLEAR_PEFLAG()</li>
<li>__HAL_SMARTCARD_CLEAR_FEFLAG()</li>
<li>__HAL_SMARTCARD_CLEAR_NEFLAG()</li>
<li>__HAL_SMARTCARD_CLEAR_OREFLAG()</li>
<li>__HAL_SMARTCARD_CLEAR_IDLEFLAG()</li>
</ul></li>
<li>Add several enhancements without affecting the driver functionalities
<ul>
<li>Add a new state HAL_SMARTCARD_STATE_BUSY_TX_RX and all processes has been updated accordingly</li>
<li>Update HAL_SMARTCARD_Transmit_IT() to enable SMARTCARD_IT_TXE instead of SMARTCARD_IT_TC</li>
</ul></li>
</ul></li>
<li><strong>HAL SPI</strong>** update
<ul>
<li>Bugs fix
<ul>
<li>SPI interface is used in synchronous polling mode: at high clock rates like SPI prescaler 2 and 4, calling HAL_SPI_TransmitReceive() returns with error HAL_TIMEOUT</li>
<li>HAL_SPI_TransmitReceive_DMA() does not clean up the TX DMA, so any subsequent SPI calls return the DMA error</li>
<li>HAL_SPI_Transmit_DMA() is failing when data size is equal to 1 byte</li>
</ul></li>
<li>Add the following APIs used within the DMA process
<ul>
<li>HAL_StatusTypeDef HAL_SPI_DMAPause(SPI_HandleTypeDef *hspi);</li>
<li>HAL_StatusTypeDef HAL_SPI_DMAResume(SPI_HandleTypeDef *hspi);</li>
<li>HAL_StatusTypeDef HAL_SPI_DMAStop(SPI_HandleTypeDef *hspi);</li>
<li>void HAL_SPI_TxHalfCpltCallback(SPI_HandleTypeDef *hspi);</li>
<li>void HAL_SPI_RxHalfCpltCallback(SPI_HandleTypeDef *hspi);</li>
<li>void HAL_SPI_TxRxHalfCpltCallback(SPI_HandleTypeDef *hspi);</li>
</ul></li>
</ul></li>
<li><strong>HAL TSC</strong>** update
<ul>
<li>Fix value of the constant TSC_ACQ_MODE_SYNCHRO</li>
</ul></li>
<li><strong>HAL PCD</strong>** update
<ul>
<li>Add new macro __HAL_USB_EXTI_GENERATE_SWIT()</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1" aria-hidden="true"> <label for="collapse-section1" aria-hidden="true">V1.0.0 / 22-April-2014</label>
<div>
<h2 id="main-changes-18">Main Changes</h2>
<h3 id="first-official-release">First official release</h3>
</div>
</div>
</div>
</div>
<footer class="sticky">
For complete documentation on <mark>STM32 Microcontrollers</mark> , visit: <a href="http://www.st.com/STM32">http://www.st.com/STM32</a>
</footer>
</body>
</html>
