Back to Release page

Release Notes for STM32F3xx HAL Drivers

Copyright 2015 STMicroelectronics

 

Update History

V1.2.0 / 13-November-2015

Main Changes

  • Performed HAL API alignment (macros/functions/constants renaming).
  • HAL generic
    • Provided/updated User Manual CHM files for STM32F334x8, STM32F373xC, STM32F303xC devices.
    • Updated HAL drivers to ensure compliancy w/ C++.
    • Made corrections for MISRA rule: bitwise operators ~ and << (MISRA C 2004 rule 10.5).
    • Used CMSIS mask definitions instead of hardcoded values.
    • Removed all the unused FLAG and IT assert macros.
    • Initialized Handle lock to HAL_UNLOCKED in HAL_PPP_Init() when state == HAL_PPP_STATE_RESET.
    • Updated stm32f3xx_hal_msp.c files:
      • Removed reference to MicroXplorer.
    • Updated stm32f3xx_hal_conf.h files:
      • Added LSE_STARTUP_TIMEOUT definition.
    • Updated stm32f3xx_hal_def.h file:
      • Added some generic defines (__NOINLINE).
      • Removed NULL redefinition.

  • HAL ADC
    • Updated HAL ADC state machine updated. States changed from fixed literals to bitfields.
    • Added 3 new HAL ADC functions: HAL_ADCEx_RegularStop(), HAL_ADCEx_RegularStop_IT(), HAL_ADCEx_RegularStop_DMA(), to perform a ADC group regular conversion stop
      while ADC group injected can remain with conversion on going.
    • Added 2 new HAL ADC functions: HAL_ADCEx_LevelOutOfWindow2Callback(), HAL_ADCEx_LevelOutOfWindow3Callback().
      The 3 analog watchdog has its own callback function (AWD1 callback function is unchanged with HAL_ADC_LevelOutOfWindowCallback()).
    • Updated ADC multimode (for devices with several ADC instances).
      Now takes into account mixed configuration: ADC group regular in multimode, ADC group injected in independent mode (and the opposite).
    • Updated ADC group injected use case when used with feature low power "auto-wait":
      updated function HAL_ADCEx_InjectedGetValue() which don’t clear anymore ADC flag EOS,
      and could cause some issues when using ADC group injected with high sampling rate.
  • HAL CAN
    • Added __HAL_UNLOCK(hcan) macro.
    • Modified CanTxMsgTypeDef/CanRxMsgTypeDef structures Data field.
    • Removed assert_param(IS_CAN_BANKNUMBER(sFilterConfig->BankNumber)) from HAL_CAN_ConfigFilter().
  • HAL CEC
    • Changed the HAL_CEC_ErrorTypeDef structure by separate defines.
    • Added CEC Flags Definitions(CEC_FLAG_TXACKE,…).
    • Add CEC Interrupts Definitions(CEC_IT_TXACKE,…).
    • Renamed CEC_ISR_XXX to CEC_FLAG_XXX.
    • Renamed CEC_IER_XXX to CEC_IT_XXX.
    • Added missing assert_param(IS_CEC_ALL_INSTANCE(hcec->Instance)); in In HAL_CEC_Init().
    • Added devices that supports CEC in device.h files.
    • Updated CEC Ready To Receive State in CEC_Transmit_IT().
    • Added new API HAL_CEC_GetReceivedFrameSize to get size of the received frame.
  • HAL COMP
    • Updated COMPEx_Output comment description and added test on instances.
    • Updated HAL_COMP_DeInit() to handle LOCKED state.
    • Added missing defines for COMP window mode (Sunfish).
  • HAL CORTEX
    • Removed __HAL_CORTEX_SYSTICKCLK_CONFIG macro, replaced by HAL_SYSTICK_CLKSourceConfig() function.
    • Added new CORTEX MPU APIs: HAL_MPU_ConfigRegion(), HAL_MPU_Disable(),HAL_MPU_Enable().
    • Added APIs to manage set/reset of SLEEPONEXIT and SEVONPEND bits in SCR register.
    • Added a check on negative parameter values for HAL_NVIC_DisableIRQ()/HAL_NVIC_EnableIRQ() functions.
  • HAL CRC
    • Updated CRC APIs comments.
    • Fixed MISRA C 2004 warnings (except 114, 12.4 and 14.7).
    • Updated __HAL_CRC_SET_IDR macro.
  • HAL DAC
    • Update HAL_DACEx_NoiseWaveGenerate() and HAL_DACEx_TriangleWaveGenerate()
      to reset DAC CR register before setting the new DAC config.
    • Added DAC_OUTPUTSWITCH_ENABLE constant.
  • HAL DMA
    • Reviewed HAL_DMA_PollForTransfer(). Added error code.
  • HAL FLASH/FMC
    • Added FLASH API HAL_FLASHEx_OBGetUserData() to get the value saved in User data option byte.
    • Aligned Return value of HAL_FLASH_EndOfOperationCallback function (0xFFFFFFF) when process is finished.
    • Updated function FLASH_OB_GetRDP() return value (FlagStatus (RESET,SET)).
    • Corrected way to set Flash read protection by performing an automatic option byte erase
      in FLASH_OB_RDP_LevelConfig function.
    • Updated Disable WRP to be compliant with other families.
    • Removed double definition of IS_OB_SDACD_VDD_MONITOR.
    • Added missing macro __HAL_FLASH_GET_LATENCY.
    • Corrected IS_OPTIONBYTE() macro in the case all option_OB are selected.
    • Updated HAL_NOR_GetStatus() (missing exit from waiting loop when timeout occurred).
    • Reviewed __ARRAY_ADDRESS macro and adapted tests to detect bad blocks.
    • Updated FMC_NORSRAM_Init()/FSMC_NORSRAM_Init() in order to not modify the default values
      for the reserved bits in the BTCR register.
  • HAL GPIO
    • Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
    • Added only one define BSRR for BSRRH/BSRRL register.
    • Fixed issue to ensure interrupt mode is reset.
    • Reworked GPIO_GET_SOURCE() in order to check only existing GPIO bank.
    • Add new macro IS_GPIO_AF_INSTANCE to protect GPIO banks without alternate function register
      from being initialized as AF.
  • HAL HRTIM
    • Corrected bit definition for HRTIM_MCMPxR registers.
    • Corrected naming for delayed protection related constants.
    • Added missing assert in HAL_HRTIM_BurstModeConfig().
    • Added missing macros __HAL_FREEZE_ HRTIM1_DBGMCU(), __HAL_UNFREEZE_ HRTIM1_DBGMCU ()
      to stop the HRTIM when the core is halted (to control the DBGMCU_APB2_FZ.DBG_HRTIM1_STOP bitfield).
  • HAL I2C
    • Corrected wrong management of AF after NACK.
    • Renamed I2C_CR1_DFN to I2C_CR1_DNF.
    • Corrected management of I2C state in the function I2C_MasterTransmit_ISR().
    • Re-introduced the MACROs to manage the FM+ capapbility on some GPIOs.
  • HAL I2S
    • Added DMA circular mode support for the communication peripherals.
    • Updated I2S HAL_I2S_Transmit() API on busy flag.
  • HAL IRDA
    • Added DMA circular mode support for the communication peripherals.
    • Implemented __HAL_UART_FLUSH_DRREGISTER macro, required by the In-Application Programming (IAP)
      using the USART application.
    • Used new macro IS_UART_DMA_INSTANCE in assert_param() calls for IRDA DMA related primitives.
    • Changed UART TX-IT implementation to remove WaitOnFlag in ISR.
    • Fixed issue in IRDA DMA implementation: missed clear of the TC bit in the SR register.
    • Corrected definition of IS_IRDA_REQUEST_PARAMETER macro.
    • Modified Time Out management: report state READY instead of TIMEOUT.
      Time-out information is reported by function output parameter.
    • Corrected PCLK source for USART1.
  • HAL OPAMP
    • Updated HAL_OPAMP_DeInit() to handle LOCKED state.
    • Added __HAL_UNLOCK in HAL_OPAMP_DeInit.
    • Removed InvertingInput ASSERT in HAL_OPAMP_Init() as it is not needed in PGA mode.
    • Updated definition of OPAMP_CSR_UPDATE_PARAMETERS_INIT_MASK in OPAMP Init.
  • HAL PWR
    • Fixed MISRA C 2004 warnings, resort to reference SET_BIT, CLEAR_BIT macros.
    • Updated Device information when missing, systematically added USE_FULL_ASSERT compilation switch.
    • Added local variables addition to suppress warnings.
    • Removed useless regulator parameter setting in HAL_PWR_EnterSLEEPMode().
  • HAL RCC
    • Renamed RCC_CFGR3_USART1SW_PCLK to RCC_CFGR3_USART1SW_PCLKx according to devices.
    • Added missing flag for RCC_CSR_VREGRSTF bit.
    • Added missing flag for RCC_CFGR_MCOF feature.
    • Added missing macro __HAL_RCC_LSEDRIVE_CONFIG.
    • Renamed IS_RCC_PERIPHCLK to IS_RCC_PERIPHCLOCK.
    • Renamed __HAL_RCC_MCO_CONFIG to __HAL_RCC_MCO1_CONFIG.
    • Updated RCC APIs to add interface HAL_RCCEx_GetPeriphCLKFreq.
    • Implemented workaround to cover RCC limitation regarding Peripheral enable delay.
    • Modified HAL_RCCEx_PeriphCLKConfig to reset backup domain only if RTC clock source has been changed.
    • Reworked __HAL_RCC_LSE_CONFIG macro to manage correctly LSE_Bypass.
    • Followed specific procedure to enable HSE.
    • Updated HAL_RCC_OscConfig() to modify check on LSEState.
    • Added PLL_DIV1 define missing from the RCC_MCO_Clock_Source defgroup.
    • Added new macro __HAL_RCC_IS_PWR_CLOCK_ENABLED() to replace condition on Peripheral Clock enable status.
    • Added new macro __HAL_RCC_SYSCLK_CONFIG() to configure the SYSCLK clock source.
    • Fixed issur in issue in HAL_RCC_OscConfig when RCC_OscInitStruct->HSEState = RCC_HSE_BYPASS.
  • HAL RTC(BKP)
    • Updated list of backup registers definition.
    • Updated Bits mask literals used in macros definition.
    • Renamed RTC_OUTPUT_REMAP_XX and RTC_TIMESTAMPPIN_XX macros.
    • Updated definition of __HAL_RTC_TAMPER_TIMESTAMP_EXTI_GET_FLAG.
    • Aligned different implementations of HAL_RTC_XXIRQHandler().
    • Check the behavior of flag WUTWF and corrected update of wakeup counter registers.
    • Added subsecond fration formula in HAL_RTC_GetTime() function.
  • HAL SDADC
    • Applied ReferenceVoltage parameter in HAL_SDADC_Init() wathever instance.
    • Added new macros __HAL_SDADC_ENABLE_IT(), __HAL_SDADC_GET_IT_SOURCE(), __HAL_SDADC_GET_FLAG().
  • HAL SMARTCARD
    • Implemented __HAL_UART_FLUSH_DRREGISTER macro, required by the In-Application Programming (IAP)
      using the USART application.
    • Changed UART TX-IT implementation to remove WaitOnFlag in ISR.
    • Added missing IDLE flag management.
    • Modified Time Out management: report state READY instead of TIMEOUT.
      Time-out information is reported by function output parameter.
    • Corrected PCLK source for USART1.
  • HAL SPI
    • Improved SPI performances.
    • Added Fit Bit feedback (with BSY flag check) for all the process.
    • Updated function descriptions.
    • Fixed issue on Rx 2line with DataSize8bit, even buffer size and CRC 8bit.
    • Added DMA circular mode support for the communication peripherals.
    • Removed DMA Tx Callback in case of RxOnly mode from HAL_SPI_TransmitReceive_DMA().
    • Added HAL_SPI_GetError().
  • HAL TIM
    • Corrected assert checks in HAL_TIM_ConfigClockSource() when setting internal clock source.
    • Removed useless assert() in TIM functions.
    • Updated implementation of __HAL_TIM_SET_COMPARE macro.
    • Updated Repetition counter bits definition.
    • Modified HAL_TIM_ConfigOCrefClear() to avoid possible overwrite of SMCR register.
    • Removed assert on trigger polarity in the case TIM_TS_TI1F_ED.
    • Removed HAL_TIM_SlaveConfigSynchronization_DMA() from HAL_TIM APIs.
    • Added TIM edge modification macros: TIM_SET_CAPTUREPOLARITY(), TIM_RESET_CAPTUREPOLARITY(), __HAL_TIM_SET_CAPTUREPOLARITY.
    • Added URS_ENABLE, URS_DISABLE macros.
    • Changed Time Out management: report state READY instead of TIMEOUT.
      Time-out information is reported by function output parameter.
    • Added new function HAL_TIM_SlaveConfigSynchronization_IT() to handle the trigger interrupt activation.
  • HAL TSC
    • Recovered IS_TSC_SS and IS_TSC_SSD macro definitions.
  • HAL UART-USART
    • Added DMA circular mode support for the communication peripherals.
    • Modified Time Out management: report state READY instead of TIMEOUT.
      Time-out information is reported by function output parameter.
    • Changed UART_DMATransmitCplt() implementation to remove WaitOnFlag in ISR.
    • Implemented __HAL_UART_FLUSH_DRREGISTER macro, required by the In-Application Programming (IAP)
      using the USART application.
    • Corrected behavior of HAL_UART_IRQ_Handler() (removed enabling/disabling of ERR IT source).
    • Added IS_UART_DMA_INSTANCE macro to sort UART instances supporting DMA communication.
    • Used new macro IS_UART_DMA_INSTANCE in assert_param() calls for UART DMA related primitives.
    • Changed UART TX-IT implementation to remove WaitOnFlag in ISR.
    • Added MACRO to UART HAL to control CTS and RTS from the customer application.
    • Renamed HAL_UART_WakeupCallback() in HAL_UARTEx_WakeupCallback().
    • Corrected setting of BRR register bit[3:0] when OVER8 sampling mode is used.
    • Corrected values used as parameter of __HAL_USART_CLEAR_IT() in HAL_USART_IRQHandler().
    • Updated HAL_USART_Init() to reach max frequencies (enable oversampling by 8).
    • Fixed issue in UART DMA implementation: missed clear of the TC bit in the SR register.
    • Added test in HAL_LIN_Init() as only 8-bit data length is available with USART Lin mode Data length.
    • Updated USART_IT_CM defined value.
    • Corrected PCLK source for USART1.
  • HAL USB/PCD
    • Corrected products define supporting USB feature.
    • Updated call to Double Buffering Counter Function.
    • Updated HAL PCD clear flag macros configuration.
    • Corrected issue in HAL_PCD_EP_Transmit() function, regarding the double-buffering mode for IN endpoints.
  • HAL WWDG
    • Updated IT macro management.

V1.1.1 / 19-June-2015

Main Changes

  • Fixed compilation warnings reported by TrueSTUDIO and SW4STM32 toolchains.

V1.1.0 / 12-Sept-2014

Main Changes

  • First official release of STM32F3xx HAL drivers for STM32F303xE, STM32F302xE and STM32F398xx devices.
  • HAL generic update
    • Add support of new devices STM32F302xE and STM32F398xx in STM32F3xx HAL drivers
  • HAL ADC
    • Empty weak function return HAL_ERROR
    • Misra error corrections
  • HAL CORTEX
    • Macro IS_SYSTICK_CLKSOURCE renamed IS_SYSTICK_CLK_SOURCE
  • HAL DAC
    • Empty weak function return HAL_ERROR
  • HAL IWDG
    • Minor updates (HAL coding rules)
  • HAL PCD
    • Changed IN/OUT EndPoint parameter array size (PCD Handle Structure)
  • HAL RCC
    • RCC_MCOSOURCE_PLLCLK_DIV1 define added to RCC_MCO_Clock_Source defgroup for the following devices: STM32F302xE, STM32F303xE, STM32F398xx, STM32F303x8, STM32F328xx, STM32F301x8, STM32F302x8 and STM32F318xx
  • HAL SPI
    • Removed HAL_ prefix from static function names
  • HAL TIM
    • Checked DeadTime value in debug mode
    • Add new macros __HAL_TIM_URS_ENABLE() and __HAL_TIM_URS_DISABLE()
  • HAL WWDG
    • Minor updates (HAL coding rules)
    • Added macro __HAL_WWDG_CLEAR_IT()
    • Use MODIFY_REG() macro to set Prescaler, Window and Counter registers within  HAL_WWDG_Init() 

V1.1.0RC2 / 25-August-2014

Main Changes

  • HAL generic update
    • General improvement of Doxygen Tags for CHM UM generation
    • Add support of new devices STM32F303xE in STM32F3xx HAL driver
  • HAL update (for STM32F303xE)
    • Add new defines for ADC trigger remapping (HAL_REMAPADCTRIGGER_x)
    • Add new defines for CCM RAM page write protection (up to 16 pages can be write protected)
    • Add new macro IS_HAL_REMAPADCTRIGGER()
    • Updated macro IS_HAL_SYSCFG_WP_PAGE ()
    • Add new macros to freeze/unfreeze TIM20 in debug mode: __HAL_FREEZE_TIM20_DBGMCU() and __HAL_UNFREEZE_TIM20_DBGMCU()
    • Add new macro to remap the FMC banks 1 and 2 at 0x00000000 : __HAL_FMC_BANK()
    • Add new macros to enable/disable ADC trigger remapping: __HAL_REMAPADCTRIGGER_ENABLE() and __HAL_REMAPADCTRIGGER_DISABLE()
  • HAL ADC update (for STM32F303xE)
    • Add new defines for TIM20 related ADC external triggers for regular groups (ADC_EXTERNALTRIGCONV_T20_x)
    • Add new defines for TIM20 related ADC external triggers for injected groups (ADC_EXTERNALTRIGINJECCONV_T20_x)
    • Updated macro __HAL_ADC_CFGR_EXTSEL() to take into account TIM20 related ADC triggers for regular channels
    • Updated macro __HAL_ADC_JSQR_JEXTSEL() to take into account TIM20 related ADC triggers for injected channels
  • HAL COMP update
    • Defect correction:
      • Missing assert param IS_COMP_TRIGGERMODE
    • STM32F303xE:
      • Add new defines for comparator output redirection: COMP_OUTPUT_TIM20BKIN, COMP_OUTPUT_TIM20BKIN2, COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2_TIM20BKIN2 and COMP_OUTPUT_TIM20OCREFCLR
  • HAL FLASH update (for STM32F303xE)
    • Add new defines for write protection of pages 32 to 61 and 62-263 (OB_WRP_PAGESxxTOyy)
  • HAL GPIO update (for STM32F303xE)
    • Add new defines for TIM20 and FMC related AF: GPIO_AF2_TIM20, GPIO_AF3_TIM20, GPIO_AF6_TIM20 and GPIO_AF12_FMC
  • HAL IRDA update
    • TC enabled and TXE disabled at the end of TX in IT mode
  • HAL HAL NAND (STM32F303xE specific)
    • FMC: generic firmware to drive NAND memories mounted as external device
  • HAL NOR (STM32F303xE specific)
    • FMC: generic firmware to drive NOR memories mounted as external device
  • HAL PCCARD (STM32F303xE specific)
    • FMC: generic firmware to drive PCCARD memories mounted as external device
  • HAL PCD update 
    • Add new macros __HAL_USB_EXTI_GET_FLAG() , __HAL_USB_EXTI_CLEAR_FLAG(), __HAL_USB_EXTI_SET_RISING_EDGE_TRIGGER(), __HAL_USB_EXTI_SET_FALLING_EDGE_TRIGGER() and _HAL_USB_EXTI_SET_FALLINGRISING_TRIGGER()
  • HAL PWR update 
    • PVD feature need falling/rising Event modes
      • Rename  defines: 
        • PWR_MODE_EVT to PWR_PVD_MODE_NORMAL
        • PWR_MODE_IT_RISING to PWR_PVD_MODE_IT_RISING
        • PWR_MODE_IT_FALLING to PWR_PVD_MODE_IT_FALLING
        • PWR_MODE_IT_RISING_FALLING to PWR_PVD_MODE_IT_RISING_FALLING
        • PWR_MODE_IT_RISING to PWR_PVD_MODE_IT_RISING
      • Add new defines: PWR_PVD_MODE_EVENT_RISING, PWR_PVD_MODE_EVENT_FALLING and PWR_PVD_MODE_EVENT_RISING_FALLING
      • Changed __HAL_PVD_EXTI_ENABLE_IT() macro  definition: __EXTILINE__ argument no longer needed (PWR_EXTI_LINE_PVD is used implicitly)
      • Changed __HAL_PVD_EXTI_DISABLE_IT() macro definition: __EXTILINE__ argument no longer needed (PWR_EXTI_LINE_PVD is used implicitly)
      • Changed __HAL_PVD_EXTI_GET_FLAG () macro definition: __EXTILINE__ argument no longer needed (PWR_EXTI_LINE_PVD is used implicitly)
      • Changed _HAL_PVD_EXTI_CLEAR_FLAG () macro definition: __EXTILINE__ argument no longer needed (PWR_EXTI_LINE_PVD is used implicitly)
      • Add new macros __HAL_PWR_PVD_EXTI_ENABLE_EVENT(), __HAL_PWR_PVD_EXTI_DISABLE_EVENT(),  __HAL_PWR_PVD_EXTI_CLEAR_EGDE_TRIGGER(), __HAL_PWR_PVD_EXTI_SET_FALLING_EGDE_TRIGGER() and __HAL_PWR_PVD_EXTI_SET_RISING_EDGE_TRIGGER()
  • HAL RCC update (for STM32F303xE)
    • RCC_OcsInitTypeDef and RCC_PLLInitTypeDef definitions are now product dependent: 
      • STM32F303xE:
        • Added PREDIV field to RCC_PLLInitTypeDef: used to set the desired pre-division factor whatever the PLL clock source is (HSI or HSE).
        • Removed field HSEPredivValue from RCC_OscInitTypeDef (replaced by PREDIV field in RCC_PLLInitTypeDef)
      • Other F3 products: no change in RCC_OcsInitTypeDef and RCC_PLLInitTypeDef definitions
    • Add new definition of RCC_PeriphCLKInitTypeDef  to fit STM32F303xE  clock selection capabilities (e.g select TIM20 clock source)
    • Add new defines to select the pre-division factor (RCC_PREDIV_DIVx)
    • Add new defines to set TIM20 clock source (RCC_PERIPHCLK_TIM20, RCC_TIM20CLK_HCLK and RCC_TIM20CLK_PLLCLK)
    • Add new defnes to set TIM3 & TIM4 clock source  (RCC_PERIPHCLK_TIM34, RCC_TIM34CLK_HCLK, RCC_TIM34CLK_PCLK)
    • Add FMC related macros: __FMC_CLK_ENABLE(), __FMC_CLK_DISABLE(), __FMC_FORCE_RESET() and __FMC_RELEASE_RESET()
    • Add GPIO port G related macros: __GPIOG_CLK_ENABLE(), __GPIOG_CLK_DISABLE(), __ GPIOG _FORCE_RESET() and __GPIOG _RELEASE_RESET()
    • Add GPIO port H related macros:_ __GPIOH_CLK_ENABLE(), __GPIOH_CLK_DISABLE(), __FMC_ GPIOH _RESET() and __GPIOH _RELEASE_RESET()
    • Add SPI4 related macros:  __SPI4_CLK_ENABLE(), __SPI4_CLK_DISABLE(), __ SPI4_FORCE_RESET() and __SPI4_RELEASE_RESET()
    • Add TIM20 related macros: __TIM20_CLK_ENABLE(), __TIM20_CLK_DISABLE(), __ TIM20_FORCE_RESET() and __TIM20_RELEASE_RESET(), __HAL_RCC_TIM20_CONFIG() , __HAL_RCC_GET_TIM20_SOURCE()
    • Add new macro to set/get the clock source of TIM3 & TIM4: __HAL_RCC_TIM34_CONFIG() and  __HAL_RCC_GET_TIM34_SOURCE()
  • HAL SMARTCARD update
    • Change SMARTCARD_AdvFeatureConfig() from exported to static private function
    • TC enabled and TXE disabled at the end of TX in IT mode

  • HAL SMBUS update
    • Fix wrong State after a PEC failed
    • Fix slave acknowledge issue

  • HAL SPI update
    • Fix CodeSonar warning: unreachable Call in SPI_CloseRxTx_ISR()

  • HAL SRAM (STM32F303xE specific)
    • FMC: generic firmware to drive SRAM memories mounted as external device
  • HAL TIM update (for STM32F303xE)
    • Add defines to set TIM20 option register (link from analog watchdog and TIM20 ETR)
  • HAL UART update
    • TC enabled and TXE disabled at the end of TX in IT mode
  • HAL USART update
    • TC enabled and TXE disabled at the end of TX in IT mode

V1.0.1 / 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.
    • Add new macro __HAL_RESET_HANDLE_STATE to reset a given handle state.
  • HAL ADC update

    • Rename defines:
      • ADC_EXTERNALTRIGCONV_Ext_IT11 to ADC_EXTERNALTRIGCONV_EXT_IT11
      • ADC_EXTERNALTRIGCONV_Ext_IT12 to ADC_EXTERNALTRIGCONV_EXT_IT12
    • Fix define ADC_SOFTWARE_START
    • Update external trigger defines to remove HRTIM triggers for STM32F328xx and TIM8 triggers for STM32F302xC
    • Add ADC1_2_EXTERNALTRIG_T4_CC4 for STM32F303x8 and STM32F328xx
  • HAL CEC update

    • Process no more locked during the transmission in interrupt mode. 
  • HAL COMP update

    • Fix on 32-bit register COMP CSR accesses for STM32F373xC and STM32F378xx devices.
    • Add new defines for STM32F373xC and STM32F378xx comparators: 
COMP_OUTPUT_TIM3IC1, COMP_OUTPUT_TIM3OCREFCLR, COMP_OUTPUT_TIM2IC4 and COMP_OUTPUT_TIM2OCREFCLR 
instead of previous defines 
COMP_OUTPUT_COMP1_TIM3IC1, COMP_OUTPUT_COMP1_TIM3OCREFCLR, COMP_OUTPUT_COMP1_TIM2IC4,  COMP_OUTPUT_COMP1_TIM2OCREFCLR,
COMP_OUTPUT_COMP2_TIM3IC1, COMP_OUTPUT_COMP2_TIM3OCREFCLR, COMP_OUTPUT_COMP2_TIM2IC4,  COMP_OUTPUT_COMP2_TIM2OCREFCLR.
  • HAL DMA update

    • Fix in HAL_DMA_PollForTransfer() to set error code HAL_DMA_ERROR_TE in case of HAL_ERROR status 
  • HAL GPIO update

    • Fix GPIO_AF5_SPI1 define instead of GPIO_AF5_SPI1 for STM32F303x8 device. 
  • HAL HRTIM update

    • HRTIM peripheral not available for STM32F328xx device.
    • Fix macros __HAL_HRTIM_CLEAR_FLAG, __HAL_HRTIM_MASTER_CLEAR_FLAG and __HAL_HRTIM_TIMER_CLEAR_FLAG
  • 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 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 OPAMP update

    • __SYSCFG_CLK_ENABLE() is now handled internally in HAL_OPAMP_Init() and no more in user HAL_OPAMP_MspInit().
  • HAL PCD update

    • Add new macro __HAL_USB_EXTI_GENERATE_SWIT

  • 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

    • Change for STM32F303x8, STM32F334x8 and STM32F328xx devices:
      • Add missing macro __DAC2_FORCE_RESET
      • Rename RCC_USART1CLKSOURCE_PCLK2 into RCC_USART1CLKSOURCE_PCLK1
    • Remove HRTIM1 peripheral and clocking macros for STM32F328xx 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 / 06-May-2014

Main Changes

  • First official release of STM32F3xx HAL drivers for STM32F301x6/x8, STM32F302x6/x8, STM32F302xB/xC, STM32F303x6/x8, STM32F373xB/xC, STM32F334x4/x6/x8STM32F318xx, STM32F328xx, STM32F358xx and STM32F378xx devices.

License

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. 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.
  3. 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