Update History
V1.2.0
/ 11-December-2014Main
Changes
- HAL generic
- Add support of new STM32F0 value line devices STM32F070xB/x6 and STM32F030xC.
- HandleTypeDef.ErrorCode must be typed uint32_t
- Update HAL drivers to ensure compliancy w/ C++
- Add some generic defines (__NOINLINE) in stm32f0xx_hal_def.h
- Case mismatch between #include typo and effective file name generating compiler errors under Linux
- Correct various issues for documentation generation (group name, doxygen tags, etc..)
- Missing support of I2C_PAx_FMP of F04xx devices
HAL ADC - Improve HAL ADC comments
- Correct issue observed with ADC start simultaneous commands
- Remove macro __HAL_ADC_OFR_CHANNEL() since OFRx register is not available on F0 devices.
- HAL CAN
- ErrorCode field is now declared as __IO uint32 instead of enum HAL_CAN_ErrorTypeDef to fix C++ compilation issue
HAL CEC - HAL COMP
- State field is now declared as uint32_t instead of enum HAL_COMP_StateTypeDef to fix C++ compilation issue
- change HAL_COMP_GetState() type declaration from HAL_COMP_StateTypeDef to uint32_t to fix C++ compilation issue
HAL CRC HAL DAC HAL DMA - Add support of new STM32F0 value line devices STM32F070xB/x6 and STM32F030xC.
- DMA channel remap register renamed for compatibility with other STM32 devices.
- Correct wrong comments in __HAL_DMA_GET_FLAG and __HAL_DMA_CLEAR_FLAG macros description
- HAL FLASH
- Fix in macro IS_OPTIONBYTE(VALUE) when all option_OB are selected
- ErrorCode field is now declared as uint32 instead of enum FLASH_ErrorTypeDef to fix C++ compilation issue
- change HAL_FLASH_GetError() type declaration from FLASH_ErrorTypeDef to uint32_t to fix C++ compilation issue
- Clean the error context to FLASH_ERROR_NONE before starting new Flash operation
- Put all the clear flags in the FLASH_SetSerrorCode()
- Stop the programming procedure in case of error detected in HAL_FLASH_Program()
- Check error before doing new procedure in HAL_FLASH_IRQhandler()
HAL GPIO - Add support of new STM32F0 value line devices STM32F070xB/x6 and STM32F030xC.
- correct Typo in 'How to use this driver' section & update comments
- Add assert on GPIO PIN in HAL_GPIO_DeInit()
- Add assert on GPIO AF instance to protect HAL_GPIO_Init() from impossible AF configuration
- Rename internal macro GET_GPIO_INDEX() into GPIO_GET_INDEX()
- Reset Interrupt mode registers only in HAL_GPIO_DeInit()
- HAL I2C
- Add support of new STM32F0 value line devices STM32F070xB/x6 and STM32F030xC.
- ErrorCode field is now declared as uint32 instead of enum HAL_I2C_ErrorTypeDef to fix C++ compilation issue
HAL I2S - ErrorCode field is now declared as uint32 instead of enum HAL_I2S_ErrorTypeDef to fix C++ compilation issue.
- Change HAL_I2S_GetError() type declaration from HAL_I2S_ErrorTypeDef to uint32_t to fix C++ compilation issue.
- Add use of UNUSED(tmpreg) in __HAL_I2S_CLEAR_OVRFLAG() & __HAL_I2S_CLEAR_UDRFLAG to fix Unused variable" warning w/ TrueSTUDIO.
- Typo in 'I2S HAL driver macros list' section of stm32f0xx_hal_i2s.c
- Missing doxygen tags for I2S_HandleTypeDef fields description (documentation generation)
HAL IRDA - ErrorCode field is now declared as uint32 instead of enum HAL_IRDA_ErrorTypeDef to fix C++ compilation issue
- Missing doxygen tags for IRDA_HandleTypeDef fields description
HAL PWR - Add support of new STM32F0 value line devices STM32F070xB/x6 and STM32F030xC.
- Add new API to manage SLEEPONEXIT and SEVONPEND bits of SCR register:
- HAL_PWR_DisableSleepOnExit()
- HAL_PWR_EnableSleepOnExit()
- HAL_PWR_EnableSEVOnPend()
- HAL_PWR_DisableSEVOnPend()
- Removed useless regulator parameter setting for F0 family in core of HAL_PWR_EnterSLEEPMode()
HAL RCC - Add support of new STM32F0 value line devices STM32F070xB/x6 and STM32F030xC.
- Add a comment in the 'How to use this driver' section to mention the Peripheral enable delay
- Move __HAL_RCC_USART2_CONFIG() & __HAL_RCC_GET_USART2_SOURCE() from stm32f0xx_hal_rcc.h to stm32f0xx_hal_rcc_ex.h since this feature is not supported on all F0 devices
- Change HAL_RCCEx_CRSWaitSynchronization() type declaration from RCC_CRSStatusTypeDef to uint32_t to fix C++ compilation issue
HAL RTC - Add support of new STM32F0 value line devices STM32F070xB/x6 and STM32F030xC.
- Enhance @note describing the use of HAL RTC APIs
- HAL SMARTCARD
- ErrorCode field is now declared as uint32 instead of enum HAL_SMARTCARD_ErrorTypeDef to fix C++ compilation issue
- HAL SMBUS
- ErrorCode & PreviousState fields are now declared as uint32 instead of enum HAL_SMBUS_ErrorTypeDef & HAL_SMBUS_StateTypeDef to fix C++ compilation issue
- Change HAL_SMBUS_GetState() type declaration from HAL_SMBUS_StateTypeDef to uint32_t to fix C++ compilation issue
HAL SPI - ErrorCode field is now declared as uint32 instead of enum HAL_SPI_ErrorTypeDef to fix C++ compilation issue
- Add use of UNUSED(tmpreg) in __HAL_SPI_CLEAR_MODFFLAG(), __HAL_SPI_CLEAR_OVRFLAG(), __HAL_SPI_CLEAR_FREFLAG() to fix "Unused variable" warning w/ TrueSTUDIO.
- Add DMA circular mode support on SPI HAL driver.
- Internal
fucntion renaming: HAL_SPI_DMATransmitCplt(),
HAL_SPI_DMAReceiveCplt(), HAL_SPI_DMATransmitReceiveCplt() &
HAL_SPI_DMAError() renamed respectively into SPI_DMATransmitCplt(), SPI_DMAReceiveCplt(), SPI_DMATransmitReceiveCplt() & SPI_DMAError().
- Remove unused HAL_StatusTypeDef SPI_EndRxTxTransaction() prototype
- uint32_t driver alignment for compatibility with other STM32 devices
- Add new API HAL_SPI_GetError(), which was missing on STM32F0xx family
HAL UART/USART - Add support of new STM32F0 value line devices STM32F070xB/x6 and STM32F030xC.
- structure UART_WakeUpTypeDef moved to stm32f0xx_hal_uart_ex.h since wakeup feature is not available on all F0 devices.
- ErrorCode field is now declared as uint32 instead of enum HAL_U(S)ART_ErrorTypeDef to fix C++ compilation issue
- unused HAL_USART_SetConfig() prototype to be removed from stm32f0xx_hal_usart.h
- Add missing API HAL_StatusTypeDef HAL_LIN_SendBreak()
- correct wrong USART_IT_CM value
- correct issue with Lin mode data length
- Add new value for Stop bit definition: UART_STOPBITS_1_5
HAL USB - Add support of new STM32F0 value line devices STM32F070xB/x6.
- Wrong comment in HAL_PCD_Dev(Connect/Disconnect) functions description
- Correct _HAL_PCD_CLEAR_FLAG() macros definition
HAL WWDG
V1.1.0
/ 03-October-2014Main
Changes
- HAL generic
- general improvement of Doxygen Tags for CHM UM generation
- Add support of new devices STM32F091xC, STM32F098xx in STM32F0xx HAL drivers
- minor corrections for Pdf/Chm UM generation
- Correction for MISRA
- [F098xx] Remove PVD IT line wrapper
- FLAG&IT assert macros to be removed
- Bad macro name in stm32F0xx_hal.c/.h files
- uint32_t Alignement in HAL driver
- HAL update (for STM32F091xC/STM32F098xx)
- Add new define for HAL IRDA Enveloppe source Selection
- Add new macro IS_HAL_SYSCFG_IRDA_ENV_SEL()
- Add new defines for ISR Wrapper (HAL_SYSCFG_ITLINE0, etc..)
- Add new macro __HAL_GET_PENDING_IT()
- Add new macro __HAL_SYSCFG_IRDA_ENV_SELECTION()
- Add new macro __HAL_SYSCFG_GET_IRDA_ENV_SELECTION()
HAL COMP - Missing assert param IS_COMP_TRIGGERMODE
HAL Cortex HAL DMA - Add new defines for DMAx Channel remapping (DMAx_CHANNELx_RMP)
- Add new defines for DMAx channels remap bit field definition
- Add new macros: IS_HAL_DMA1_REMAP(), IS_HAL_DMA2_REMAP()
- Add new macro: __HAL_DMA_GET_TC_FLAG_INDEX(), that returns specified transfer complete flag index
- Add new macro: __HAL_DMA_GET_HT_FLAG_INDEX(), that returns specified half transfer complete flag index
- Add new macro: __HAL_DMA_GET_TE_FLAG_INDEX(), that returns specified transfer error flag index
- Add new macro: __HAL_DMA_GET_FLAG()
- Add new macro: __HAL_DMA_CLEAR_FLAG()
- Add new macro: __HAL_DMA1_REMAP(), __HAL_DMA2_REMAP()
- Bit definition name error for HAL_DMA1_CH2 remap on STM32F091xC
- HAL_DMA_PollForTransfer updated
HAL GPIO - BSRR regsiter should not be split in BSRRH/BSRRL
- rework GPIO_GET_SOURCE
- Add new defines for AF functions selection
HAL I2S HAL IRDA HAL IWDG HAL PWR - HAL RCC
- Defect correction:
- HAL_RCC_OscConfig: HSERDY has to be checked also in by pass mode
- New structure RCC_PeriphCLKInitTypeDef
- Add
defines for RCC new peripheral clock selection: RCC_PERIPHCLK_USART1,
RCC_PERIPHCLK_USART2, RCC_PERIPHCLK_I2C1, RCC_PERIPHCLK_CEC,
RCC_PERIPHCLK_RTC, RCC_PERIPHCLK_USART3
- Add macro IS_RCC_PERIPHCLK()
- Add
defines for USART3 clock source selection (RCC_USART3CLKSOURCE_PCLK1,
RCC_USART3CLKSOURCE_SYSCLK, CC_USART3CLKSOURCE_LSE,
CC_USART3CLKSOURCE_HSI
- Add macro IS_RCC_USART3CLKSOURCE()
- Add macro __HAL_RCC_GET_USART3_SOURCE()
- Add macro __HAL_RCC_USART3_CONFIG()
- add clock enable macros for new UART: __USART5_CLK_ENABLE, __USART6_CLK_ENABLE, __USART7_CLK_ENABLE, __USART8_CLK_ENABLE
- add clock disable macros for new UART: __USART5_CLK_DISABLE, __USART6_CLK_DISABLE, __USART7_CLK_DISABLE, __USART8_CLK_DISABLE
- add Force reset macros for new UART: __USART5_FORCE_RESET, __USART6_FORCE_RESET, __USART7_FORCE_RESET, __USART8_FORCE_RESET
- add Release reset macros for new UART: __USART5_RELEASE_RESET, __USART6_RELEASE_RESET, __USART7_RELEASE_RESET, __USART8_RELEASE_RESET
HAL SMARTCARD - change SMARTCARD_AdvFeatureConfig() from exported to static private function
- STM32F091xC/STM32F098xx:
- Add new macro __HAL_SMARTCARD_GETCLOCKSOURCE() for USART1, USART2, USART3, USAR
HAL SMBUS - change SMARTCARD_AdvFeatureConfig() from exported to static private function
HAL SPI HAL TIM - Missed/Unused assert param to be added/removed
- Trigger interrupt should be activated when working with a slave mode
- Break interrupt should be activated in HAL_TIMEx_OCN_Start_IT
- Wrong CCMR register cleared in HAL_TIM_IRQHandler for Input Capture event Channel 3 and 4
- missing assert in HAL_TIMEx_ConfigBreakDeadTime
- Add URS_ENABLE/ URS_DISABLE macros
HAL UART/USART - Change UART TX-IT implementation to remove WaitOnFlag in ISR
- STM32F091xC/STM32F098xx:
- Add new macro __HAL_UART_GETCLOCKSOURCE() for USART1, USART2, USART3, USART4
- Add new macro __HAL_USART_GETCLOCKSOURCE() for USART1, USART2, USART3, USART4
HAL USB HAL WWDG
Defect Correction
STM32F0xx_HAL_Driver
|
Defect
|
PWR
|
PVD feature need falling/rising Event modes
|
STM32F0xx_HAL_Driver
|
Defect
|
COMP
|
Missing assert param IS_COMP_TRIGGERMODE
|
STM32F0xx_HAL_Driver
|
Defect
|
RCC
|
HAL_RCC_OscConfig: HSERDY has to be checked also in by
pass mode
|
V1.0.1
/ 18-June-2014Main
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.
- Add
new macro __HAL_RESET_HANDLE_STATE to reset a given handle state.
HAL CEC update
- Process no more locked during the transmission in interrupt mode.
HAL COMP update
- Add NonInvertingInput field in the COMP_InitTypeDef structure.
- Add new defines COMP_NONINVERTINGINPUT_IO1 and COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED
HAL DMA update
- Fix in HAL_DMA_PollForTransfer() to set error code HAL_DMA_ERROR_TE in case of HAL_ERROR status
-
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 I2S update
- I2S clock source change: new define I2S_CLOCK_SYSCLK, remove I2S_CLOCK_PLL
- Improvement done in I2S transfer/receive processes
HAL IRDA update
- Add new enum typedef IRDA_ClockSourceTypeDef
- Add new macro __HAL_IRDA_GETCLOCKSOURCE
- Change in HAL_IRDA_Transmit_IT() to enable IRDA_IT_TXE instead of IRDA_IT_TC.
- Process no more locked during the transmission in interrupt mode.
-
HAL PCD update
HAL PWR update
- 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
- Add USB peripheral and clocking macros for STM32F078xx device.
- Fix HSI Calibration issue when selected as SYSCLK
-
HAL SMARTCARD update
- Change in HAL_SMARTCARD_Transmit_IT() to enable SMARTCARD_IT_TXE instead of SMARTCARD_IT_TC.
- Process no more locked during the transmission in interrupt mode.
HAL SMBUS update
- Fix Slave acknowledge issue: Slave should ack each bit and so stretch the line till the bit is not ack
HAL TIM update
- Fix macro __HAL_TIM_PRESCALER
HAL TSC update
- Fix define TSC_ACQ_MODE_SYNCHRO
-
HAL UART update
- Change in HAL_LIN_Init() parameter BreakDetectLength to uint32_t
- Change in HAL_UART_Transmit_IT() to enable UART_IT_TXE instead of UART_IT_TC.
- Process no more locked during the transmission in interrupt mode.
HAL USART update
- Change USART_InitTypeDef fields to uint32_t type
- Rename __USART_ENABLE and __USART_DISABLE macros to respectively __HAL_USART_ENABLE and __HAL_USART_DISABLE
- Change in HAL_USART_Transmit_IT() to enable USART_IT_TXE instead of USART_IT_TC.
- Process no more locked during the transmission in interrupt mode.
- Change in HAL_USART_TransmitReceive_DMA() to manage DMA half transfer mode
V1.0.0
/ 20-May-2014
Main
Changes
- First official
release of STM32F0xx HAL drivers for STM32F030x4/x6, STM32F030x8, STM32F031x4/x6, STM32F051x4/x6/x8, STM32F071x8/xB, STM32F042x4/x6,
STM32F072x8/xB, STM32F038xx,
STM32F048xx, STM32F058xx and STM32F078xx
devices.
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
|