Update History
V1.7.0 / 31-May-2016
Main
Changes
- Maintenance release to fix known defects.
- HAL/LL COMP update
- Added
missing definition for COMP_INPUT_PLUS_IO6 and
LL_COMP_INPUT_PLUS_IO6, supported by STM32L0 Category1 (STM32L011xx,
STM32L021xx).
- Removed COMP_INVERTINGINPUT_IO3 definition.
- Renamed COMP_INVERTINGINPUT_IO2 to COMP_INPUT_MINUS_DAC1_CH2.
- The EXTI set-up is now managed by HAL_COMP_Init() function, using updated definitions of
COMP_TRIGGERMODE_xxx.
Therefore, the functions HAL_COMP_Start_IT() and HAH_COMP_Stop_IT() have been removed. In any mode, the application must use HAL_COMP_Start() and HAL_COMP_Stop(). - For information, this update was already available in V1.6.0.
- HAL RTC update
- Updated HAL_RTCEx_SetWakeUpTimer_IT() function by adding clear of Wake-Up flag before enabling the interrupt.
- HAL LCD update
- Corrected SYSCFG LCD External Capacitors definitions.
- Added new __HAL_SYSCFG_VLCD_CAPA_CONFIG() macro to configure the VLCD Decoupling capacitance connection.
- Added new __HAL_SYSCFG_GET_VLCD_CAPA_CONFIG() macro to return the decoupling of LCD capacitance
configured by user. - Added LCD Voltage output buffer enable macro definitions.
V1.6.0/ 15-April-2016
Main
Changes
- First official release supporting the Low Level drivers for the STM32L0xx family:
- Low
Layer drivers APIs provide register level programming: they require
deep knowledge of peripherals described in STM32L0xx Reference Manual.
- 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.
- 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.
- Updates of the HAL :
- HAL_SYSCFG_EnableVREFINT() and HAL_SYSCFG_DisableVREFINT() functions and HAL_VREFINT_Cmd macro suppressed since VREFINT is managed by the system.
- Several updates on dedicated HAL as specified in the list below. The major changes concerns HAL_COMP and HAL_UART.
List of HAL updates or corrections provided by this release: - HAL update
- Change the way the APB AHB prescaler table is defined inside the HAL.
- Change the variable 'uwTick' from 'static' to 'global'.
- Compliancy with MISRA C 2004 rule 10.6 (A "U" suffix shall be applied to all constants of unsigned type)
- Compliancy
with MISRA C 2004 rule 16.4. (The identifiers used in the declaration
and definition of a function shall be identical)
- HAL COMP update
- Major rework on the lock and on the state machine associated to the COMP HAL.
- Optimization of several functions and uniformization of the driver within the whole STM32 family.
- HAL CRYPT update
- Correct the usage of several compilation switches related to STM32L081xx.
- HAL DMA update
- Add the following macro : HAL_DMA_GET_COUNTER.
- HAL FLASH update
- Update the two following macros : __HAL_FLASH_PREFETCH_BUFFER_ENABLE and __HAL_FLASH_PREFETCH_BUFFER_DISABLE.
- HAL IRDA update
- Improve management of the EIE bits for Tx and Rx transfers.
- HAL I2C update
- Allow I2C transmission with data size equal to 0.
- Add new macro IS_I2C_WAKEUP_FROMSTOP_INSTANCE.
- HAL LPTIM update
- Update of the LPTIM driver in order to support the exti line 23.
- HAL UART update
- Improve UART state machine behavior in case of interrupts.
- Update the macros
UART_DIV_SAMPLING8 and UART_DIV_SAMPLING16 to correct UART baudrate calculation
- Add an RXDATA flush request inside the UART_Receive_IT function when the RxState is not in reception state.
- HAL RCC update
- Correct the setup of the global variable 'SystemCoreClock'.
- Update of the CRS interrupt sources.
- Renamed RCC_CRS_SYNCWARM into RCC_CRS_SYNCWARN and renamed RCC_CRS_TRIMOV into RCC_CRS_TRIMOVF.
V1.5.0/ 8-January-2016
Main
Changes
- Updates of the HAL :
- Compliancy with MISRA coding rules (MISRA C 2004 rule 10.5 except for hal_pcd.c file and MISRA C 2004 rule 5.3). - Several functions inside the HAL have been updated in order to prevent unused argument compilation warnings. - The startup timeout value for many clocks (as HSE, HSI, LSI, MSI, PLL) have been updated to
reach a more accurate value (alignement to the Datasheet). -
The macro __HAL_CORTEX_SYSTICKCLK_CONFIG(..) has been removed
since this service is already covered by the function
HAL_SYSTICK_CLKSourceConfig(). - Several updates on dedicated HAL as specified in the list below :
List of HAL updates or corrections provided by this release:
- HAL update
- 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)
- The HSE_STARTUP_TIMEOUT is now equal to 100 instead of 5000.
- HAL I2C update
- Update the HAL_I2C_Slave_Receive function. Store last data received when requested.
- Improvement of the HAL_I2C_MasterReceive function. Error management update. (HAL_ERROR detection versus HAL_TIMEOUT)
- Improvement
of the I2C_MasterTransmit_ISR function. Adding of several
error checks, unlock of the process when requested.
- Improvement
of the I2C_MasterReceive_DMA function. Adding of several
error checks and abort DMA when requested.
- HAL UART update
- Update the check of parameters inside the function HAL_LIN_SendBreak().
- 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.
- HAL DMA update
- Update the DMA_handler structure in order to be MISRA-C 2004 rule 5.3 compliant.
- HAL SPI update
- Update the SPI_handler structure in order to be MISRA-C 2004 rule 5.3 compliant.
- HAL RCC update
- Update support of RCC_MC03 when requested.
- Update support of dynamic HSE prescaler configuration for LCD/RTC peripherals.
- Some updates inside the HAL_RCC_ClockConfig function.
- 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.
- The function HAL_RCCEx_GetPeriphCLKFreq() has been reworked.
- The
function HAL_RCCEx_PeriphCLKConfig() has been updated. A new error is
now detected when trying to update the HSE divider dynamically.
- HAL TSC update
- Several updates inside the HAL_TSC_Start function and HAL_TSC_Init function. Check of input parameters
- HAL ADC update
- The channel 16 (ADC_CHANNEL_16) is not available on all devices.
- HAL CORTEX
- The
macro __HAL_CORTEX_SYSTICKCLK_CONFIG(..) has been removed since this
service is already covered by the function
HAL_SYSTICK_CLKSourceConfig().
- HAL FLASH update
- The
restriction which was present on V1.4.0 and linked to the OPTVERR
bit usage on STM32L031xx and STM32L041xx has been removed. This is due
to the fact that the new STM32L031xx/STM32L041xx devices supports now this feature. 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.
V1.4.0/ 16-October-2015
Main
Changes
- Support
of STM32L011xx and STM32L021xx
series
On STM32L011xx/STM32L021xx, compared to STM32L07xxx/STM32L08xxx, some of the main differences are listed hereafter :
- SRAM size set to 2KB (instead of 20KB)
- Flash size set to 16KB (instead of 192KB)
- GPIO available :A,B,C (instead of A,B,C,D,E,H)
- Timers available : TIM2,TIM21,LPTIM1 (instead of
TIM2,TIM3,TIM6,TIM7,TIM21,TIM22,LPTIM1)
- Minor updates of the HAL :
List of HAL updates or corrections provided by this release:
- HAL COMP update
- Update of the non inverting inputs available on the whole L0 family.
- HAL RCC update
- Usage of a common PLLMulTable[] defined in system_stm32l0xx.c.
- Update in the definition of the different tampers.
- Minor renaming of several macros.
- HAL TIMER update
- Handle lock initialization in all TIM init functions.
- HAL LCD update
- Add support of new MuxSegment field inside the init structure.
- HAL DMA update
- Alignment of the different channels within the L0 family.
V1.3.0/ 09-September-2015
Main
Changes
- Major update of the
HAL API :
-
all MACROs and LITERALs values have been reworked to align all STM32 Families as much as possible
- 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. (this file is automatically included, from HAL/Inc/Legacy)
- In HAL MACROs definitions : do { } while(0) have been used in multi statement macros
-
Support
of STM32L031xx and STM32L041xx
series
On STM32L031xx/STM32L041xx, compared to STM32L07xxx/STM32L08xxx, the main differences are as follow :
- SRAM size set to 8KB (instead of 20KB)
- Flash size set to 32KB (instead of 192KB)
- GPIO available :A,B,C,H (instead of A,B,C,D,E,H)
- Timers available : TIM2,TIM21,TIM22,LPTIM1 (instead of
TIM2,TIM3,TIM6,TIM7,TIM21,TIM22,LPTIM1)
List of HAL updates or corrections provided by this release:
- HAL ADC update
- ADC assert param needs to be more specific for discontinuous mode, nb of discont conversions
- ADC external trigger definition is not complete Flag EOS should not be reset in HAL_ADC_GetValue()
- ADC poll for event must return timeout instead of error
- ADC state machine update - States with bitfields are now used for a more accurate status
- ADC run in LPrun mode needs SYSCFG buffers enabled
- ADC_CLOCK_SYNC_PCLK_DIVx was not correct
- Remove WaitLoopIndex at the beginning of the function HAL_ADC_Enable
- ADC parameter "ADC_SOFTWARE_START" for compatibility with other STM32 devices
- ADC poll for conversion must return error status in case of ADC-DMA mode
- ADC identical error code returned generates confusion
- Issue observed with ADC start simultaneous commands
- The HAl_Delay() is not required when ADVREGEN is set
- [STM32L07xxx/STM32L08xxx] ADC Interface modification : ADC_Init structure update
- [STM32L07xxx/STM32L08xxx] ADC Interface modification LowPowerAutoOff is now LowPowerAutoPowerOff
- ADC_Enable does not support the LowPowerAutoOff function
- HAL COMP update
- COMP_TRIGGERMODE_NONE missing in stm32l0xx_hal_comp.h
- COMP wrong implementation of the macro : IS_COMP_WINDOWMODE_INSTANCE
- Misplaced user callback at HAL_COMP_IRQHandler
- EXTI Usage model update - add MACROs __HAL_COMP_COMPx_EXTI_GENERATE_SWIT()
- HAL COMP update in HAL_COMP_Lock() to handle state change and prevent C++ compilation error
- Add the LPTIM Comparator connection
- HAL Cortex update
- [MISRA] bitwise operators ~ and << (MISRA C 2004 rule 10.5)
- Cortex The function HAL_NVIC_GetPriority(IRQn_Type IRQn) was missing
- Cortex HAL_NVIC_DisableIRQ()/HAL_NVIC_EnableIRQ() Add a check on negative parameter values
- HAL CRC update
- __HAL_CRC_SET_IDR macro improvement
- CRC wrong definition of __HAL_CRC_SET_IDR macro
- Uncorrect CRC functions naming, portability failing, out of topic comments
- Useless Assignment in stm32l0xx_hal_crc.c detected by CodeSonar
- HAL DAC update
- Missing define for DAC Trigger (010: Timer 3 CH3 event)
- Complete DAC update as per HAL_API_Reference
- DAC HAL_DAC_Stop_DMA() code clean up
- HAL_DAC_ConfigChannel: use "hdac->Instance->XXX" instead of "DAC->XXX"
- No
reset of previous bits WAVEx / MAMPx before setting values in
HAL_DACEx_NoiseWaveGenerate & HAL_DACEx_TriangleWaveGenerate
- HAL DMA update
- The description of __HAL_DMA_GET_IT_SOURCE() was incorrect
- HAL FLASH update
- FLASH Missing macro __HAL_FLASH_GET_LATENCY
- FLASH_WaitForLastOperation issue
- FLASH_Program_IT unlock() issue
- FLASH Crash during HAL_FLASHEx_HalfPageProgram and HAL_FLASHEx_ProgramParallelHalfPage
- FLASH Ramfunc error management
- FLASH IS_OPTIONBYTE(VALUE) is not correct if all options are selected
- HAL_FLASH Otpion Byte "BootConfig" and "BOOTBit1Config"
- FLASH SPRMOD option bit is impacted by FLASH_OB_RDPConfig()
- __HAL_FLASH_GET_FLAG was not functional
- HAL GPIO update
- GPIO The Clear of the External Interrupt is not properly done
- GPIO GPIO_SPEED LITERALS renaming
- GPIO_AF for LPTIM is no more compatible with HAL L0 V1.1
- GPIO AF2 defines for RTC should be aligned for all L0 devices
- GPIO AF defines for LPTIM1 should be the same for all devices.
- GPIO Bug at EXTi register GPIO config in HAL_GPIO_Init() function
- GPIO GPIO_AF5_I2S3ext Update the defined name to be more generic
- GPIO Protect init from impossible AF configuration
- GPIO interrupt mode is not reset
- GPIO Check of the Pin availability according to the GPIO in use
- GPIO rework GPIO_GET_SOURCE
- [STM32L07xxx/STM32L08xxx] GPIO updates (HAL driver and associated validation test prg)
- The GET_GPIO_SOURCE() macro is wrongly implemented
- GPIO alternate functions defined in stm32l0xx_hal_gpio_ex.h not aligned with the spec
- GPIO private Macro __HAL_GET_GPIO_SOURCE must be renamed GET_GPIO_SOURCE
- HAL I2C update
- New SYSCFG Define MACROs to manage FM+ on GPIOs
- NACK is not treated during wait on flag treatment
- HAL I2S update
- I2S HAL_I2S_Transmit() API update to keep the check on busy flag only for the slave
- I2S busy flag issue
- I2S Management of the bit ASTREN for the I2S various modes
- HAL LCD update
- LCD HD field initialization of LCD_FCR register is missing in HAL_LCD_init() function
- HAL LPUART update
- HAL _DIV_LPUART macro possible value saturation
- LPUART CR3 register bit 11 must be kept at reset value.
- HAL PWR update
- Cortex SCR SLEEPONEXIT and SEVONPEND bits management
- PWR PVD feature need falling/rising Event modes
- PWR REGLPF and VOSF polling request
- HAL RCC update
- RCC Bug in HAL_RCC_GetSysClockFreq
- Missing RCC IRQ handler for LSE CSS interrupt
- Missing external macro __HAL_RCC_MCO_CONFIG
- RCC Enable automatically backup domain
- In HAL_RCCEx_PeriphCLKConfig, Reset backup domain only if RTC clock source has been changed
- RCC update LSE_CONFIG to remove transaction LSE On to LSE Bypass
- Issue on MSI setting
- Rework __HAL_RCC_LSE_CONFIG macro to manage correctly LSE_Bypass
- Rename HSI48_TIMEOUT_VALUE into RCC_HSI_TIMEOUT_VALUE
- Add defines for RCC_System_Clock_Source_Status
- New HAL RCC macro to configure the SYSCLK clock source
- Wrong calculation of sysclk in case of PLL clocked by HSI_Div4
- RCC_CRSStatusTypeDef must be typed uint32_t
- RCC Implement workaround to cover RCC limitation regarding Peripheral enable delay
- RCC issue in HAL_RCC_OscConfig when RCC_OscInitStruct->HSEState = RCC_HSE_BYPASS
- RCC Check if need to add interface HAL_RCCEx_GetPeriphCLKFreq
- RCC Add a comment in the How to use section to mention the Peripheral enable delay
- RCC Some values in MSIRangeTable are wrong
- RCC missing macros to easily Enable/Disable HSI48(RC) clock for RNG analog config
- RCC HSERDY must be checked even in HSE_BYPASS mode
- RCC Improve HAL_RCC_OscCOnfig() function
- HAL RNG update
- RNG Type inconsistency of value returned by HAL_RNG_GetRandomNumber() and HAL_RNG_GetRandomNumber_IT() functions.
- RNG Process lock and array of random numbers generation in interrupt mode
- RNG Incorrect DRDY flag resetting
- RNG Incorrect interrupt mode random number generation
- RNG Incorrect TimeOut handling in polling mode random number generation
- HAL RTC update
- RTC macro __HAL_RTC_TAMPER_TIMESTAMP_EXTI_GET_FLAG erroneous definition
- RTC alignment of different HAL_RTC_XXIRQHandler() implementations
- RTC Bits Mask literals to be used in macro definition
- RTC macro __HAL_RTC_TAMPER_GET_IT() issue in param: __INTERRUPT__ @arg list
- RTC wrong description of the subsecond item of RTC_TimeTypeDef structure in the header file
- RTC WUTWF is not reliable
- HAL_RTC_GetTime function does not return the actual subfraction
- [STM32L031xx/STM32L041xx] RTC macros renaming for RTC_OUTPUT_REMAP_XX and RTC_TIMESTAMPPIN_XX
- Enhance @note describing the use of HAL RTC APIs
- HAL SPI update
- SPI HAL_SPI_TransmitReceive_DMA() Remove DMA Tx Callback in case of RxOnly mode
- SPI HandleTypeDef.ErrorCode must be typed uint32_t
- Warnings with True Studio IDE (tempreg variable not used)
- HAL TIM update
- TIM problem to use ETR as OCrefClear source
- TIM Wrong remaping of the TIM2_ETR
- TIM register BDTR does not exist
- The assert on trigger polarity for TI1F_ED should be removed
- TIM Add macros to ENABLE/DISABLE URS bit in TIM CR1 register
- TIM HAL_TIM_OC_ConfigChannel() / HAL_TIM_PWM_ConfigChannel() Missed/Unused assert param to be added/removed
- TIM Remove HAL_TIM_SlaveConfigSynchronization_DMA() from HAL_TIM API
- TIM Trigger DMA request should be activated when working with a slave mode
- TIM Timer Register Corruption using HAL_TIM_IC_ConfigChannel
- TIM DMA transfer should be aborted when stopping a DMA burst
- Add "TIM_CHANNEL_ALL" as an argument for all Encoder Start/Stop process in the comment section
- HAL_TIM_DMADelayPulseCplt callback missing information
- HAL_TIM_DMACaptureCplt callback missing information
- TIM Trigger DMA request should be activated when working with a slave mode
- TIM Trigger interrupt should be activated when working with a slave mode
- __HAL_TIM_PRESCALER() shall be corrected: use '=' instead of '|='
- HAL UART/USART update
- UART Incorrect UART speed setting on HSI clock
- Wrong Baud Rate calculation in case of OVER8
- UART missing closing bracket in header file
- UART Circular mode when transmitting data not well supported
- UART/LPUART number of stop bits to correct
- USART Incorrect number of stop bits definition
- UART HAL_UART_IRQHandler function not clearing correctly the interrupt flags
- USART Setting of BRR register bit3:0 not inline with RM when OVER8 sampling mode is used
- UART UART_WaitOnFlagUntilTimeout should not assign UART handle state to HAL_UART_STATE_TIMEOUT
- USART Wrong values used as parameter of __HAL_USART_CLEAR_IT() in HAL_USART_IRQHandler()
- USART BRR setting is wrong compared to Baudrate value
- USART HAL_USART_Init() update to reach max frequencies (enable oversampling by 8)
- USART USART_DMAReceiveCplt() Update to set the USART state after performing the test on it
- UART The code associated to several macros need to be completed
- USART UART DMA implementation issue: missed clear the TC bit in the SR
- Wrong USART_IT_CM defined value
- Issue with Lin mode data length
- Wrong description for Interrupt mode IO operation within HAL UART driver
- Change UART_DMATransmitCplt- new implementation to remove WaitOnFlag in ISR
- Change UART TX-IT implementation to remove WaitOnFlag in ISR
- The IS_UART_OVERSAMPLING(SAMPLING) is not called in UART_SetConfig()
- HAL UART enhancement: remove the check on RXNE flag after reading the DR register
- UART/USART/IRDA/SMARTCARD transmit process enhancement to use TXE instead of TC
- Add MACRO to UART HAL to control CTS and RTS from the customer application
- HAL PCD update
- HAL_PCD_EP_Transmit() not functional
- HAL PCD clear flag macros configuration
- Bad IN/OUT EndPoint parameter array size
- HAL PCD miss #define for ep0_mps parameter
- USB HAL PCD missing #define PCD_SPEED_HIGH
V1.2.0
/ 06-Feb-2015
Main
Changes
- HAL
has
been updated to support the STM32L071xx STM32L072xx
STM32L073xx STM32L082xx STM32L083xx series
- HAL Flash update
- HAL TIM update
:
- Four
new instances : TIM3, TIM7, TIM21, TIM22
- HAL USART update :
- Two
new instances : USART 4, USART 5
- HAL I2C update :
- HAL GPIO update :
- HAL DAC update :
- A
second channel has been introduced
- HAL FIREWALL
introduction
- All
other HAL IPs
have also been updated in the context of the overall HAL alignment
effort of all the STM32 family
- More
than 120 corrections have been implemented since the previous V1.1.0
delivery
- Known limitations :
- 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
V1.1.0
/ 18-June-2014
Main
Changes
-
HAL generic update
- Fix
flag clear procedure: use atomic write operation "="
instead
of ready-modify-write operation "|=" or "&="
- Fix
on Timeout management, Timeout value set to 0 passed to API
automatically exits the function after checking the flag without any
wait
- Common
update for
the following communication peripherals: SPI, UART, USART and IRDA
- Add
DMA circular mode support
- Remove
lock from recursive process
- Add
new macro __HAL_RESET_HANDLE_STATE to reset a given handle state
- When
USE_RTOS == 1 (in stm32l0xx_hal_conf.h), the __HAL_LOCK() is not
defined instead of being defined empty
- Use
“__IO const” instead of
“__I”, to avoid any compilation issue when __cplusplus switch is defined
- Add
new functions for the DBGMCU module
- HAL_EnableDBGSleepMode()
- HAL_DisableDBGSleepMode()
- HAL_EnableDBGStopMode()
- HAL_DisableDBGStopMode()
- HAL_EnableDBGStandbyMode()
- HAL_DisableDBGStandbyMode()
- Miscellaneous
comments update
-
HAL FLASH update
- Add
new functions: HAL_FLASHEx_OB_SelectPCROP()
and HAL_FLASHEx_OB_DeSelectPCROP()
- Some
functions was renamed and moved to the extension files
(stm32l0xx_hal_flash_ex.h/.c)
- Rename
FLASH_HalfPageProgram()
into HAL_FLASHEx_HalfPageProgram()
- Rename
FLASH_EnableRunPowerDown()
into HAL_FLASHEx_EnableRunPowerDown()
- Rename
FLASH_DisableRunPowerDown()
into HAL_FLASHEx_DisableRunPowerDown()
- Rename
all
HAL_DATA_EEPROMEx_xxx() functions into HAL_FLASHEx_DATAEEPROM_xxx()
- Note:
aliases has been added to keep compatibility with previous version
- HAL GPIO update
- Remove
IS_GET_GPIO_PIN
macro
- Add
a new function HAL_GPIO_LockPin()
- Private
Macro __HAL_GET_GPIO_SOURCE
renamed into GET_GPIO_SOURCE
-
HAL DMA update
- Fix
in HAL_DMA_PollForTransfer()
to set error code HAL_DMA_ERROR_TE
in case of HAL_ERROR status
- HAL PWR update
- HAL_PWR_PVDConfig():
add clear of the EXTI trigger before new configuration
- Fix
in HAL_PWR_EnterSTANDBYMode()
to not clear Wakeup flag (WUF), which need to be cleared at application
level before to call this function
-
HAL RCC update
- Allow
to calibrate the HSI when it is used as system clock source
- Fix
implementation of IS_RCC_OSCILLATORTYPE()
macro
-
HAL ADC update
- Update
ADC internal channels mapping: TEMPSENSOR connected to ADC_CHANNEL_18
and VLCD mapped to ADC_CHANNEL_16
- Skip
polling for ADRDY flag when Low Power Auto Off mode is enabled
-
HAL COMP update
- Add
LPTIMConnection
field in the COMP_InitTypeDef
structure.
- Add
new defines: COMP_LPTIMCONNECTION_DISABLED,
COMP_LPTIMCONNECTION_ENABLED
- Add
new macro IS_COMP_LPTIMCONNECTION
-
HAL LPTIM update
- Add
CKPOL configuration
for encoder mode
-
HAL WWDG update
- Miscellaneous
minor update on the source code
-
HAL IWDG update
- Miscellaneous
minor update on the source code
-
HAL CRC update
- Some
functions was renamed and moved to the extension files
(stm32l0xx_hal_crc_ex.h/.c)
- HAL_CRC_Input_Data_Reverse()
renamed into HAL_CRCEx_Input_Data_Reverse()
- HAL_CRC_Output_Data_Reverse()
renamed into HAL_CRCEx_Output_Data_Reverse()
- Note:
aliases has been added to keep compatibility with previous version
-
HAL CRYP update
- HAL_CRYP_ComputationCpltCallback()
renamed
into HAL_CRYPEx_ComputationCpltCallback()
and moved
to the extension files (stm32l0xx_hal_cryp_ex.h/.c)
- Note:
alias has been added to keep compatibility with previous version
-
HAL I2C update
- 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.
-
HAL SMBUS update
- Add
a new function: HAL_SMBUS_DisableListen_IT()
- Add
aliases for the following functions
- #define
HAL_SMBUS_Slave_Listen_IT
HAL_SMBUS_EnableListen_IT
- #define
HAL_SMBUS_SlaveAddrCallback
HAL_SMBUS_AddrCallback
- #define
HAL_SMBUS_SlaveListenCpltCallback HAL_SMBUS_ListenCpltCallback
- Add
alias HAL_SMBUS_STATE_SLAVE_LISTEN
for the constant HAL_SMBUS_STATE_LISTEN
-
HAL UART update
- HAL_UART_WakeupCallback() renamed
into HAL_UART_WakeupCallback()
and moved
to the extension files (stm32l0xx_hal_cryp_ex.h/.c)
-
Add
new macros to control CTS and RTS
- Add
specific macros to manage the flags cleared only by a software sequence
- __HAL_UART_CLEAR_PEFLAG()
- __HAL_UART_CLEAR_FEFLAG()
- __HAL_UART_CLEAR_NEFLAG()
- __HAL_UART_CLEAR_OREFLAG()
- __HAL_UART_CLEAR_IDLEFLAG()
- Add
several enhancements without affecting the driver functionalities
- Remove
the check on RXNE set after reading the Data in the DR register
- Update
the transmit processes to use TXE instead of TC
- Update
HAL_UART_Transmit_IT()
to enable UART_IT_TXE
instead of UART_IT_TC
-
HAL USART update
- Add
specific macros to manage the flags cleared only by a software sequence
- __HAL_USART_CLEAR_PEFLAG()
- __HAL_USART_CLEAR_FEFLAG()
- __HAL_USART_CLEAR_NEFLAG()
- __HAL_USART_CLEAR_OREFLAG()
- __HAL_USART_CLEAR_IDLEFLAG()
- Update
HAL_USART_Transmit_IT()
to enable USART_IT_TXE
instead of USART_IT_TC
-
HAL IRDA update
- Add
specific macros to manage the flags cleared only by a software sequence
- __HAL_IRDA_CLEAR_PEFLAG()
- __HAL_
IRDA _CLEAR_FEFLAG()
- __HAL_
IRDA _CLEAR_NEFLAG()
- __HAL_
IRDA _CLEAR_OREFLAG()
- __HAL_ IRDA _CLEAR_IDLEFLAG()
- Add
several enhancements without affecting the driver functionalities
- Remove
the check on RXNE set after reading the Data in the DR register
- Update
HAL_IRDA_Transmit_IT()
to enable IRDA_IT_TXE
instead of IRDA_IT_TC
- Add
the following APIs used within DMA process
- HAL_StatusTypeDef
HAL_IRDA_DMAPause(IRDA_HandleTypeDef *hirda);
- HAL_StatusTypeDef
HAL_IRDA_DMAResume(IRDA_HandleTypeDef *hirda);
- HAL_StatusTypeDef
HAL_IRDA_DMAStop(IRDA_HandleTypeDef *hirda);
- void
HAL_IRDA_TxHalfCpltCallback(IRDA_HandleTypeDef *hirda);
- void
HAL_IRDA_RxHalfCpltCallback(IRDA_HandleTypeDef *hirda);
-
HAL SMARTCARD update
- Add
specific macros to manage the flags cleared only by a software sequence
- __HAL_SMARTCARD_CLEAR_PEFLAG()
- __HAL_SMARTCARD_CLEAR_FEFLAG()
- __HAL_SMARTCARD_CLEAR_NEFLAG()
- __HAL_SMARTCARD_CLEAR_OREFLAG()
- __HAL_SMARTCARD_CLEAR_IDLEFLAG()
- Add
several enhancements without affecting the driver functionalities
- Add
a new state HAL_SMARTCARD_STATE_BUSY_TX_RX
and all processes has been updated accordingly
- Update
HAL_SMARTCARD_Transmit_IT()
to enable SMARTCARD_IT_TXE
instead of SMARTCARD_IT_TC
- HAL SPI update
- Bugs
fix
- 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
- HAL_SPI_TransmitReceive_DMA()
does not clean up the TX DMA, so any subsequent SPI calls return the
DMA error
- HAL_SPI_Transmit_DMA()
is failing when data size is equal to 1 byte
- Add
the following APIs used within the DMA process
- HAL_StatusTypeDef
HAL_SPI_DMAPause(SPI_HandleTypeDef *hspi);
- HAL_StatusTypeDef
HAL_SPI_DMAResume(SPI_HandleTypeDef *hspi);
- HAL_StatusTypeDef
HAL_SPI_DMAStop(SPI_HandleTypeDef *hspi);
- void
HAL_SPI_TxHalfCpltCallback(SPI_HandleTypeDef *hspi);
- void
HAL_SPI_RxHalfCpltCallback(SPI_HandleTypeDef *hspi);
- void
HAL_SPI_TxRxHalfCpltCallback(SPI_HandleTypeDef *hspi);
-
HAL TSC update
-
HAL PCD update
V1.0.0
/ 22-April-2014
Main
Changes
First
official release.
License
Redistribution
and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
- Redistributions
of source code must retain the above copyright notice, this list of
conditions and the following disclaimer.
- Redistributions
in binary form must reproduce the above copyright notice, this list of
conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
- Neither the
name of STMicroelectronics nor the names of its contributors may be
used to endorse or promote products derived
from this software without specific prior written permission.
THIS
SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.
For
complete documentation on STM32 Microcontrollers visit www.st.com/STM32
|