From 9ed7ceb47cf584306543850ba720670fca25b727 Mon Sep 17 00:00:00 2001 From: jflyper Date: Thu, 3 Oct 2019 03:18:37 +0900 Subject: [PATCH] Register changes fired by modified EOL code for html files --- .../STM32F1xx_HAL_Driver/Release_Notes.html | 3026 ++++++++++---------- .../ST/STM32_USB_Device_Library/Release_Notes.html | 2530 ++++++++-------- .../ST/STM32_USB_Host_Library/Release_Notes.html | 2384 +++++++-------- .../STM32F3xx_HAL_Driver/Release_Notes.html | 2188 +++++++------- .../ST/STM32_USB_Device_Library/Release_Notes.html | 2532 ++++++++-------- .../STM32F4xx_StdPeriph_Driver/Release_Notes.html | 2286 +++++++-------- .../ST/STM32_USB_Device_Library/Release_Notes.html | 2530 ++++++++-------- .../CMSIS/Device/ST/STM32F7xx/Release_Notes.html | 442 +-- .../ST/STM32_USB_Device_Library/Release_Notes.html | 2698 ++++++++--------- .../ST/STM32_USB_Device_Library/Release_Notes.html | 2698 ++++++++--------- lib/main/STM32_USB_OTG_Driver/Release_Notes.html | 1900 ++++++------ 11 files changed, 12607 insertions(+), 12607 deletions(-) diff --git a/lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Release_Notes.html b/lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Release_Notes.html index 7f6a14e3c..b21b32ac0 100644 --- a/lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Release_Notes.html +++ b/lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Release_Notes.html @@ -1,1515 +1,1515 @@ - - - - - - - - - - - - -Release Notes for STM32F1xx HAL Drivers - - - - - - - - - - -
- -

 

- -
- - - - - -
- - - - - - - -
-

Back to Release page

-
-

Release Notes for STM32F1xx HAL Drivers

-

Copyright - 2016 STMicroelectronics

-

-
-

 

- - - - -
-

Update History

- -

V1.1.1 / 12-May-2017

  • General updates to fix known defects and enhancements implementation
  • HAL update
    • stm32f1xx_hal_conf_template.h fix typo: update to refer to stm32f1xx_hal_mmc.h instead of  stm32f4xx_hal_mmc.h
  • LL SYSTEM update
    • LL_DBGMCU_APB1_GRP1_I2C1_STOP and LL_DBGMCU_APB1_GRP1_I2C2_STOP literals are retarget to an available literals
    • LL_DBGMCU_APB1_GRP1_RTC_STOP literal is not available for all STM32F1 devices
  • HAL MMC update
    • Add missing () to fix compilation warning detected with SW4STM32 when extra feature is enabled.
  • HAL I2C update
    • Update -HAL I2C processes to manage correctly the I2C state to allow the -possibility to call HAL_I2C_Master_Sequential_Receive_IT() followed by -a call HAL_I2C_Master_Sequential_Transmit_IT()

V1.1.0 / 14-April-2017

  • Add Low Layer drivers allowing performance and footprint optimization
    • Low -Layer drivers APIs provide register level programming: require deep -knowledge of peripherals described in STM32F1xx Reference Manuals
    • Low -Layer drivers are available for: ADC, Cortex, CRC, DAC, DMA, EXTI, GPIO, I2C, IWDG, PWR, RCC, RTC, SPI, TIM, -USART, WWDG peripherals and additionnal Low Level Bus, System and -Utilities APIs.
    • Low Layer drivers APIs are implemented as static inline function in new Inc/stm32f1xx_ll_ppp.h files for PPP peripherals, there is no configuration file and each stm32f1xx_ll_ppp.h file must be included in user code.
  • Add new HAL MMC driver
  • General updates to fix known defects and enhancements implementation
  • - -Enhance HAL delay and time base implementation:
    • Add -new drivers stm32f1xx_hal_timebase_rtc_alarm_template.c and -stm32f1xx_hal_timebase_tim_template.c which override the native -HAL time base functions (defined as weak) to either use the RTC/TIM as time -base tick source. For more details about the usage of these drivers, -please refer to HAL\HAL_TimeBase_RTC  and HAL\HAL_TimeBase_TIM examples and FreeRTOS-based applications
  • Fix extra warnings with GCC compiler
  • HAL drivers clean up: update 'uint32_t' cast with 'U'
  • Update to used the new defined Bit_Pos CMSIS defines insetad of POSITION_VAL() macro
  • Update HAL -weak empty callbacks to prevent unused argument compilation warnings with some -compilers by calling the following line: -
    • UNUSED(hppp);
  • STM32Fxxx_User_Manual.chm files regenerated for HAL V1.1.0
  • The following changes done on the HAL drivers require an update on the application code based on older HAL versions
    • HAL UART, USART, IRDA, SMARTCARD, SPI, I2C (referenced as PPP here below) drivers
      • Add PPP error management during DMA process. This requires the following updates on user application:
        • Configure and enable the PPP IRQ in HAL_PPP_MspInit() function
        • In stm32f1xx_it.c file, PPP_IRQHandler() function: add a call to HAL_PPP_IRQHandler() function
        • Add customize the Error Callback API: HAL_PPP_ErrorCallback()
    • HAL SD driver:
      • Overall rework of the driver for a more efficient implementation
        • Modify initialization API and structures
        • Modify Read / Write sequences: separate transfer process and SD Cards state management 
        • Adding interrupt mode for Read / Write operations
        • Update the HAL_SD_IRQHandler function by optimizing the management of interrupt errors
      • Refer to the following example to identify the changes: BSP example and USB_Device/MSC_Standalone application
    • HAL NAND driver:
      • Modify NAND_AddressTypeDef, NAND_DeviceConfigTypeDef and NAND_HandleTypeDef structures fields
      • Add new HAL_NAND_ConfigDevice API
    • HAL CEC driver:  Overall driver rework with compatibility break versus previous HAL version
      • Remove HAL CEC polling Process functions: HAL_CEC_Transmit() and HAL_CEC_Receive()
      • Remove -HAL CEC receive interrupt process function HAL_CEC_Receive_IT() -and enable the "receive"  mode during the Init phase
      • Rename HAL_CEC_GetReceivedFrameSize() funtion to HAL_CEC_GetLastReceivedFrameSize()
      • Add new HAL APIs: HAL_CEC_SetDeviceAddress() and HAL_CEC_ChangeRxBuffer()
      • Remove the 'InitiatorAddress' -field from the CEC_InitTypeDef structure and manage -it as a parameter in the HAL_CEC_Transmit_IT() function
      • Add new parameter 'RxFrameSize' in HAL_CEC_RxCpltCallback() function
      • Move CEC Rx buffer pointer from CEC_HandleTypeDef structure to CEC_InitTypeDef structure
    • HAL IWDG driver: rework overall driver for better implementation
      • Remove HAL_IWDG_Start(), HAL_IWDG_MspInit() and HAL_IWDG_GetState() APIs
    • HAL WWDG driver: rework overall driver for better implementation
      • Remove HAL_WWDG_Start(), HAL_WWDG_Start_IT(), HAL_WWDG_MspDeInit() and HAL_WWDG_GetState() APIs 
      • Update the HAL_WWDG_Refresh(WWDG_HandleTypeDef *hwwdg, uint32_t counter)  function and API  by removing the  "counter" parameter
  • HAL GENERIC update
    • Modifiy default HAL_Delay implementation to guarantee minimum delay 
    • stm32f1xx_hal_conf_template.h
      • Add new define LSI_VALUE
      • Add new define USE_SPI_CRC for code cleanup when the CRC calculation is disabled.
  • HAL CORTEX update
    • Move HAL_MPU_Disable() and HAL_MPU_Enable() from stm32f4xx_hal_cortex.h to stm32f4xx_hal_cortex.c
    • Clear the whole MPU control register in HAL_MPU_Disable() API
  • HAL FLASH update
    • HAL_FLASH_OB_Launch(): fix static code analyzer warning: The removed code will not execute under any circumstances
  • HAL GPIO update
    • Update IS_GPIO_PIN() macro implementation to be more safe
    • Update remap macros implementation to use CLEAR_BIT()/SET_BIT() macros instead of  MODIFY_REG() macro.
  • HAL RCC update
    • Update LSI workaround delay to use CPU cycles instead of systick
    • Move LSI_VALUE define from RCC HAL driver to stm32f1xx_hal_conf.h file
    • Adjust defined PLL MUL values in aPLLMULFactorTable[]
  • HAL ADC update
    • HAL_ADCEx_MultiModeStart_DMA()  and HAL_ADCEx_MultiModeStop_DMA() API's update to fix code static analyzer warning: Redundant Condition / Unreachable Computation
  • HAL DMA update
    • HAL_DMA_Init(): update to check compatibility between FIFO threshold level and size of the memory burst 
    • Global driver code optimization to reduce memory footprint 
    • New APIs HAL_DMA_RegisterCallback() and HAL_DMA_UnRegisterCallback() to register/unregister the different possible callbacks identified by enum typedef HAL_DMA_CallbackIDTypeDef
    • Add new Error Codes: HAL_DMA_ERROR_NO_XFER and HAL_DMA_ERROR_NOT_SUPPORTED
  • HAL USART update
    • Add Transfer abort functions and callbacks
    • DMA Receive process; the code -has been updated to clear the USART OVR flag before enabling DMA receive request.

    • Update HAL_USART_IRQHandler() to add a check on interrupt source before managing the error 
  • - -HAL UART update -
    • Several update on HAL UART driver to implement the new UART state machine: 
      • Add new field in UART_HandleTypeDef structure: "rxState", UART state information related to Rx Operations
      • Rename "state" field in UART_HandleTypeDef structure by "gstate": UART state information related to global Handle management and Tx Operations
      • Update UART process to manage the new UART states.
      • Update __HAL_UART_RESET_HANDLE_STATE() macro -to handle the new UART state parameters (gState, rxState)
    • Add Transfer abort functions and callbacks
    • Update HAL_UART_IRQHandler() to add a check on interrupt source before managing the error 
    • DMA Receive process; the code -has been updated to clear the USART OVR flag before enabling DMA receive request.

- - - - -
  • - -HAL IRDA update -
    • Several update on HAL IRDA driver to implement the new UART state machine: 
      • Add new field in IRDA_HandleTypeDef structure: "rxState", IRDA state information related to Rx Operations
      • Rename "state" field in UART_HandleTypeDef structure by "gstate": IRDA state information related to global Handle management and Tx Operations
      • Update IRDA process to manage the new UART states.
      • Update __HAL_IRDA_RESET_HANDLE_STATE() macro -to handle the new IRDA state parameters (gState, rxState)
    • Removal of IRDA_TIMEOUT_VALUE define
    • Add Transfer abort functions and callbacks
    • Update HAL_IRDA_IRQHandler() to add a check on interrupt source before managing the error 
    • DMA Receive process; the code -has been updated to clear the USART OVR flag before enabling DMA receive request.

  • - -HAL SMARTCARD update -
    • Several update on HAL SMARTCARD driver to implement the new UART state machine: 
      • Add new field in SMARTCARD_HandleTypeDef structure: "rxState", SMARTCARDstate information related to Rx Operations
      • Rename "state" field in UART_HandleTypeDef structure by "gstate": SMARTCARDstate information related to global Handle management and Tx Operations
      • Update SMARTCARD process to manage the new UART states.
      • Update __HAL_SMARTCARD_RESET_HANDLE_STATE() macro -to handle the new SMARTCARD state parameters (gState, rxState)
    • Add Transfer abort functions and callbacks
    • Update HAL_SMARTCARD_IRQHandler() to add a check on interrupt source before managing the error 
    • DMA Receive process; the code -has been updated to clear the USART OVR flag before enabling DMA receive request.

  • HAL CAN update
    • Add - management of overrun error. 
    • Allow - possibility to receive messages from the 2 RX FIFOs in parallel via - interrupt.
    • Fix message - lost issue with specific sequence of transmit requests.
    • Handle - transmission failure with error callback, when NART is enabled.
    • Add __HAL_CAN_CANCEL_TRANSMIT() call to abort transmission when - timeout is reached
  • HAL TIM update
    • Add __HAL_TIM_MOE_DISABLE_UNCONDITIONALLY() macro to disable Master output without check on TIM channel state. 
    • Update HAL_TIMEx_ConfigBreakDeadTime() to fix TIM BDTR register corruption.
    • Update Input Capture polarity by removing non-supported "TIM_INPUTCHANNELPOLARITY_BOTHEDGE" define.
    • Update HAL_TIM_ConfigOCrefClear() API by removing the usage of non-existant SMCR OCCS bit.
    • Add -"AutoReloadPreload" field to TIM_Base_InitTypeDef structure and -corresponding macros __HAL_TIM_ENABLE_OCxPRELOAD() and -__HAL_TIM_DISABLE_OCxPRELOAD() .
    • Update TIM_Base_SetConfig() API to set the auto-reload preload.
  • HAL I2C update
    • Update -HAL_I2C_Master_Transmit() and HAL_I2C_Slave_Transmit() to avoid sending -extra bytes at the end of the transmit processes
    • Update - HAL_I2C_Mem_Read() API to fix wrong check on misused parameter “Size”
    • Update - I2C_MasterReceive_RXNE() and I2C_MasterReceive_BTF() static APIs to - enhance Master sequential reception process.
  • HAL SPI update
    • Major Update to improve performance in - polling/interrupt mode to reach max frequency:
      • Polling mode :
        • Replace use of - SPI_WaitOnFlagUnitTimeout() funnction by "if" statement to - check on RXNE/TXE flage while transferring data.
        • Use API data pointer instead of SPI - handle data pointer.
      • Use a Goto implementation instead of - "if..else" statements
      • Interrupt mode
        • Minimize access on SPI registers.
        • Split the SPI modes into dedicated - static functions to minimize checking statements under - HAL_IRQHandler():
          • 1lines/2lines modes
          • 8 bit/ 16 bits data formats
          • CRC calculation enabled/disabled.
      • Remove waiting loop under ISR when - closing  the communication.
      • All modes:  
        • Adding switch USE_SPI_CRC to minimize - number of statements when CRC calculation is disabled.
        • Update Timeout management to check on - global process.
        • Update Error code management in all - processes.
    • Add note to the max frequencies reached in - all modes.
    • Add note about Master Receive mode - restrictions :
    • Master Receive mode restriction:
      -       (#) In Master unidirectional receive-only - mode (MSTR =1, BIDIMODE=0, RXONLY=0) or
      -           bidirectional - receive mode (MSTR=1, BIDIMODE=1, BIDIOE=0), to ensure that the SPI
      -           does not initiate - a new transfer the following procedure has to be respected:
      -           (##) - HAL_SPI_DeInit()
      -           (##) - HAL_SPI_Init()
    • Add transfer abort APIs and - associated callbacks in interrupt mode
      • HAL_SPI_Abort()
      • HAL_SPI_Abort_IT()
      • HAL_SPI_AbortCpltCallback()
  • - -HAL CEC update
    • Overall driver rework with break of compatibility with HAL V1.0.5
      • Remove the HAL CEC polling Process: HAL_CEC_Transmit() and HAL_CEC_Receive()
      • Remove the HAL CEC receive interrupt process (HAL_CEC_Receive_IT()) and manage the "Receive" mode enable within the Init phase
      • Rename HAL_CEC_GetReceivedFrameSize() function to HAL_CEC_GetLastReceivedFrameSize() function
      • Add new HAL APIs: HAL_CEC_SetDeviceAddress() and HAL_CEC_ChangeRxBuffer()
      • Remove the 'InitiatorAddress' -field from the CEC_InitTypeDef structure and manage -it as a parameter in the HAL_CEC_Transmit_IT() function
      • Add new parameter 'RxFrameSize' in HAL_CEC_RxCpltCallback() function
      • Move CEC Rx buffer pointer from CEC_HandleTypeDef structure to CEC_InitTypeDef structure
    • Update driver to implement the new CEC state machine:
      • Add new "rxState" field in CEC_HandleTypeDef structure to provide the CEC state information related to Rx Operations
      • Rename "state" field in CEC_HandleTypeDef structure to "gstate": CEC state information related to global Handle management and Tx Operations
      • Update CEC process to manage the new CEC states.
      • Update __HAL_CEC_RESET_HANDLE_STATE() macro to handle the new CEC state parameters (gState, rxState)
-
  • HAL I2S update
    • Update I2S Transmit/Receive polling process to manage Overrun and Underrun errors
    • HAL I2S driver ovall clean-up and optimization
    • HAL_I2S_Init() API updated to
      • Fix wrong I2S clock calculation when PCM mode is used.
      • Return state HAL_I2S_ERROR_PRESCALER when the I2S clock is wrongly configured
  • HAL NAND update
    • Modify NAND_AddressTypeDef, NAND_DeviceConfigTypeDef and NAND_HandleTypeDef structures fields
    • Add new HAL_NAND_ConfigDevice API
-
  • HAL USB PCD update
    • Flush all TX FIFOs on USB Reset
    • Remove Lock mechanism from HAL_PCD_EP_Transmit() and HAL_PCD_EP_Receive() API's
  • LL USB update
    • Enable DMA Burst mode for USB OTG HS
    • Fix SD card detection issue
  • LL SDMMC update
    • Add new SDMMC_CmdSDEraseStartAdd, SDMMC_CmdSDEraseEndAdd, SDMMC_CmdOpCondition and SDMMC_CmdSwitch functions

V1.0.5 / 06-December-2016

- - - - - - - - - - - - - - - - - - - - -

Main -Changes

-
  • General updates to fix mainly known I2C defects and enhancements implementation
  • The following changes done on the HAL drivers require an update on the application code based on HAL V1.0.4
    • HAL I2C driver:
      • Add  I2C  error management during DMA process. This requires the following updates on user application:
        • Configure and enable the I2C IRQ in HAL_I2C_MspInit() function
        • In stm32f1xx_it.c file, I2C _IRQHandler() function: add a call to HAL_I2C_IRQHandler() function
        • Add and customize the Error Callback API: HAL_I2C_ErrorCallback()
      • Update to avoid waiting on STOPF/BTF/AF flag under DMA ISR by using the I2C end of transfer interrupt in the DMA transfer process. This requires the following updates on user application:
        • Configure and enable the I2C IRQ in HAL_I2C_MspInit() function
        • In stm32f1xx_it.c file, I2C_IRQHandler() function: add a call to HAL_I2C_IRQHandler() function
      • I2C -transfer processes IT update: NACK during addressing phase is managed -through I2C Error interrupt instead of HAL state
  • HAL I2C update
    • Add support of I2C repeated start feature:
      • With the following new API's
        • HAL_I2C_Master_Sequential_Transmit_IT()
        • HAL_I2C_Master_Sequential_Receive_IT()
        • HAL_I2C_Master_Abort_IT()
        • HAL_I2C_Slave_Sequential_Transmit_IT()
        • HAL_I2C_Slave_Sequential_Receive_IT()
        • HAL_I2C_EnableListen_IT()
        • HAL_I2C_DisableListen_IT()
      • Add -new user callbacks:
        • HAL_I2C_ListenCpltCallback()
        • HAL_I2C_AddrCallback()
    • - -

      IRQ handler optimization: read -registers status only once

    • I2C addressing phase is updated to be managed using interrupt instead of polling
      • Add new static functions to manage I2C SB, ADDR and ADD10 flags
    • I2C IT transfer processes update: NACK during addressing phase is managed through I2C Error interrupt instead of HAL state
    • Update to generate STOP condition when a acknowledge failure error is detected 
    • Update I2C_WaitOnFlagUntilTimeout() to manage the NACK feature.
    • Update  I2C transmission process to support the case data size equal 0
    • Update Polling management:
      • The Timeout value must be estimated for the overall process duration: the Timeout measurement is cumulative
    • Add the management of Abort service: Abort DMA transfer through interrupt
      • In the case of Master Abort IT transfer usage:
        • Add new user HAL_I2C_AbortCpltCallback() to inform user of the end of abort process
        • A new abort state is defined in the HAL_I2C_StateTypeDef structure
    • Add -the management of I2C peripheral errors, ACK failure and STOP condition -detection during DMA process. This requires the following updates on -user application:
      • Configure and enable the I2C IRQ in HAL_I2C_MspInit() function
      • In stm32f1xx_it.c file, I2C_IRQHandler() function: add a call to HAL_I2C_IRQHandler() function
      • Add and customize the Error Callback API: HAL_I2C_ErrorCallback()
    • Update to avoid waiting on STOPF/BTF/AF flag under DMA ISR by using the I2C end of transfer interrupt in the DMA transfer process. This requires the following updates on user application:
      • Configure and enable the I2C IRQ in HAL_I2C_MspInit() function
      • In stm32f1xx_it.c file, I2C_IRQHandler() function: add a call to HAL_I2C_IRQHandler() function
    • Add a check if the I2C is already enabled at start of all I2C API's.
    • Update I2C API's (Polling, IT, DMA interfaces) to use hi2c->XferSize and hi2c->XferCount instead of size 
      parameter to help user to get information of counter in case of error

  • HAL DMA update
    • Add new API HAL_DMA_Abort_IT() to abort DMA transfer under interrupt context
      • The new registered Abort callback is called when DMA transfer abortion is completed
  • HAL ETH update
    • Remove ETH MAC debug register defines
  • HAL DAC update
    • Clean up: remove the following literals that aren't used 
      • DAC_WAVE_NOISE
      • DAC_WAVE_TRIANGLE

V1.0.4 / 29-April-2016

- - - - - - - - - - - - - - - - - - - - -

Main -Changes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  • General updates to fix known defects and enhancements implementation.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  • HAL RCC
    • Add suffix U for defines equals to 0xFFFFFFFF (fix MISRA error 10.6)
    • Optimization of HAL_RCC_ClockConfig().
    • Replace aAPBAHBPrescTable by APBPrescTable and AHBPrescTable defined inside system_stm32f1xx.c.
    • When using HAL_RCC_OscConfig -to activate LSE, if LSE is already ON, it remains in its state ON. -Previously, it was turned OFF then ON in all cases.
    • The backup domain is no more reset when changing the RTC clock source from reset value.
    • Correct strange behavior in HAL_RCCEx_PeriphCLKConfig.
  • HAL UART
    • Correct the macro UART_BRR_SAMPLING16
  • HAL SMARTCARD
    • Correct the macro SMARTCARD_BRR
  • HAL IRDA
    • Correct the macro IRDA_BRR
    • EIE bit is no more activated in transmit (this bit only triggers errors in reception)
    • EIE bit is reset at the end of the reception.
  • HAL DMA
    • Add macro __HAL_DMA_GET_COUNTER to get the number of remaining data units in the current channel.
  • HAL FSMC
    • Adapt FSMC_NAND_Init behavior to the others STM32 series by reseting the bit FSMC_PCRx_PBKEN.

V1.0.3 / 11-January-2016

- - - - - - - - - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  • Remove the #if defined(USE_HAL_LEGACY) condition to include Legacy/stm32_hal_legacy.h by default, in stm32f1xx_hal_def.h.

V1.0.2 / 18-December-2015

- - - - - - - - - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  • General updates to fix known defects and enhancements implementation.
  • HAL generic
    • Insure that do {} while(0)  are used in in multi statement macros. (hal eth and pcd)
    • Manage simultaneous errors in IRQHandler. (hal uart, smartcard, usart and uart)
    • To -ensure the full compatibility of the GPIO interfaces across all the -STM32 families, the gpio speed definition have been renamed:
      • GPIO_SPEED_LOW to GPIO_SPEED_FREQ_LOW
      • GPIO_SPEED_MEDIUM to GPIO_SPEED_FREQ_MEDIUM
      • GPIO_SPEED_HIGH to GPIO_SPEED_FREQ_HIGH
      • aliases are created to keep backward compatibility
    • Reduce the default timeout value for the startup of the HSE form 5s to 100ms.
    • Update HAL weak empty callbacks to prevent unused argument compilation warnings with some compilers.
  • HAL ADC
    • Remove useless state HAL_ADC_STATE_REG_OVR and HAL_ADC_STATE_REG_EOSMP.
    • Add an error case if init is done with both continuous and discontinuous modes.
    • HAL_ADC_PollForEvent returns HAL_TIMEOUT if a timeout occurs instead of HAL_ERROR.
    • Trigger the assert_param of  the number of discontinuous conversion only if the discontinuous mode is enabled.
    • Enhance the check for ScanConvMode in HAL_ADC_Init.
  • HAL CAN
    • Clear the ERRI bit in HAL_CAN_IRQHandler.
  • HAL CORTEX
    • Remove the macro __HAL_CORTEX_SYSTICKCLK_CONFIG as duplicated by HAL_SYSTICK_CLKSourceConfig.
      • Create an alias to HAL_SYSTICK_CLKSourceConfig for backward compatibility.
  • HAL FLASH
    • The -parameter ReturnValue of HAL_FLASH_EndOfOperationCallback, in the case -of Pages Erase, now take the value of 0xFFFFFFFF if all the selected -pages have been erased.
    • Add a new interface HAL_FLASHEx_OBGetUserData to get the option byte user data.
  • HAL GPIO
    • Remove a useless assert_param on the pull mode in HAL_GPIO_Init.
  • HAL I2C
    • Correct issue at reception of 2 bytes using memory polling and IT interface.
    • Correct a wrong management of the AF flag.
  • HAL RCC
    • Reduce the timeout of HSI, LSI and PLL to be closer to HW specifications:
      • HSI_TIMEOUT_VALUE reduced from 100ms to 2ms
      • LSI_TIMEOUT_VALUE reduced from 100ms to 2ms
      • PLL_TIMEOUT_VALUE reduced from 100ms to 2ms
  • HAL SD
    • Correct wrong calculation of the capacity for High Capacity cards.
  • HAL SPI
    • Remove incorrect reset of DMA parameter in HAL_SPI_Receive_DMA and HAL_SPI_Transmit_DMA.
  • HAL TIM
    • Remove useless assert_param.
    • Rewrite the assert_param when setting clock source.
  • HAL UART
    • Manage the case of reception of a character while the driver is not expecting one. This was causing a crash of the driver.
  • LL USB
    • Remove the NoVbusSensing feature from driver. (feature not present on STM32F1xx)

V1.0.1 / 31-July-2015

- - - - - - - - - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  • General updates to fix known defects and enhancements implementation.
  • HAL generic
    • stm32f1xx_hal_def.h
      • Update NULL definition to -fix C++ compilation issue.
  • HAL ADC
    • Optimization of macro __HAL_ADC_CLEAR_FLAG.
    • ADC poll for conversion now return error status in case of ADC-DMA mode.
    • ADC polling functions now return HAL_TIMEOUT (or HAL_ERROR in case of configuration error).
    • Removing field NbrOfConversionRank of ADC_HandleTypeDef. This field was useless on STM32F1xx.
    • Improving the ADC state machine.
  • HAL CAN
    • Field Data of CanRxMsgTypeDef and CanTxMsgTypeDef is changed from uint32_t to uint8_t.
  • HAL Cortex
    • Add MPU APIs in Cortex HAL driver.
  • HAL CRC
    • Correcting a wrong definition of __HAL_CRC_SET_IDR macro.
  • HAL DAC
    • HAL_IS_BIT_SET is nowused properly in HAL_DAC_Start.
    • Add 2 defines: DAC_WAVEGENERATION_NOISE and DAC_WAVEGENERATION_TRIANGLE.
    • HAL_DAC_Stop now disable DAC software conversion.
  • HAL DMA
    • Minor typographic updates.
  • HAL ETH
    • ETH_MAC_READCONTROLLER_FLUSHING: Removing a space in the middle of the name.
    • Removing some duplicated macros.
  • HAL FLASH
    • FLASH_OB_GetRDP -returns uint32_t instead of FlagStatus. (internal function). This -permit a more coherent use for HAL_FLASHEx_OBGetConfig -and HAL_FLASHEx_OBProgram.
    • Correct an issue making impossible to set Flash read protection level1 and  level2.
    • The activation of backup domain in RCC is systematic.
  • HAL I2C
    • Correct an issue depending of APB/I2C frequency which was preventing the STOP bit to be cleared.
      • The POS bit is now cleared at the beginning of each I2C API.
      • The POS bit is no more cleared near STOP generation.
  • HAL I2S
    • HAL_I2S_Transmit() API is updated to keep the check on busy flag only for the slave.
  • HAL NAND
    • Review __ARRAY_ADDRESS macro and adapt tests to detect bad blocks
  • HAL RCC
    • In HAL_RCCEx_PeriphCLKConfig, Reset backup domain only if RTC clock source has been changed.
    • Update of HAL_RCC_OscConfig functionto correctly check LSEState.
    • Rework __HAL_RCC_LSE_CONFIG macro to manage correctly LSE_Bypass.
    • New HAL RCC macro to configure the SYSCLK clock source: __HAL_RCC_SYSCLK_CONFIG(__RCC_SYSCLKSOURCE__).
    • Adding macro: __HAL_RCC_MCO_CONFIG.
    • For some RPN, the prediv source management in HAL_RCC_OscConfig function was not used.
  • HAL RTC
    • CMSIS mask definition used instead of hardcoded values.
  • HAL SMARTCARD
    • Improve documentation
  • HAL TIM
    • All STM32F101xx and STM32F102xx defines were missing in the file stm32f1xx_hal_tim_ex.h.
    • The assert on trigger polarity for TI1F_ED is removed.
  • HAL USB
    • Correct issue preventing USB Device double-buffering mode for IN endpoints to correctly behave.
    • Correct a bad configuration of Turnaround Time.
    • Correct USB_FlushTxFifo function which was leading to a GRSTCTL register corruption.
    • Replaced -the access to  USB_OTG_HCCHAR_CHDIS and USB_OTG_HCCHAR_CHENA -from a sequencial access to a simultaneous access.

V1.0.0 / 15-December-2014

Main -Changes

-
  • First Official release of STM32F1xx HAL -Drivers for all STM32F1 devices.
  • This -release is in line with STM32Cube -Firmware specification Rev1.0 document 

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

-
-

-
- -
- -

 

- + + + + + + + + + + + + +Release Notes for STM32F1xx HAL Drivers + + + + + + + + + + +
+ +

 

+ +
+ + + + + +
+ + + + + + + +
+

Back to Release page

+
+

Release Notes for STM32F1xx HAL Drivers

+

Copyright + 2016 STMicroelectronics

+

+
+

 

+ + + + +
+

Update History

+ +

V1.1.1 / 12-May-2017

  • General updates to fix known defects and enhancements implementation
  • HAL update
    • stm32f1xx_hal_conf_template.h fix typo: update to refer to stm32f1xx_hal_mmc.h instead of  stm32f4xx_hal_mmc.h
  • LL SYSTEM update
    • LL_DBGMCU_APB1_GRP1_I2C1_STOP and LL_DBGMCU_APB1_GRP1_I2C2_STOP literals are retarget to an available literals
    • LL_DBGMCU_APB1_GRP1_RTC_STOP literal is not available for all STM32F1 devices
  • HAL MMC update
    • Add missing () to fix compilation warning detected with SW4STM32 when extra feature is enabled.
  • HAL I2C update
    • Update +HAL I2C processes to manage correctly the I2C state to allow the +possibility to call HAL_I2C_Master_Sequential_Receive_IT() followed by +a call HAL_I2C_Master_Sequential_Transmit_IT()

V1.1.0 / 14-April-2017

  • Add Low Layer drivers allowing performance and footprint optimization
    • Low +Layer drivers APIs provide register level programming: require deep +knowledge of peripherals described in STM32F1xx Reference Manuals
    • Low +Layer drivers are available for: ADC, Cortex, CRC, DAC, DMA, EXTI, GPIO, I2C, IWDG, PWR, RCC, RTC, SPI, TIM, +USART, WWDG peripherals and additionnal Low Level Bus, System and +Utilities APIs.
    • Low Layer drivers APIs are implemented as static inline function in new Inc/stm32f1xx_ll_ppp.h files for PPP peripherals, there is no configuration file and each stm32f1xx_ll_ppp.h file must be included in user code.
  • Add new HAL MMC driver
  • General updates to fix known defects and enhancements implementation
  • + +Enhance HAL delay and time base implementation:
    • Add +new drivers stm32f1xx_hal_timebase_rtc_alarm_template.c and +stm32f1xx_hal_timebase_tim_template.c which override the native +HAL time base functions (defined as weak) to either use the RTC/TIM as time +base tick source. For more details about the usage of these drivers, +please refer to HAL\HAL_TimeBase_RTC  and HAL\HAL_TimeBase_TIM examples and FreeRTOS-based applications
  • Fix extra warnings with GCC compiler
  • HAL drivers clean up: update 'uint32_t' cast with 'U'
  • Update to used the new defined Bit_Pos CMSIS defines insetad of POSITION_VAL() macro
  • Update HAL +weak empty callbacks to prevent unused argument compilation warnings with some +compilers by calling the following line: +
    • UNUSED(hppp);
  • STM32Fxxx_User_Manual.chm files regenerated for HAL V1.1.0
  • The following changes done on the HAL drivers require an update on the application code based on older HAL versions
    • HAL UART, USART, IRDA, SMARTCARD, SPI, I2C (referenced as PPP here below) drivers
      • Add PPP error management during DMA process. This requires the following updates on user application:
        • Configure and enable the PPP IRQ in HAL_PPP_MspInit() function
        • In stm32f1xx_it.c file, PPP_IRQHandler() function: add a call to HAL_PPP_IRQHandler() function
        • Add customize the Error Callback API: HAL_PPP_ErrorCallback()
    • HAL SD driver:
      • Overall rework of the driver for a more efficient implementation
        • Modify initialization API and structures
        • Modify Read / Write sequences: separate transfer process and SD Cards state management 
        • Adding interrupt mode for Read / Write operations
        • Update the HAL_SD_IRQHandler function by optimizing the management of interrupt errors
      • Refer to the following example to identify the changes: BSP example and USB_Device/MSC_Standalone application
    • HAL NAND driver:
      • Modify NAND_AddressTypeDef, NAND_DeviceConfigTypeDef and NAND_HandleTypeDef structures fields
      • Add new HAL_NAND_ConfigDevice API
    • HAL CEC driver:  Overall driver rework with compatibility break versus previous HAL version
      • Remove HAL CEC polling Process functions: HAL_CEC_Transmit() and HAL_CEC_Receive()
      • Remove +HAL CEC receive interrupt process function HAL_CEC_Receive_IT() +and enable the "receive"  mode during the Init phase
      • Rename HAL_CEC_GetReceivedFrameSize() funtion to HAL_CEC_GetLastReceivedFrameSize()
      • Add new HAL APIs: HAL_CEC_SetDeviceAddress() and HAL_CEC_ChangeRxBuffer()
      • Remove the 'InitiatorAddress' +field from the CEC_InitTypeDef structure and manage +it as a parameter in the HAL_CEC_Transmit_IT() function
      • Add new parameter 'RxFrameSize' in HAL_CEC_RxCpltCallback() function
      • Move CEC Rx buffer pointer from CEC_HandleTypeDef structure to CEC_InitTypeDef structure
    • HAL IWDG driver: rework overall driver for better implementation
      • Remove HAL_IWDG_Start(), HAL_IWDG_MspInit() and HAL_IWDG_GetState() APIs
    • HAL WWDG driver: rework overall driver for better implementation
      • Remove HAL_WWDG_Start(), HAL_WWDG_Start_IT(), HAL_WWDG_MspDeInit() and HAL_WWDG_GetState() APIs 
      • Update the HAL_WWDG_Refresh(WWDG_HandleTypeDef *hwwdg, uint32_t counter)  function and API  by removing the  "counter" parameter
  • HAL GENERIC update
    • Modifiy default HAL_Delay implementation to guarantee minimum delay 
    • stm32f1xx_hal_conf_template.h
      • Add new define LSI_VALUE
      • Add new define USE_SPI_CRC for code cleanup when the CRC calculation is disabled.
  • HAL CORTEX update
    • Move HAL_MPU_Disable() and HAL_MPU_Enable() from stm32f4xx_hal_cortex.h to stm32f4xx_hal_cortex.c
    • Clear the whole MPU control register in HAL_MPU_Disable() API
  • HAL FLASH update
    • HAL_FLASH_OB_Launch(): fix static code analyzer warning: The removed code will not execute under any circumstances
  • HAL GPIO update
    • Update IS_GPIO_PIN() macro implementation to be more safe
    • Update remap macros implementation to use CLEAR_BIT()/SET_BIT() macros instead of  MODIFY_REG() macro.
  • HAL RCC update
    • Update LSI workaround delay to use CPU cycles instead of systick
    • Move LSI_VALUE define from RCC HAL driver to stm32f1xx_hal_conf.h file
    • Adjust defined PLL MUL values in aPLLMULFactorTable[]
  • HAL ADC update
    • HAL_ADCEx_MultiModeStart_DMA()  and HAL_ADCEx_MultiModeStop_DMA() API's update to fix code static analyzer warning: Redundant Condition / Unreachable Computation
  • HAL DMA update
    • HAL_DMA_Init(): update to check compatibility between FIFO threshold level and size of the memory burst 
    • Global driver code optimization to reduce memory footprint 
    • New APIs HAL_DMA_RegisterCallback() and HAL_DMA_UnRegisterCallback() to register/unregister the different possible callbacks identified by enum typedef HAL_DMA_CallbackIDTypeDef
    • Add new Error Codes: HAL_DMA_ERROR_NO_XFER and HAL_DMA_ERROR_NOT_SUPPORTED
  • HAL USART update
    • Add Transfer abort functions and callbacks
    • DMA Receive process; the code +has been updated to clear the USART OVR flag before enabling DMA receive request.

    • Update HAL_USART_IRQHandler() to add a check on interrupt source before managing the error 
  • + +HAL UART update +
    • Several update on HAL UART driver to implement the new UART state machine: 
      • Add new field in UART_HandleTypeDef structure: "rxState", UART state information related to Rx Operations
      • Rename "state" field in UART_HandleTypeDef structure by "gstate": UART state information related to global Handle management and Tx Operations
      • Update UART process to manage the new UART states.
      • Update __HAL_UART_RESET_HANDLE_STATE() macro +to handle the new UART state parameters (gState, rxState)
    • Add Transfer abort functions and callbacks
    • Update HAL_UART_IRQHandler() to add a check on interrupt source before managing the error 
    • DMA Receive process; the code +has been updated to clear the USART OVR flag before enabling DMA receive request.

+ + + + +
  • + +HAL IRDA update +
    • Several update on HAL IRDA driver to implement the new UART state machine: 
      • Add new field in IRDA_HandleTypeDef structure: "rxState", IRDA state information related to Rx Operations
      • Rename "state" field in UART_HandleTypeDef structure by "gstate": IRDA state information related to global Handle management and Tx Operations
      • Update IRDA process to manage the new UART states.
      • Update __HAL_IRDA_RESET_HANDLE_STATE() macro +to handle the new IRDA state parameters (gState, rxState)
    • Removal of IRDA_TIMEOUT_VALUE define
    • Add Transfer abort functions and callbacks
    • Update HAL_IRDA_IRQHandler() to add a check on interrupt source before managing the error 
    • DMA Receive process; the code +has been updated to clear the USART OVR flag before enabling DMA receive request.

  • + +HAL SMARTCARD update +
    • Several update on HAL SMARTCARD driver to implement the new UART state machine: 
      • Add new field in SMARTCARD_HandleTypeDef structure: "rxState", SMARTCARDstate information related to Rx Operations
      • Rename "state" field in UART_HandleTypeDef structure by "gstate": SMARTCARDstate information related to global Handle management and Tx Operations
      • Update SMARTCARD process to manage the new UART states.
      • Update __HAL_SMARTCARD_RESET_HANDLE_STATE() macro +to handle the new SMARTCARD state parameters (gState, rxState)
    • Add Transfer abort functions and callbacks
    • Update HAL_SMARTCARD_IRQHandler() to add a check on interrupt source before managing the error 
    • DMA Receive process; the code +has been updated to clear the USART OVR flag before enabling DMA receive request.

  • HAL CAN update
    • Add + management of overrun error. 
    • Allow + possibility to receive messages from the 2 RX FIFOs in parallel via + interrupt.
    • Fix message + lost issue with specific sequence of transmit requests.
    • Handle + transmission failure with error callback, when NART is enabled.
    • Add __HAL_CAN_CANCEL_TRANSMIT() call to abort transmission when + timeout is reached
  • HAL TIM update
    • Add __HAL_TIM_MOE_DISABLE_UNCONDITIONALLY() macro to disable Master output without check on TIM channel state. 
    • Update HAL_TIMEx_ConfigBreakDeadTime() to fix TIM BDTR register corruption.
    • Update Input Capture polarity by removing non-supported "TIM_INPUTCHANNELPOLARITY_BOTHEDGE" define.
    • Update HAL_TIM_ConfigOCrefClear() API by removing the usage of non-existant SMCR OCCS bit.
    • Add +"AutoReloadPreload" field to TIM_Base_InitTypeDef structure and +corresponding macros __HAL_TIM_ENABLE_OCxPRELOAD() and +__HAL_TIM_DISABLE_OCxPRELOAD() .
    • Update TIM_Base_SetConfig() API to set the auto-reload preload.
  • HAL I2C update
    • Update +HAL_I2C_Master_Transmit() and HAL_I2C_Slave_Transmit() to avoid sending +extra bytes at the end of the transmit processes
    • Update + HAL_I2C_Mem_Read() API to fix wrong check on misused parameter “Size”
    • Update + I2C_MasterReceive_RXNE() and I2C_MasterReceive_BTF() static APIs to + enhance Master sequential reception process.
  • HAL SPI update
    • Major Update to improve performance in + polling/interrupt mode to reach max frequency:
      • Polling mode :
        • Replace use of + SPI_WaitOnFlagUnitTimeout() funnction by "if" statement to + check on RXNE/TXE flage while transferring data.
        • Use API data pointer instead of SPI + handle data pointer.
      • Use a Goto implementation instead of + "if..else" statements
      • Interrupt mode
        • Minimize access on SPI registers.
        • Split the SPI modes into dedicated + static functions to minimize checking statements under + HAL_IRQHandler():
          • 1lines/2lines modes
          • 8 bit/ 16 bits data formats
          • CRC calculation enabled/disabled.
      • Remove waiting loop under ISR when + closing  the communication.
      • All modes:  
        • Adding switch USE_SPI_CRC to minimize + number of statements when CRC calculation is disabled.
        • Update Timeout management to check on + global process.
        • Update Error code management in all + processes.
    • Add note to the max frequencies reached in + all modes.
    • Add note about Master Receive mode + restrictions :
    • Master Receive mode restriction:
      +       (#) In Master unidirectional receive-only + mode (MSTR =1, BIDIMODE=0, RXONLY=0) or
      +           bidirectional + receive mode (MSTR=1, BIDIMODE=1, BIDIOE=0), to ensure that the SPI
      +           does not initiate + a new transfer the following procedure has to be respected:
      +           (##) + HAL_SPI_DeInit()
      +           (##) + HAL_SPI_Init()
    • Add transfer abort APIs and + associated callbacks in interrupt mode
      • HAL_SPI_Abort()
      • HAL_SPI_Abort_IT()
      • HAL_SPI_AbortCpltCallback()
  • + +HAL CEC update
    • Overall driver rework with break of compatibility with HAL V1.0.5
      • Remove the HAL CEC polling Process: HAL_CEC_Transmit() and HAL_CEC_Receive()
      • Remove the HAL CEC receive interrupt process (HAL_CEC_Receive_IT()) and manage the "Receive" mode enable within the Init phase
      • Rename HAL_CEC_GetReceivedFrameSize() function to HAL_CEC_GetLastReceivedFrameSize() function
      • Add new HAL APIs: HAL_CEC_SetDeviceAddress() and HAL_CEC_ChangeRxBuffer()
      • Remove the 'InitiatorAddress' +field from the CEC_InitTypeDef structure and manage +it as a parameter in the HAL_CEC_Transmit_IT() function
      • Add new parameter 'RxFrameSize' in HAL_CEC_RxCpltCallback() function
      • Move CEC Rx buffer pointer from CEC_HandleTypeDef structure to CEC_InitTypeDef structure
    • Update driver to implement the new CEC state machine:
      • Add new "rxState" field in CEC_HandleTypeDef structure to provide the CEC state information related to Rx Operations
      • Rename "state" field in CEC_HandleTypeDef structure to "gstate": CEC state information related to global Handle management and Tx Operations
      • Update CEC process to manage the new CEC states.
      • Update __HAL_CEC_RESET_HANDLE_STATE() macro to handle the new CEC state parameters (gState, rxState)
+
  • HAL I2S update
    • Update I2S Transmit/Receive polling process to manage Overrun and Underrun errors
    • HAL I2S driver ovall clean-up and optimization
    • HAL_I2S_Init() API updated to
      • Fix wrong I2S clock calculation when PCM mode is used.
      • Return state HAL_I2S_ERROR_PRESCALER when the I2S clock is wrongly configured
  • HAL NAND update
    • Modify NAND_AddressTypeDef, NAND_DeviceConfigTypeDef and NAND_HandleTypeDef structures fields
    • Add new HAL_NAND_ConfigDevice API
+
  • HAL USB PCD update
    • Flush all TX FIFOs on USB Reset
    • Remove Lock mechanism from HAL_PCD_EP_Transmit() and HAL_PCD_EP_Receive() API's
  • LL USB update
    • Enable DMA Burst mode for USB OTG HS
    • Fix SD card detection issue
  • LL SDMMC update
    • Add new SDMMC_CmdSDEraseStartAdd, SDMMC_CmdSDEraseEndAdd, SDMMC_CmdOpCondition and SDMMC_CmdSwitch functions

V1.0.5 / 06-December-2016

+ + + + + + + + + + + + + + + + + + + + +

Main +Changes

+
  • General updates to fix mainly known I2C defects and enhancements implementation
  • The following changes done on the HAL drivers require an update on the application code based on HAL V1.0.4
    • HAL I2C driver:
      • Add  I2C  error management during DMA process. This requires the following updates on user application:
        • Configure and enable the I2C IRQ in HAL_I2C_MspInit() function
        • In stm32f1xx_it.c file, I2C _IRQHandler() function: add a call to HAL_I2C_IRQHandler() function
        • Add and customize the Error Callback API: HAL_I2C_ErrorCallback()
      • Update to avoid waiting on STOPF/BTF/AF flag under DMA ISR by using the I2C end of transfer interrupt in the DMA transfer process. This requires the following updates on user application:
        • Configure and enable the I2C IRQ in HAL_I2C_MspInit() function
        • In stm32f1xx_it.c file, I2C_IRQHandler() function: add a call to HAL_I2C_IRQHandler() function
      • I2C +transfer processes IT update: NACK during addressing phase is managed +through I2C Error interrupt instead of HAL state
  • HAL I2C update
    • Add support of I2C repeated start feature:
      • With the following new API's
        • HAL_I2C_Master_Sequential_Transmit_IT()
        • HAL_I2C_Master_Sequential_Receive_IT()
        • HAL_I2C_Master_Abort_IT()
        • HAL_I2C_Slave_Sequential_Transmit_IT()
        • HAL_I2C_Slave_Sequential_Receive_IT()
        • HAL_I2C_EnableListen_IT()
        • HAL_I2C_DisableListen_IT()
      • Add +new user callbacks:
        • HAL_I2C_ListenCpltCallback()
        • HAL_I2C_AddrCallback()
    • + +

      IRQ handler optimization: read +registers status only once

    • I2C addressing phase is updated to be managed using interrupt instead of polling
      • Add new static functions to manage I2C SB, ADDR and ADD10 flags
    • I2C IT transfer processes update: NACK during addressing phase is managed through I2C Error interrupt instead of HAL state
    • Update to generate STOP condition when a acknowledge failure error is detected 
    • Update I2C_WaitOnFlagUntilTimeout() to manage the NACK feature.
    • Update  I2C transmission process to support the case data size equal 0
    • Update Polling management:
      • The Timeout value must be estimated for the overall process duration: the Timeout measurement is cumulative
    • Add the management of Abort service: Abort DMA transfer through interrupt
      • In the case of Master Abort IT transfer usage:
        • Add new user HAL_I2C_AbortCpltCallback() to inform user of the end of abort process
        • A new abort state is defined in the HAL_I2C_StateTypeDef structure
    • Add +the management of I2C peripheral errors, ACK failure and STOP condition +detection during DMA process. This requires the following updates on +user application:
      • Configure and enable the I2C IRQ in HAL_I2C_MspInit() function
      • In stm32f1xx_it.c file, I2C_IRQHandler() function: add a call to HAL_I2C_IRQHandler() function
      • Add and customize the Error Callback API: HAL_I2C_ErrorCallback()
    • Update to avoid waiting on STOPF/BTF/AF flag under DMA ISR by using the I2C end of transfer interrupt in the DMA transfer process. This requires the following updates on user application:
      • Configure and enable the I2C IRQ in HAL_I2C_MspInit() function
      • In stm32f1xx_it.c file, I2C_IRQHandler() function: add a call to HAL_I2C_IRQHandler() function
    • Add a check if the I2C is already enabled at start of all I2C API's.
    • Update I2C API's (Polling, IT, DMA interfaces) to use hi2c->XferSize and hi2c->XferCount instead of size 
      parameter to help user to get information of counter in case of error

  • HAL DMA update
    • Add new API HAL_DMA_Abort_IT() to abort DMA transfer under interrupt context
      • The new registered Abort callback is called when DMA transfer abortion is completed
  • HAL ETH update
    • Remove ETH MAC debug register defines
  • HAL DAC update
    • Clean up: remove the following literals that aren't used 
      • DAC_WAVE_NOISE
      • DAC_WAVE_TRIANGLE

V1.0.4 / 29-April-2016

+ + + + + + + + + + + + + + + + + + + + +

Main +Changes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

  • General updates to fix known defects and enhancements implementation.
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • HAL RCC
    • Add suffix U for defines equals to 0xFFFFFFFF (fix MISRA error 10.6)
    • Optimization of HAL_RCC_ClockConfig().
    • Replace aAPBAHBPrescTable by APBPrescTable and AHBPrescTable defined inside system_stm32f1xx.c.
    • When using HAL_RCC_OscConfig +to activate LSE, if LSE is already ON, it remains in its state ON. +Previously, it was turned OFF then ON in all cases.
    • The backup domain is no more reset when changing the RTC clock source from reset value.
    • Correct strange behavior in HAL_RCCEx_PeriphCLKConfig.
  • HAL UART
    • Correct the macro UART_BRR_SAMPLING16
  • HAL SMARTCARD
    • Correct the macro SMARTCARD_BRR
  • HAL IRDA
    • Correct the macro IRDA_BRR
    • EIE bit is no more activated in transmit (this bit only triggers errors in reception)
    • EIE bit is reset at the end of the reception.
  • HAL DMA
    • Add macro __HAL_DMA_GET_COUNTER to get the number of remaining data units in the current channel.
  • HAL FSMC
    • Adapt FSMC_NAND_Init behavior to the others STM32 series by reseting the bit FSMC_PCRx_PBKEN.

V1.0.3 / 11-January-2016

+ + + + + + + + + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • Remove the #if defined(USE_HAL_LEGACY) condition to include Legacy/stm32_hal_legacy.h by default, in stm32f1xx_hal_def.h.

V1.0.2 / 18-December-2015

+ + + + + + + + + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • General updates to fix known defects and enhancements implementation.
  • HAL generic
    • Insure that do {} while(0)  are used in in multi statement macros. (hal eth and pcd)
    • Manage simultaneous errors in IRQHandler. (hal uart, smartcard, usart and uart)
    • To +ensure the full compatibility of the GPIO interfaces across all the +STM32 families, the gpio speed definition have been renamed:
      • GPIO_SPEED_LOW to GPIO_SPEED_FREQ_LOW
      • GPIO_SPEED_MEDIUM to GPIO_SPEED_FREQ_MEDIUM
      • GPIO_SPEED_HIGH to GPIO_SPEED_FREQ_HIGH
      • aliases are created to keep backward compatibility
    • Reduce the default timeout value for the startup of the HSE form 5s to 100ms.
    • Update HAL weak empty callbacks to prevent unused argument compilation warnings with some compilers.
  • HAL ADC
    • Remove useless state HAL_ADC_STATE_REG_OVR and HAL_ADC_STATE_REG_EOSMP.
    • Add an error case if init is done with both continuous and discontinuous modes.
    • HAL_ADC_PollForEvent returns HAL_TIMEOUT if a timeout occurs instead of HAL_ERROR.
    • Trigger the assert_param of  the number of discontinuous conversion only if the discontinuous mode is enabled.
    • Enhance the check for ScanConvMode in HAL_ADC_Init.
  • HAL CAN
    • Clear the ERRI bit in HAL_CAN_IRQHandler.
  • HAL CORTEX
    • Remove the macro __HAL_CORTEX_SYSTICKCLK_CONFIG as duplicated by HAL_SYSTICK_CLKSourceConfig.
      • Create an alias to HAL_SYSTICK_CLKSourceConfig for backward compatibility.
  • HAL FLASH
    • The +parameter ReturnValue of HAL_FLASH_EndOfOperationCallback, in the case +of Pages Erase, now take the value of 0xFFFFFFFF if all the selected +pages have been erased.
    • Add a new interface HAL_FLASHEx_OBGetUserData to get the option byte user data.
  • HAL GPIO
    • Remove a useless assert_param on the pull mode in HAL_GPIO_Init.
  • HAL I2C
    • Correct issue at reception of 2 bytes using memory polling and IT interface.
    • Correct a wrong management of the AF flag.
  • HAL RCC
    • Reduce the timeout of HSI, LSI and PLL to be closer to HW specifications:
      • HSI_TIMEOUT_VALUE reduced from 100ms to 2ms
      • LSI_TIMEOUT_VALUE reduced from 100ms to 2ms
      • PLL_TIMEOUT_VALUE reduced from 100ms to 2ms
  • HAL SD
    • Correct wrong calculation of the capacity for High Capacity cards.
  • HAL SPI
    • Remove incorrect reset of DMA parameter in HAL_SPI_Receive_DMA and HAL_SPI_Transmit_DMA.
  • HAL TIM
    • Remove useless assert_param.
    • Rewrite the assert_param when setting clock source.
  • HAL UART
    • Manage the case of reception of a character while the driver is not expecting one. This was causing a crash of the driver.
  • LL USB
    • Remove the NoVbusSensing feature from driver. (feature not present on STM32F1xx)

V1.0.1 / 31-July-2015

+ + + + + + + + + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • General updates to fix known defects and enhancements implementation.
  • HAL generic
    • stm32f1xx_hal_def.h
      • Update NULL definition to +fix C++ compilation issue.
  • HAL ADC
    • Optimization of macro __HAL_ADC_CLEAR_FLAG.
    • ADC poll for conversion now return error status in case of ADC-DMA mode.
    • ADC polling functions now return HAL_TIMEOUT (or HAL_ERROR in case of configuration error).
    • Removing field NbrOfConversionRank of ADC_HandleTypeDef. This field was useless on STM32F1xx.
    • Improving the ADC state machine.
  • HAL CAN
    • Field Data of CanRxMsgTypeDef and CanTxMsgTypeDef is changed from uint32_t to uint8_t.
  • HAL Cortex
    • Add MPU APIs in Cortex HAL driver.
  • HAL CRC
    • Correcting a wrong definition of __HAL_CRC_SET_IDR macro.
  • HAL DAC
    • HAL_IS_BIT_SET is nowused properly in HAL_DAC_Start.
    • Add 2 defines: DAC_WAVEGENERATION_NOISE and DAC_WAVEGENERATION_TRIANGLE.
    • HAL_DAC_Stop now disable DAC software conversion.
  • HAL DMA
    • Minor typographic updates.
  • HAL ETH
    • ETH_MAC_READCONTROLLER_FLUSHING: Removing a space in the middle of the name.
    • Removing some duplicated macros.
  • HAL FLASH
    • FLASH_OB_GetRDP +returns uint32_t instead of FlagStatus. (internal function). This +permit a more coherent use for HAL_FLASHEx_OBGetConfig +and HAL_FLASHEx_OBProgram.
    • Correct an issue making impossible to set Flash read protection level1 and  level2.
    • The activation of backup domain in RCC is systematic.
  • HAL I2C
    • Correct an issue depending of APB/I2C frequency which was preventing the STOP bit to be cleared.
      • The POS bit is now cleared at the beginning of each I2C API.
      • The POS bit is no more cleared near STOP generation.
  • HAL I2S
    • HAL_I2S_Transmit() API is updated to keep the check on busy flag only for the slave.
  • HAL NAND
    • Review __ARRAY_ADDRESS macro and adapt tests to detect bad blocks
  • HAL RCC
    • In HAL_RCCEx_PeriphCLKConfig, Reset backup domain only if RTC clock source has been changed.
    • Update of HAL_RCC_OscConfig functionto correctly check LSEState.
    • Rework __HAL_RCC_LSE_CONFIG macro to manage correctly LSE_Bypass.
    • New HAL RCC macro to configure the SYSCLK clock source: __HAL_RCC_SYSCLK_CONFIG(__RCC_SYSCLKSOURCE__).
    • Adding macro: __HAL_RCC_MCO_CONFIG.
    • For some RPN, the prediv source management in HAL_RCC_OscConfig function was not used.
  • HAL RTC
    • CMSIS mask definition used instead of hardcoded values.
  • HAL SMARTCARD
    • Improve documentation
  • HAL TIM
    • All STM32F101xx and STM32F102xx defines were missing in the file stm32f1xx_hal_tim_ex.h.
    • The assert on trigger polarity for TI1F_ED is removed.
  • HAL USB
    • Correct issue preventing USB Device double-buffering mode for IN endpoints to correctly behave.
    • Correct a bad configuration of Turnaround Time.
    • Correct USB_FlushTxFifo function which was leading to a GRSTCTL register corruption.
    • Replaced +the access to  USB_OTG_HCCHAR_CHDIS and USB_OTG_HCCHAR_CHENA +from a sequencial access to a simultaneous access.

V1.0.0 / 15-December-2014

Main +Changes

+
  • First Official release of STM32F1xx HAL +Drivers for all STM32F1 devices.
  • This +release is in line with STM32Cube +Firmware specification Rev1.0 document 

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

+
+

+
+ +
+ +

 

+
\ No newline at end of file diff --git a/lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Release_Notes.html b/lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Release_Notes.html index 486382530..f38cd5575 100644 --- a/lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Release_Notes.html +++ b/lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Release_Notes.html @@ -1,1267 +1,1267 @@ - - - - - - - - - - - - - - - - - -Release Notes for STM32 USB Device Library - - - - - - - - -
- -

 

- -
- - - - - -
- - - - - - - -
-

Back to Release page

-
-

Release Notes for STM32 USB Device Library

-

Copyright - 2015 STMicroelectronics

-

-
-

 

- - - - -
-

Update History

-

V2.4.2 / 11-December-2015
-

- - - - - - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - - - - - -
    -
  • CDC Class
    • usbd_cdc.c: change #include "USBD_CDC.h" by #include "usbd_cdc.h"
    -
-
- -

V2.4.1 / 19-June-2015
-

- - - - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - - - -
    -
  • CDC Class
  • -
      -
    • usbd_cdc.c: comments update
    • -
    -
  • MSC Class
  • -
      -
    • usbd_msc_bot.h: update to be C++ compliant
    • -
    -
  • AUDIO Class
  • -
      -
    • usbd_audio.c: fix issue when Host sends GetInterface command it gets a wrong value
    • -
    -
      -
    • usbd_audio.c: remove useless management of DMA half transfer
      -
    • -
    -
- - - -

V2.4.0 / 28-February-2015
-

- - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - -
    -
  • Core Driver
  • -
      -
    • Add support of Link Power Management (LPM): add new API GetBOSDescriptor(), that is used only if USBD_LPM_ENABLED switch is enabled in usbd_conf.h file
    • usbd_core.c: -Fix bug of unsupported premature Host Out stage during data In stage -(ie. when endpoint 0 maximum data size is 8 and Host requests -GetDeviceDescriptor for the first time)
    • usbd_ctlreq.c: Fix bug of unsupported Endpoint Class requests (ie. Audio SetCurrent request for endpoint sampling rate setting)
    • -
    -
  • HID Class
  • -
      -
    • Updating Polling time API USBD_HID_GetPollingInterval() to query this period for HS and FS
    • usbd_hid.c: Fix USBD_LL_CloseEP() function call in USBD_HID_DeInit() replacing endpoint size by endpoint address.
    • -
  • CDC Class
    • usbd_cdc.c: 
      • Add missing GetInterface request management in USBD_CDC_Setup() function
      • Update -USBD_CDC_Setup() function to allow correct user implementation of -CDC_SET_CONTROL_LINE_STATE and similar no-data setup requests.
    -
- -

V2.3.0 / 04-November-2014
-

- - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - -
    -
  • Update all drivers to be C++ compliant
    -
  • -
  • CDC Class
  • -
      -
    • usbd_cdc.c: fix clear flag issue in USBD_CDC_TransmitPacket() function
    • -
    -
      -
    • usbd_cdc_if_template.c: update TEMPLATE_Receive() function header comment
      -
    • -
    -
  • Miscellaneous source code comments update
  • -
-

V2.2.0 / 13-June-2014

- - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - -
    -
  • Source code comments review and update
  • -
  • HID class
  • -
      -
    • Remove unused API USBD_HID_DeviceQualifierDescriptor()
    • -
    • Add a new API in the HID class to query the poll time USBD_HID_GetPollingInterval()
      -
    • -
    - -
  • CDC class
  • -
      -
    • Bug fix: missing handling ZeroLength Setup request
    • -
    -
  • All classes
    -
  • - -
      -
    • Add alias for the class definition, it's defined as macro with capital letter
    • -
    -
-
ex. for the HID, the USBD_HID_CLASS macro is defined this way #define USBD_HID_CLASS  &USBD_HID
  and the application code can use the previous definition: &USBD_HID ex. USBD_RegisterClass(&USBD_Device, &USBD_HID) or the new USBD_HID_CLASS ex. USBD_RegisterClass(&USBD_Device, USBD_HID_CLASS)
-

V2.1.0 / 22-April-2014

- - - - - - - - -

Main -Changes

- - - - - - - - - - - -
    -
  • usbd_conf_template.c: update file with the right content (it was using MSC memory management layer)
    -
  • -
  • usbd_conf_template.h: change include of stm32f4xx.h by stm32xxx.h and add comment to inform user to adapt it to the device used
  • -
  • Several enhancements in CustomHID class
  • -
      -
    • Update the Custom HID class driver to simplify the link with user processes
    • -
    • Optimize the Custom HID class driver and reduce footprint
    • -
    • Add USBD_CUSTOM_HID_RegisterInterface() API to link user process to custom HID class
    • -
    • Add Custom HID interface template file usbd_customhid_if_template.c/h
    • -
    -
  • Miscellaneous comments update
    -
  • - -
- -

V2.0.0 / 18-February-2014

- - - - - -

Main -Changes

- - - - - - - - - -
    -
  • Major update -based on STM32Cube specification: Library Core, Classes architecture and APIs -modified vs. V1.1.0, and thus the 2 versions are not compatible.
    -
  • This version has to be used only with STM32Cube based development
  • -
- - -

V1.1.0 / 19-March-2012

-

Main -Changes

- -
  • Official support of STM32F4xx devices
  • All source files: license disclaimer text update and add link to the License file on ST Internet.
  • Handle test mode in the set feature request
  • Handle dynamically the USB SELF POWERED feature
  • Handle correctly the USBD_CtlError process to take into account error during Control OUT stage
  • Miscellaneous bug fix

V1.0.0 / 22-July-2011

Main -Changes

-
  • First official version for STM32F105/7xx and STM32F2xx devices

-

License

-

Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this package except in compliance with the License. You may obtain a copy of the License at:


Unless -required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See -the License for the specific language governing permissions and -limitations under the License.
-
-
-
-

For - complete documentation on STM32 - Microcontrollers visit www.st.com/STM32

-
-

-
- -
- -

 

- -
- + + + + + + + + + + + + + + + + + +Release Notes for STM32 USB Device Library + + + + + + + + +
+ +

 

+ +
+ + + + + +
+ + + + + + + +
+

Back to Release page

+
+

Release Notes for STM32 USB Device Library

+

Copyright + 2015 STMicroelectronics

+

+
+

 

+ + + + +
+

Update History

+

V2.4.2 / 11-December-2015
+

+ + + + + + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + + + + + +
    +
  • CDC Class
    • usbd_cdc.c: change #include "USBD_CDC.h" by #include "usbd_cdc.h"
    +
+
+ +

V2.4.1 / 19-June-2015
+

+ + + + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + + + +
    +
  • CDC Class
  • +
      +
    • usbd_cdc.c: comments update
    • +
    +
  • MSC Class
  • +
      +
    • usbd_msc_bot.h: update to be C++ compliant
    • +
    +
  • AUDIO Class
  • +
      +
    • usbd_audio.c: fix issue when Host sends GetInterface command it gets a wrong value
    • +
    +
      +
    • usbd_audio.c: remove useless management of DMA half transfer
      +
    • +
    +
+ + + +

V2.4.0 / 28-February-2015
+

+ + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + +
    +
  • Core Driver
  • +
      +
    • Add support of Link Power Management (LPM): add new API GetBOSDescriptor(), that is used only if USBD_LPM_ENABLED switch is enabled in usbd_conf.h file
    • usbd_core.c: +Fix bug of unsupported premature Host Out stage during data In stage +(ie. when endpoint 0 maximum data size is 8 and Host requests +GetDeviceDescriptor for the first time)
    • usbd_ctlreq.c: Fix bug of unsupported Endpoint Class requests (ie. Audio SetCurrent request for endpoint sampling rate setting)
    • +
    +
  • HID Class
  • +
      +
    • Updating Polling time API USBD_HID_GetPollingInterval() to query this period for HS and FS
    • usbd_hid.c: Fix USBD_LL_CloseEP() function call in USBD_HID_DeInit() replacing endpoint size by endpoint address.
    • +
  • CDC Class
    • usbd_cdc.c: 
      • Add missing GetInterface request management in USBD_CDC_Setup() function
      • Update +USBD_CDC_Setup() function to allow correct user implementation of +CDC_SET_CONTROL_LINE_STATE and similar no-data setup requests.
    +
+ +

V2.3.0 / 04-November-2014
+

+ + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + +
    +
  • Update all drivers to be C++ compliant
    +
  • +
  • CDC Class
  • +
      +
    • usbd_cdc.c: fix clear flag issue in USBD_CDC_TransmitPacket() function
    • +
    +
      +
    • usbd_cdc_if_template.c: update TEMPLATE_Receive() function header comment
      +
    • +
    +
  • Miscellaneous source code comments update
  • +
+

V2.2.0 / 13-June-2014

+ + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + +
    +
  • Source code comments review and update
  • +
  • HID class
  • +
      +
    • Remove unused API USBD_HID_DeviceQualifierDescriptor()
    • +
    • Add a new API in the HID class to query the poll time USBD_HID_GetPollingInterval()
      +
    • +
    + +
  • CDC class
  • +
      +
    • Bug fix: missing handling ZeroLength Setup request
    • +
    +
  • All classes
    +
  • + +
      +
    • Add alias for the class definition, it's defined as macro with capital letter
    • +
    +
+
ex. for the HID, the USBD_HID_CLASS macro is defined this way #define USBD_HID_CLASS  &USBD_HID
  and the application code can use the previous definition: &USBD_HID ex. USBD_RegisterClass(&USBD_Device, &USBD_HID) or the new USBD_HID_CLASS ex. USBD_RegisterClass(&USBD_Device, USBD_HID_CLASS)
+

V2.1.0 / 22-April-2014

+ + + + + + + + +

Main +Changes

+ + + + + + + + + + + +
    +
  • usbd_conf_template.c: update file with the right content (it was using MSC memory management layer)
    +
  • +
  • usbd_conf_template.h: change include of stm32f4xx.h by stm32xxx.h and add comment to inform user to adapt it to the device used
  • +
  • Several enhancements in CustomHID class
  • +
      +
    • Update the Custom HID class driver to simplify the link with user processes
    • +
    • Optimize the Custom HID class driver and reduce footprint
    • +
    • Add USBD_CUSTOM_HID_RegisterInterface() API to link user process to custom HID class
    • +
    • Add Custom HID interface template file usbd_customhid_if_template.c/h
    • +
    +
  • Miscellaneous comments update
    +
  • + +
+ +

V2.0.0 / 18-February-2014

+ + + + + +

Main +Changes

+ + + + + + + + + +
    +
  • Major update +based on STM32Cube specification: Library Core, Classes architecture and APIs +modified vs. V1.1.0, and thus the 2 versions are not compatible.
    +
  • This version has to be used only with STM32Cube based development
  • +
+ + +

V1.1.0 / 19-March-2012

+

Main +Changes

+ +
  • Official support of STM32F4xx devices
  • All source files: license disclaimer text update and add link to the License file on ST Internet.
  • Handle test mode in the set feature request
  • Handle dynamically the USB SELF POWERED feature
  • Handle correctly the USBD_CtlError process to take into account error during Control OUT stage
  • Miscellaneous bug fix

V1.0.0 / 22-July-2011

Main +Changes

+
  • First official version for STM32F105/7xx and STM32F2xx devices

+

License

+

Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this package except in compliance with the License. You may obtain a copy of the License at:


Unless +required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See +the License for the specific language governing permissions and +limitations under the License.
+
+
+
+

For + complete documentation on STM32 + Microcontrollers visit www.st.com/STM32

+
+

+
+ +
+ +

 

+ +
+ \ No newline at end of file diff --git a/lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Release_Notes.html b/lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Release_Notes.html index ce52ddfa1..fbf04137f 100644 --- a/lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Release_Notes.html +++ b/lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Release_Notes.html @@ -1,1194 +1,1194 @@ - - - - - - - - - - - - -Release Notes for STM32 USB Host Library - - - - - - - - - -
- -

 

- -
- - - - - -
- - - - - - - -
-

Back to Release page

-
-

Release Notes for STM32 USB Host Library

-

Copyright - 2015 STMicroelectronics

-

-
-

 

- - - - -
-

Update History

V3.2.2 / 07-July-2015
-

- - - - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - - - -
  • MSC Class
    • usbh_msc.c
      • Fix MSC Get Ready Delay issue

V3.2.1 / 26-June-2015
-

- - - - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - - - -
    -
  • Core driver
  • -
      -
    • usbh_def.h: -update USBH_MAX_PIPES_NBR literal definition to be conditioned by -#ifndef directive, to allow application code to change its value (i.e. -in the compiler preprocessor)
      -
    • -
    -
  • MSC Class
  • -
      -
    • usbh_msc.c
    • -
        -
      • Update USBH_MSC_GetMaxLUN() to  return the correct number of supported LUNs (was returning 0xFF)
      • -
      • Fix timeout calculation issue
      • -
      - -
    -
      -
    • usbh_msc.h: -update MAX_SUPPORTED_LUN literal definition to be conditioned by -#ifndef directive, to allow application code to change its value -(i.e.in the compiler preprocessor)
    • -
    -
  • HID Class
  • -
      -
    • usbh_hid.h: fix HID's handle “timer” type to uint32_t instead of uint16_t
    -
  • MTP Class
  • -
      -
    • usbh_mtp.c : Fix timeout calculation issue
    • - - -
    - -
- -

V3.2.0 / 04-November-2014
-

- - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - -
    -
  • Update all drivers to be C++ compliant
    -
  • -
  • Core driver
  • -
      -
    • usbh_core.c: remove HOST_IDLE state in USBH_LL_Connect() function
      -
    • -
    -
  • MSC class
  • -
      -
    • Update to manage correctly older USB Keys that do not support GetMaxLun request
    • -
    -
  • Miscellaneous source code comments update
  • -
- -

V3.1.0 / 19-June-2014

- - - - - -

Main -Changes

- - - - - - - - - -
    -
  • Core driver
  • -
      -
    • Add a new define USBH_PROCESS_STACK_SIZE in the usbh_conf.h -file to change the default internal USB host process stack. Note that -by omitting this define, the default stack size (2KB) is used
      -
    • -
    • Add a user callback to handle unrecoverable error case in the application
    • -
    -
      -
    • Remove the wrong check on the interface descriptor index in the USBH_FindInterface() function
      -
    • -
    -
  • All classes
  • -
      -
    • Update class description in files comment by adding reference to the used USB class specification revision
    • -
    -
  • Audio, CDC and MTP classes
    -
  • -
      -
    • Add full RTOS support by handling state transitions through OS messages
      -
    • -
    -
  • HID class
  • -
      -
    • Add new API USBH_HID_GetPollInterval() to allow user to retrieve the needed poll time (interval between two USBD_HID_SendReport())
    • -
    -
  • Audio class
  • -
      -
    • Add a new weak callback USBH_AUDIO_BufferEmptyCallback() to indicate the end of audio data processing on the user buffer
    • -
    -
  • MSC class
  • -
      -
    • Return mass storage device capacity in Bytes in the user log message instead of MBytes
    • -
    -
- - - -

V3.0.0 / 18-February-2014

- - - -

Main -Changes

- - - - - - - -
    -
  • Major update -based on STM32Cube specification: Library Core, Classes architecture and APIs -modified vs. V2.1.0, and thus the 2 versions are not compatible.
    -
  • -
  • This version has to be used only with STM32Cube based development
  • -
-

V2.1.0 / 19-March-2012

-

Main -Changes

- -
  • Official support of STM32F4xx devices
  • All source files: license disclaimer text update and add link to the License file on ST Internet
  • Add ISR structure to link the low level driver to the Host library
  • Change length parameter in the I/O operations to handle large amount of data
  • Enhance the configuration descriptor parsing method to take into account multi interface devices
  • HID class
    • Remove blocking even frame synchronization loop
  • MSC class
    • Handle correctly the BOT transfer with length < max length
    • Handle multi sector length data in the FAT FS interface
  • Miscellaneous bug fix

V2.0.0 / 22-July-2011

Main -Changes

-
  • Second official version supporting STM32F105/7 and STM32F2xx devices
  • Add support for STM32F2xx devices
  • Add multi interface feature
  • Add dynamic configuration parsing
  • Add -USBH_DeAllocate_AllChannel function in the Host channel management -layer to clean up channels allocation table when de-initializing the -library
  • Change the core layer to stop correctly the host core and free all allocated channels
  • Add usbh_conf.h file in the application layer to customize some user parameters

V1.0.0 - 11/29/2010

-
  • Created 

License

-

Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this package except in compliance with the License. You may obtain a copy of the License at:


Unless -required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See -the License for the specific language governing permissions and -limitations under the License.
-
-
-
-

For - complete documentation on STM32 - Microcontrollers visit www.st.com/STM32

-
-

-
- -
- -

 

- -
- + + + + + + + + + + + + +Release Notes for STM32 USB Host Library + + + + + + + + + +
+ +

 

+ +
+ + + + + +
+ + + + + + + +
+

Back to Release page

+
+

Release Notes for STM32 USB Host Library

+

Copyright + 2015 STMicroelectronics

+

+
+

 

+ + + + +
+

Update History

V3.2.2 / 07-July-2015
+

+ + + + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + + + +
  • MSC Class
    • usbh_msc.c
      • Fix MSC Get Ready Delay issue

V3.2.1 / 26-June-2015
+

+ + + + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + + + +
    +
  • Core driver
  • +
      +
    • usbh_def.h: +update USBH_MAX_PIPES_NBR literal definition to be conditioned by +#ifndef directive, to allow application code to change its value (i.e. +in the compiler preprocessor)
      +
    • +
    +
  • MSC Class
  • +
      +
    • usbh_msc.c
    • +
        +
      • Update USBH_MSC_GetMaxLUN() to  return the correct number of supported LUNs (was returning 0xFF)
      • +
      • Fix timeout calculation issue
      • +
      + +
    +
      +
    • usbh_msc.h: +update MAX_SUPPORTED_LUN literal definition to be conditioned by +#ifndef directive, to allow application code to change its value +(i.e.in the compiler preprocessor)
    • +
    +
  • HID Class
  • +
      +
    • usbh_hid.h: fix HID's handle “timer” type to uint32_t instead of uint16_t
    +
  • MTP Class
  • +
      +
    • usbh_mtp.c : Fix timeout calculation issue
    • + + +
    + +
+ +

V3.2.0 / 04-November-2014
+

+ + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + +
    +
  • Update all drivers to be C++ compliant
    +
  • +
  • Core driver
  • +
      +
    • usbh_core.c: remove HOST_IDLE state in USBH_LL_Connect() function
      +
    • +
    +
  • MSC class
  • +
      +
    • Update to manage correctly older USB Keys that do not support GetMaxLun request
    • +
    +
  • Miscellaneous source code comments update
  • +
+ +

V3.1.0 / 19-June-2014

+ + + + + +

Main +Changes

+ + + + + + + + + +
    +
  • Core driver
  • +
      +
    • Add a new define USBH_PROCESS_STACK_SIZE in the usbh_conf.h +file to change the default internal USB host process stack. Note that +by omitting this define, the default stack size (2KB) is used
      +
    • +
    • Add a user callback to handle unrecoverable error case in the application
    • +
    +
      +
    • Remove the wrong check on the interface descriptor index in the USBH_FindInterface() function
      +
    • +
    +
  • All classes
  • +
      +
    • Update class description in files comment by adding reference to the used USB class specification revision
    • +
    +
  • Audio, CDC and MTP classes
    +
  • +
      +
    • Add full RTOS support by handling state transitions through OS messages
      +
    • +
    +
  • HID class
  • +
      +
    • Add new API USBH_HID_GetPollInterval() to allow user to retrieve the needed poll time (interval between two USBD_HID_SendReport())
    • +
    +
  • Audio class
  • +
      +
    • Add a new weak callback USBH_AUDIO_BufferEmptyCallback() to indicate the end of audio data processing on the user buffer
    • +
    +
  • MSC class
  • +
      +
    • Return mass storage device capacity in Bytes in the user log message instead of MBytes
    • +
    +
+ + + +

V3.0.0 / 18-February-2014

+ + + +

Main +Changes

+ + + + + + + +
    +
  • Major update +based on STM32Cube specification: Library Core, Classes architecture and APIs +modified vs. V2.1.0, and thus the 2 versions are not compatible.
    +
  • +
  • This version has to be used only with STM32Cube based development
  • +
+

V2.1.0 / 19-March-2012

+

Main +Changes

+ +
  • Official support of STM32F4xx devices
  • All source files: license disclaimer text update and add link to the License file on ST Internet
  • Add ISR structure to link the low level driver to the Host library
  • Change length parameter in the I/O operations to handle large amount of data
  • Enhance the configuration descriptor parsing method to take into account multi interface devices
  • HID class
    • Remove blocking even frame synchronization loop
  • MSC class
    • Handle correctly the BOT transfer with length < max length
    • Handle multi sector length data in the FAT FS interface
  • Miscellaneous bug fix

V2.0.0 / 22-July-2011

Main +Changes

+
  • Second official version supporting STM32F105/7 and STM32F2xx devices
  • Add support for STM32F2xx devices
  • Add multi interface feature
  • Add dynamic configuration parsing
  • Add +USBH_DeAllocate_AllChannel function in the Host channel management +layer to clean up channels allocation table when de-initializing the +library
  • Change the core layer to stop correctly the host core and free all allocated channels
  • Add usbh_conf.h file in the application layer to customize some user parameters

V1.0.0 - 11/29/2010

+
  • Created 

License

+

Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this package except in compliance with the License. You may obtain a copy of the License at:


Unless +required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See +the License for the specific language governing permissions and +limitations under the License.
+
+
+
+

For + complete documentation on STM32 + Microcontrollers visit www.st.com/STM32

+
+

+
+ +
+ +

 

+ +
+ \ No newline at end of file diff --git a/lib/main/STM32F3/Drivers/STM32F3xx_HAL_Driver/Release_Notes.html b/lib/main/STM32F3/Drivers/STM32F3xx_HAL_Driver/Release_Notes.html index 496a79a1f..a95c161fb 100644 --- a/lib/main/STM32F3/Drivers/STM32F3xx_HAL_Driver/Release_Notes.html +++ b/lib/main/STM32F3/Drivers/STM32F3xx_HAL_Driver/Release_Notes.html @@ -1,1095 +1,1095 @@ - - - - - - - - -Release Notes for STM32F3xx HAL Drivers - - - - - -
-

 

-
- - - - - - -
- - - - - - - - - -
-

Back to Release page

-
-

Release -Notes for STM32F3xx HAL Drivers

-

Copyright -2016 STMicroelectronics

-

-
-

 

- - - - - - -
-

Update History

-

V1.5.0 -/ 23-June-2017

Main changes

  • Maintenance release to fix known defects and -enhancements implementation

Generic drivers changes

  • MISRA C 2004 rule 11.4 (A cast should not be performed between a pointer to object type and a different pointer to object type).
  • MISRA C 2004 rule 12.4 (The right-hand operand of a logical  or  I  I  operator shall not
    contain side effects).
  • MISRA C 2004 rule 17.4 (Array indexing shall be the only allowed form of pointer arithmetic).
  • Remove uselesss cast (uint32_t ) cast in case of 'U' suffix.
  • Fix Code Sonar warnings (useless assignment, cast alters value, empty while statement ...).
  • Minor improvement of - Doxygen Tags for CHM UM generation.
  • Replace POSITION_VAL(xxx) macro by corresponding CMSIS_Pos definitions.

HAL Drivers changes

  • The following changes done on the HAL drivers require an update on the application code based on HAL V1.3.0
    • HAL NAND driver: Overall driver rework with compatibility break versus previous HAL version (see below).

  • HAL
    • Correct RTC_PREDIV values (for LSI clock) in hal_timebase_rtc_alam_template.c and hal_timebase_rtc_wakeup_template.c
    • Add definition of USE_SPI_CRC in hal_conf_template.h
    • Modify HAL_Delay() function to garantee minimum delay.
    • New API : HAL_GetUIDwx() read the unique device identifier word x.
  • HAL ADC
    • Remove unused litteral ADC_EOC_SINGLE_SEQ_CONV.
    • Correct name of one ADC1 external trigger of regular group : ADC_EXTERNALTRIGCONV_T4_CC4.
  • HAL CAN
    • Add transmission abort when timeout is reached in HAL_CAN_Transmit().
    • Add managment of overrun error. 
    • Store missing FIFO number in received message.
    • Extend SET_BIT, CLEAR_BIT macro usage.
    • Allow possibility to receive messages from the 2 RX FIFOs in parallel via interrupt.
    • Fix message lost issue with specific sequence of transmit requests.
  • HAL COMP
    • COMP_WINDOWMODE litterals clean-up according to family diversity.
  • HAL NAND
    • Overall driver rework in order to support NAND flash memories with higher capacities. 
    • Add support of 16 bits adressing mode
    • API changes :
      • Add HAL_NAND_ConfigDevice() function
      • Split HAL_NAND_Read_Page(), -HAL_NAND_Write_Page(), HAL_NAND_Read_SpareArea(), -HAL_NAND_Write_SpareArea() in _8b and  _ 16b functions to select -the proper adressing mode.
  • HAL HRTIM
    • Modify __HAL_HRTIM_SETCLOCKPRESCALER macro to clear CKPSC and CKPSCx bits before setting new prescaler value.
    • Correct HRTIM_EVENTFASTMODE_DISABLE and HRTIM_EVENTFASTMODE_ENABLE defines.
  • HAL I2C
    • Editorial modification : astyle clean-up
  • HAL SMBUS
    • New API : Digital/Analog filter configuration with HAL_SMBUS_ConfigAnalogFilter() and HAL_SMBUS_ConfigDigitalFilter().
  • HAL - PCD 
    • Fix and Improve PCD_ReadPMA() API to prevent corrupting user buffer.
    • Minor changes in HAL_PCD_CLEAR_FLAG, PCD_CLEAR_TX/RX_EP_CTR macros.
    • Fix USB device remote wakeup issue.
    • USB PCD interrupt handler: remove useless usb device interrupts enable, already set during the pcd init.
    • Remove lock/unlock from USB receive and transmit endpoints.
  • HAL RTC
    • Correct RTC Time register initialization.
  • HAL SPI
    • Empty RXFIFO in case of end of MASTER transmission 2 lines.
  • HAL I2S
    • Fix full duplex I2S with circular DMA issues :
      • Don't stop DMA at end of transfert
      • Solve synchroniszation issues between RX and TX.
  • HAL TIM
    • Fix typo in __HAL_TIM_SET_PRESCALER macro.
    • Improvment of TIM DMA burst mode. Add 2 new API :
      • HAL_TIM_DMABurst_MultiWriteStart()
      • HAL_TIM_DMABurst_MultiReadStart()
    • Add BRK2 (Break input 2 event) interrupt handler.
    • Update IRQ handler to use correct defines (TIM_FLAG_xxxx instead of TIM_IT_xxxx) to clear flag.
-

LL Drivers changes

  • LL ADC
    • Set TEMPSENSOR_CAL1_TEMP value to 30°C as specified in datasheet.
  • LL DMA
    • Replace SET_BIT macro by WRITE_REG in LL_DMA_ClearFlag_xxx() as  DMA IFCR register is read only.
    • For better performances, CPAR and CMAR regsiters are updated by WRITE_REG macro instead of MODIFY_REG.
  • LL I2C
    • OA1EN bit of OAR1 register should be set only when own address different from 0 (0 reserved for General Call address).
  • LL RTC
    • Update LL_RTC_DATE_Get() function for better performances.
  • LL SPI
    • Remove LL_SPI_SR_UDR (available only for I2S feature).
  • LL_TIM
    • Add AutomaticOutput field initialization in LL_TIM_BDTR_StructInit().
    • Fix typo in __HAL_TIM_SET_PRESCALER macro.
    • Ensure -write operation of BKE and BKP bits is effective by adding fake read -operation to garantee 1 APB clock cycle before function exit.
    • Exchange behavior between LL_TIM_EnableUpdateEvent() and LL_TIM_DisableUpdateEvent().
  • LL UTILS
    • Update function UTILS_EnablePLLAndSwitchSystem() to use current AHB prescaler for sysclk frequency calculation.

V1.4.0 -/ 16-December-2016

Main changes -

  • Maintenance release to fix known defects and -enhancements implementation

HAL Drivers changes

  • - -Enhance HAL delay and time base implementation:
    • Add -new templates -stm32f0xx_hal_timebase_rtc_alarm_template.c, stm32f0xx_hal_timebase_rtc_wakeup_template.c -and stm32f0xx_hal_timebase_tim_template.c which can be used to override -the native -HAL time base functions (defined as weak) to use either RTC or -Timer as time -base tick source. For more details about the usage of these drivers, -please refer to HAL\HAL_TimeBase examples and FreeRTOS-based applications
  • The following changes done on the HAL drivers require an update on the application code based on HAL V1.3.0
    • HAL CEC driver:  Overall driver rework with compatibility break versus previous HAL version
      • Remove HAL CEC polling Process functions: HAL_CEC_Transmit() and HAL_CEC_Receive()
      • Remove -HAL CEC receive interrupt process function HAL_CEC_Receive_IT() -and enable the "receive"  mode during the Init phase
      • Rename HAL_CEC_GetReceivedFrameSize() funtion to HAL_CEC_GetLastReceivedFrameSize()
      • Add new HAL APIs: HAL_CEC_SetDeviceAddress() and HAL_CEC_ChangeRxBuffer()
      • Remove the 'InitiatorAddress' -field from the CEC_InitTypeDef structure and manage -it as a parameter in the HAL_CEC_Transmit_IT() function
      • Add new parameter 'RxFrameSize' in HAL_CEC_RxCpltCallback() function
      • Move CEC Rx buffer pointer from CEC_HandleTypeDef structure to CEC_InitTypeDef structure
    • HAL TIM driver : add one field (AutoReloadPreload) in TIM_Base_InitTypeDef structure

  • HAL Generic
    • Update HAL Driver compliancy with:
      • MISRA C 2004 rule 10.6 ('U' suffix applied to all constants of 'unsigned' type)
  • HAL CEC
    • Overall driver rework with break of compatibility with HAL V1.3.0
      • Remove the HAL CEC polling Process: HAL_CEC_Transmit() and HAL_CEC_Receive()
      • Remove the HAL CEC receive interrupt process (HAL_CEC_Receive_IT()) and manage the "Receive" mode enable within the Init phase
      • Rename HAL_CEC_GetReceivedFrameSize() function to HAL_CEC_GetLastReceivedFrameSize() function
      • Add new HAL APIs: HAL_CEC_SetDeviceAddress() and HAL_CEC_ChangeRxBuffer()
      • Remove the 'InitiatorAddress' -field from the CEC_InitTypeDef structure and manage -it as a parameter in the HAL_CEC_Transmit_IT() function
      • Add new parameter 'RxFrameSize' in HAL_CEC_RxCpltCallback() function
      • Move CEC Rx buffer pointer from CEC_HandleTypeDef structure to CEC_InitTypeDef structure
    • Update driver to implement the new CEC state machine:
      • Add new "rxState" field in CEC_HandleTypeDef structure to provide the CEC state information related to Rx Operations
      • Rename "state" field in CEC_HandleTypeDef structure to "gstate": CEC state information related to global Handle management and Tx Operations
      • Update CEC process to manage the new CEC states.
      • Update __HAL_CEC_RESET_HANDLE_STATE() macro to handle the new CEC state parameters (gState, rxState)
  • HAL UART/USART/IRDA/SMARTCARD
    • IRQ Handler global optimization 
    • New abort API: HAL_PPP_Abort(), HAL_PPP_Abort_IT()
    • Add error management in case of DMA transfer through - HAL_DMA_Abort_IT() and DMA XferAbortCallback()
    • Polling management update:
      • The user Timeout value must be estimated for the overall process -duration
  • HAL SPI
    • Overall driver optimization to improve performance in polling/interrupt mode to reach maximum peripheral frequency
      • Polling mode:
        • Replace the use of SPI_WaitOnFlagUnitTimeout() function by "if" statement to check on RXNE/TXE flage while transferring data
      •  Interrupt mode:
        • Minimize access on SPI registers
      • All modes:
        • Add the USE_SPI_CRC switch to minimize the number of statements when CRC calculation is disabled
        • Update timeout management to check on global processes
        • Update error code management in all processes
    • Fix regression in polling mode:
      • Add preparing data to transmit in case of slave mode in HAL_SPI_TransmitReceive() and HAL_SPI_Transmit()
    • Fix regression in interrupt mode:
      • Add a wait on TXE flag in SPI_CloseTx_ISR() and in SPI_CloseTxRx_ISR()
      • Add to manage properly the overrun flag in SPI_CloseRxTx_ISR() and SPI_CloseRx_ISR()
    • Prevent data packing mode -in reception for STM32F302xC, STM32F303xC, STM32F373xC, STM32F358xx, STM32F378xx
    • Add check of DMA handle definition before calling HAL_SPI_Receive_DMA, HAL_SPI_Transmit_DMA, HAL_SPI_TransmitReceive_DMA
    • Updated HAL Driver compliancy with MISRA C 2004 rules:
      • MISRA C 2004 rule 14.3 (a null statement shall only occur on a line by itself).
      • MISRA C 2004 rule 14.8 (statement forming the body of a switch, while, do … while or for statement shall be a compound statement).
  • HAL DMA
    • Global - driver code optimization to reduce memory footprint 
    • Add - new APIs HAL_DMA_RegisterCallback() and HAL_DMA_UnRegisterCallback to - register/unregister the different callbacks identified by the enum - typedef HAL_DMA_CallbackIDTypeDef
    • Add - new Error Code HAL_DMA_ERROR_NOT_SUPPORTED
    • Remove - DMA HAL_DMA_STATE_READY_HALF & HAL_DMA_STATE_ERROR states in - HAL_DMA_StateTypeDef
  • HAL I2C
    • Disable I2C_OARx_EN bit before any configuration in OAR1 or 2 in HAL_I2C_Init()
    • Move I2C_NO_OPTION_FRAME in private section
    • Update IS_I2C_FASTMODEPLUS macro. Add I2C_FMP_NOT_SUPPORTED definition
    • Update HAL_I2C_Master_Sequential_Transmit_IT() function (wrong state check)
    • Add I2C_FIRST_AND_NEXT_FRAME option for I2C Sequential Transfer
    • On slave, reset LISTEN_TX state in case of direction change
    • Remove GCC warnings
  • HAL TIM
    • API update : add one field (AutoReloadPreload) in TIM_Base_InitTypeDef structure in order to set ARPE -bit from TIMx_CR1 register
    • New -API : add 2 macros (__HAL_TIM_ENABLE_OCxPRELOAD() and  -__HAL_TIM_DISABLE_OCxPRELOAD()) in order to set OCxPE bit -from TIMx_CCMR1, TIMx_CCMR2 and TIMx_CCMR3 registers
    • Use MODIFY_REG macro to avoid wrong initialisation in ConfigBreakDeadTime()
    • Add TIM1 ETR remap enums for STM32F334xx devices
    • HAL_TIMEx_RemapConfig() prototype changed for STM32F334x8 device
    • Remove -TIM_CR2_OIS2N, TIM_CR2_OIS3, TIM_CR2_OIS3N, TIM_CR2_OIS4 managment for STM32F373xC and STM32F378xx devices
    • API update : Add __HAL_TIM_MOE_DISABLE_UNCONDITIONALLY() function to disable MOE bit without condition
  • HAL SMBUS
    • Remove useless XferSize field initialisation in  HAL_SMBUS_Slave_Transmit_IT()
    • Add -support of Zone read/write feature thanks to new XferOptions parameter -values SMBUS_OTHER_FRAME_NO_PEC, SMBUS_OTHER_FRAME_WITH_PEC, -SMBUS_OTHER_AND_LAST_FRAME_NO_PEC and -SMBUS_OTHER_AND_LAST_FRAME_WITH_PEC
  • HAL - PCD 
    • Updated HAL Driver compliancy with MISRA C 2004 rules : (10.3, 105)
      • MISRA C 2004 rule 10.3 (illegal explicit conversion from underlying MISRA type "unsigned int" to "uint32_t *").
      • MISRA C 2004 rule 10.5 (bitwise operators ~ and <<).
      • MISRA C 2004 rule 12.7 (bitwise operations not performed on signed integer types).
  • HAL PWR
    • Rename PWR_CR register defines to be aligned with STM32F3xx Reference Manual : SDADCxEN ==> ENSDx
  • HAL RCC
    • Rename RCC_CFGR register defines to be aligned with STM32F3xx Reference Manual : SDADCPRE ==> SDPRE
  • HAL CORTEX
    • Update HAL_MPU_Disable() to clear the whole control register. Also remove STATIC INLINE and move function to c file
  • HAL CAN
    • Add __HAL_UNLOCK() call when all mailboxes are busy
    • Add __HAL_CAN_CANCEL_TRANSMIT() call to abort transmission when timeout is reached
  • HAL ADC
    • Add ADC_EXTERNALTRIGINJECCONV_T2_CC1 and ADC_EXTERNALTRIGINJECCONV_T2_TRGO definitions
-

LL Drivers changes

  • LL COMP
    • Creation of generic defines for defines specific to COMP instances
    • Modify definition of LL_COMP_OUTPUT_TIM4_IC2_COMP4, LL_COMP_OUTPUT_TIM4_IC3_COMP5 and LL_COMP_OUTPUT_TIM4_IC4_COMP6 literals
    • Rename -LL_COMP_OUTPUT_TIM1_IC4_COMP2 and LL_COMP_OUTPUT_TIM1_IC4_COMP1_2 in -LL_COMP_OUTPUT_TIM2_IC4_COMP2 and LL_COMP_OUTPUT_TIM2_IC4_COMP1_2
    • Correct COMP inputs definition
  • LL EXTI
    • Move -LL_EXTI_LINE_18, LL_EXTI_LINE_33, LL_EXTI_LINE_34, LL_EXTI_LINE_35, -LL_EXTI_LINE_36, LL_EXTI_LINE_37, LL_EXTI_LINE_38 and LL_EXTI_LINE_39 -defines under compilation switch (availability depends on devices)
  • LL PWR
    • Rename PWR_CR register defines to be aligned with STM32F3xx Reference Manual : SDADCxEN ==> ENSDx
  • LL RCC
    • Rename RCC_CFGR register defines to be aligned with STM32F3xx Reference Manual : SDADCPRE ==> SDPRE
  • LL SYSTEM
    • Add LL_SYSCFG_EnableIT_FPU_xxx functions
    • Replace -LL_SYSCFG_TIM18_RMP_DMA2_CH4 and LL_SYSCFG_TIM18_RMP_DMA1_CH4 by -LL_SYSCFG_TIM18_RMP_DMA2_CH5 and LL_SYSCFG_TIM18_RMP_DMA1_CH5
  • LL GPIO
    • Remove LL_GPIO_SPEED_FREQ_VERY_HIGH (GPIO_SPEED_FREQ_VERY_HIGH does not exist for STM32F3xx serie)
  • LL_TIM
    • Rename -LL_TIM_TIM16_TI1_RMP defines : LL_TIM_TIM16_TI1_RMP_GPIO, -LL_TIM_TIM16_TI1_RMP_RTC, LL_TIM_TIM16_TI1_RMP_HSE_32, -LL_TIM_TIM16_TI1_RMP_MCO
    • Remove -TIM_CR2_OIS2N, TIM_CR2_OIS3, TIM_CR2_OIS3N, TIM_CR2_OIS4 managment for STM32F373xC and STM32F378xx devices
    • Move -LL_TIM_OCREF_CLR_INT_OCREF_CLR and LL_TIM_OCREF_CLR_INT_ETR -defines under compilation switch (availability depends on devices)
    • New APIs to insure BDTR register initialization in a single write operation 
      • LL_TIM_BDTR_StructInit()
      • LL_TIM_BDTR_Init()
  • LL USART
    • Replace POSITION_VAL(xxx) macro by corresponding CMSIS_Pos definitions
  • LL HRTIM
    • Replace POSITION_VAL(xxx) macro by corresponding CMSIS_Pos definitions
    • Add shift operation in HRTIM_TIM_SetCompareMode()
  • LL_I2C
    • Replace POSITION_VAL(xxx) macro by corresponding CMSIS_Pos definitions

V1.3.0 -/ 01-July-2016

-

Main -Changes

  • First official release supporting the Low Level drivers for the STM32F3xx serie:
    • Low Layer drivers APIs provide register level programming:
      they require deep knowledge of peripherals described in STM32F3xx Reference Manual.
    • Low Layer drivers are available for ADC, COMP, Cortex, CRC, DAC, DMA, EXTI, GPIO, HRTIM, I2C, IWDG, OPAMP, PWR,
      RCC, RTC, SPI, TIM, USART and WWDG peripherals
      and additional Low Level Bus, System and Utilities APIs.
    • Low -Layer drivers APIs are implemented as static inline function in new -Inc/stm32f3xx_ll_ppp.h files for PPP peripherals, there is no -configuration file and each stm32f3xx_ll_ppp.h file must be included in -user code.
  • Maintenance release to fix known defects and enhancements implementation.
  • HAL generic
    • Updated.
  • HAL ADC
    • Updated -assert_param within HAL_ADCEx_MultiModeConfigChannel() function to -avoid issue during ADC configuration change from multimode to -independent mode.
  • HAL CRC
    • Updated HAL_CRC_DeInit() function (restored IDR Register to Reset value).
  • HAL GPIO
    • Updated definition of IS_GPIO_PIN private macro to cover full u32 bits.
  • HAL HRTIM
    • Updated HAL HRTIM Driver compliancy with MISRA C 2004 rules:
      • MISRA C 2004 rule 12.5 (operands of a logical && or || shall be primary-expressions).
      • MISRA C 2004 rule 15.3 (final clause of a switch statement shall be the default clause).
  • HAL I2C
    • Updated I2C driver documentation concerning I2C address management.
  • HAL IWDG
    • New simplified HAL IWDG driver: removed HAL_IWDG_Start(), HAL_IWDG_MspInit() and HAL_IWDG_GetState() APIs.
    • The API functions are: 
      • HAL_IWDG_Init(): this function insures the configuration and the start of the IWDG counter.
      • HAL_IWDG_Refresh(): this function insures the reload of the IWDG counter.
  • HAL PWR
    • Aligned Power Wake-Up pins EWUPx definitions on CMSIS definitions.
  • HAL RTC
    • Updated HAL_RTCEx_SetWakeUpTimer_IT() function by adding clear of Wake-Up flag before enabling the interrupt.
  • HAL SMBUS
    • Updated SMBUS driver documentation concerning SMBUS address management.
  • HAL SDADC
    • Updated HAL SDADC Driver compliancy with MISRA C 2004 rules:
      • MISRA C 2004 rule 10.3 (illegal explicit conversion from type "unsigned int" to "uint16_t *).
  • HAL SPI
    • Updated __SPI_HandleTypeDef definition by using __IO uint16_t type for TxXferCount and RxXferCount.
    • Updated -SPI_2linesTxISR_8BIT() and SPI_2linesTxISR_16BIT() functions: added -return so that SPI_2linesTxISR_8BITCRC() or SPI_2linesTxISR_16BITCRC() -function is called from HAL_SPI_TransmitReceive_IT()
      when CRC is activated.
    • Updated SPI Driver compliancy with MISRA C 2004 rule 5.2 (identifiers in an inner scope shall not
      use the same name as an identifier in an outer scope)
      .
  • HAL WWDG
    • New simplified HAL WWDG driver: removed HAL_WWDG_Start(), HAL_WWDG_Start_IT(), HAL_WWDG_MspDeInit() and HAL_WWDG_GetState() APIs.
    • Updated HAL_WWDG_Refresh() API to remove counter parameter.
    • New field EWIMode in WWDG_InitTypeDef to specify need for Early Wakeup Interrupt.
    • The -API functions are: HAL_WWDG_Init(), HAL_WWDG_MspInit(), -HAL_WWDG_Refresh(), HAL_WWDG_IRQHandler() and -HAL_WWDG_EarlyWakeupCallback().

V1.2.1 -/ 29-April-2016

-

Main -Changes

  • Maintenance release to fix known defects and enhancements implementation.
  • HAL generic
    • Updated HAL Driver compliancy with MISRA C 2004 rules:
      • MISRA C 2004 rule 10.6 ('U' suffix applied to all constants of 'unsigned' type).
      • MISRA C 2004 rule 10.5 (bitwise operators ~ and <<).
      • MISRA C 2004 rule 12.6 (operands of logical operators (&&, || and !) should be effectively Boolean).
      • MISRA C 2004 rule 12.7 (bitwise operations not performed on signed integer types).
      • MISRA C 2004 rule 14.3 (a null statement shall only occur on a line by itself).
      • MISRA C 2004 rule 14.8 (statement forming the body of a switch, while, do … while or for statement shall be a compound statement).
      • MISRA C 2004 rule 15.3 (final clause of a switch statement shall be the default clause).
      • MISRA C 2004 rule 16.4 (identifiers used in the declaration and definition of a function shall be identical).
    • Updated HAL weak empty callbacks to prevent unused argument compilation warnings.
    • Updated stm32f3xx_hal_conf.h files:
      • Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms.
  • HAL
    • Changed uwTick to global to allow overwrite of HAL_IncTick().
  • HAL COMP
    • Added delay in COMP startup time required to reach propagation delay specification.
    • Added missing  __HAL_UNLOCK, __HAL_LOCK in HAL_COMP_Start().
    • Modified COMP_INVERTINGINPUT_SELECTION() macro as COMP inverting inputs selection, depends on COMPx instance.
  • HAL DAC
    • Updated DAC functions after DAC_CR_BOFFx/DAC_CR_OUTENx bit definition updates.
  • HAL DMA
    • Added __HAL_DMA_GET_COUNTER() macro returning the number of remaining data units in the current DMA Channel transfer.
    • Provided -new function HAL_DMA_Abort_IT() to abort current DMA transfer -under interrupt mode without polling for DMA enable bit.
  • HAL GPIO
    • Added macros to manage Fast Mode Plus on GPIOs.
  • HAL FMC
    • Removed private macro IS_FMC_PAGESIZE not supported by STM32F3xx serie.
  • HAL I2C
    • Aligned I2C driver with new state machine definition.
    • Updated __HAL_I2C_DISABLE_IT macro.
    • Used macro definition for I2C instances supporting Wakeup from Stop mode.
    • Added support of repeated start feature in case of multimaster mode (allow master to keep I2C communication with slave).
    • Updated WaitOnFlag management (timeout measurement should be always cumulative).
    • Optimized HAL_I2C_XX_IRQHandler() functions (read status registers only once).
    • Reworked DMA end process and I2C error management during DMA transfer.
    • Modified HAL_I2C_Master_Transmit to handle sending data of size 0.
    • Updated -DMA Abort management: used new HAL_DMA_Abort() function and called -HAL_I2C_ErrorCallback() when errors occur during DMA transfer.
  • HAL I2S
    • Removed support of I2S full-duplex feature on STM32F301x8 device.
  • HAL IRDA
    • Reviewed IRDA state machine to avoid cases where IRDA state is overwritten by IRDA IRQ.
    • Modified EIE bit setting in Tx and Rx transfers (Interrupt mode).
    • Modified IRDA_Receive_IT() to execute the RX flush request only in case no data is read from RDR.
    • Updated IRDA_SetConfig() function following UART Baudrate calculation update.
  • HAL FMC
    • Updated FMC_NORSRAM_Init() function (BurstAccessMode field configuration).
    • Added FMC_BCR1_CCLKEN in the BCR register clear mask used for FMC_NORSRAM_Init().
  • HAL OPAMP
    • Updated definitions of OPAMP Non Inverting Input constants.
  • HAL RCC
    • Performed optimizations for internal oscillators and PLL startup time.
    • Performed optimizations for HAL_RCC_ClockConfig(), HAL_RCCEx_PeriphCLKConfig functions.
    • Modified reset of Backup domain only if the RTC Clock source selection is modified from reset value.
    • Updated HAL_RCC_OscConfig() function (Reset HSEON/LSEON and HSEBYP/LSEBYP bits before configuring the HSE/LSE).
    • Corrected updates of SystemCoreClock variable within the HAL drivers.
    • Corrected invertion in LSE drive capability Bit definition.
    • Modified AHBPrescTable and APBPrescTable in HAL.
    • Removed RCC_CFGR_PLLNODIV bit definition from STM32F358xx, STM32F303xC and STM32F302xC devices.
    • Removed RCC_CSR_VREGRSTF bit definition in RCC_CSR register for STM32F303xC and STM32F303xE devices.
    • Removed USART2 and USART3 clock switch in RCC_CFGR3 register not supported by STM32F303x8, STM32F334x8
      and STM32F328xx devices and for STM32F301x8, STM32F302x8 and STM32F318xx devices.
    • Removed -RCC_CSR_V18PWRRSTF bit definition in RCC_CSR register not supported by -STM32F318xx, STM32F328xx, STM32F358xx, STM32F378xx and STM32F398xx -devices.
    • Removed flag RCC_FLAG_RMV which is write only.
    • Added RCC_CFGR_xxxx_BITNUMBER definitions for portability between STM32 series.
    • Updated HAL_RCC_OscConfig() function to enable PWR only if necessary for LSE configuration.
  • HAL RTC
    • Added missing Tamper definitions (RTC_TAFCR register).
  • HAL SMARTCARD
    • Reviewed SMARTCARD state machine to avoid cases where SMARTCARD state is overwritten by SMARTCARD IRQ.
    • Modified SMARTCARD_Receive_IT() to execute the RX flush request only in case no data is read from RDR.
    • Added SMARTCARD_STOPBITS_0_5 definition used for smartcard mode.
    • Updated SMARTCARD_SetConfig() function following UART Baudrate calculation update.
  • HAL SPI
    • Updated HAL_SPI_TransmitReceive() function in slave mode to receive correctly the CRC when NSS pulse activated.
    • Added missing __IO in SPI_HandleTypeDef definition.
    • Updated IS_SPI_CRC_POLYNOMIAL macro definition as polynomial value should be odd only.
  • HAL TIM
    • Updated HAL_TIM_ConfigOCrefClear() function to manage correctly TIM state (BUSY, READY).
    • Used IS_TIM_HALL_INTERFACE_INSTANCE macro instead of IS_TIM_XOR_INSTANCE macro in
      HAL_TIMEx_HallSensor_xxx() functions.
    • Updated TIM_SLAVEMODE constants definitions using CMSIS bit definitions.
  • HAL TSC
    • Updated IO default state management.
  • HAL UART-USART
    • Updated UART Baudrate calculation (UART_DIV_SAMPLING8() and UART_DIV_SAMPLING16() macros).
    • Updated USART_SetConfig() function following UART Baudrate calculation update.
    • Reviewed UART state machine to avoid cases where UART state is overwritten by UART IRQ.
    • Removed USART2 and USART3 clock switch, not supported by STM32F303x8, STM32F334x8 and STM32F328xx devices
      and for STM32F301x8, STM32F302x8 and STM32F318xx devices.
    • Modified UART_Receive_IT() to execute the RX flush request only in case no data is read from RDR.
    • Corrected macro used in assert_param of HAL_LIN_SendBreak() function.
    • Added UART_STOPBITS_0_5/USART_STOPBITS_0_5 definitions used for synchronous mode.
  • HAL USB
    • Corrected double buffer implementation in PCD_SET_EP_DBUF1_CNT() macro.
  • HAL WWDG
    • Aligned WWDG registers bits naming between all STM32 series.

- - - -

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 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

-
-

-
-
-

 

-
+ + + + + + + + +Release Notes for STM32F3xx HAL Drivers + + + + + +
+

 

+
+ + + + + + +
+ + + + + + + + + +
+

Back to Release page

+
+

Release +Notes for STM32F3xx HAL Drivers

+

Copyright +2016 STMicroelectronics

+

+
+

 

+ + + + + + +
+

Update History

+

V1.5.0 +/ 23-June-2017

Main changes

  • Maintenance release to fix known defects and +enhancements implementation

Generic drivers changes

  • MISRA C 2004 rule 11.4 (A cast should not be performed between a pointer to object type and a different pointer to object type).
  • MISRA C 2004 rule 12.4 (The right-hand operand of a logical  or  I  I  operator shall not
    contain side effects).
  • MISRA C 2004 rule 17.4 (Array indexing shall be the only allowed form of pointer arithmetic).
  • Remove uselesss cast (uint32_t ) cast in case of 'U' suffix.
  • Fix Code Sonar warnings (useless assignment, cast alters value, empty while statement ...).
  • Minor improvement of + Doxygen Tags for CHM UM generation.
  • Replace POSITION_VAL(xxx) macro by corresponding CMSIS_Pos definitions.

HAL Drivers changes

  • The following changes done on the HAL drivers require an update on the application code based on HAL V1.3.0
    • HAL NAND driver: Overall driver rework with compatibility break versus previous HAL version (see below).

  • HAL
    • Correct RTC_PREDIV values (for LSI clock) in hal_timebase_rtc_alam_template.c and hal_timebase_rtc_wakeup_template.c
    • Add definition of USE_SPI_CRC in hal_conf_template.h
    • Modify HAL_Delay() function to garantee minimum delay.
    • New API : HAL_GetUIDwx() read the unique device identifier word x.
  • HAL ADC
    • Remove unused litteral ADC_EOC_SINGLE_SEQ_CONV.
    • Correct name of one ADC1 external trigger of regular group : ADC_EXTERNALTRIGCONV_T4_CC4.
  • HAL CAN
    • Add transmission abort when timeout is reached in HAL_CAN_Transmit().
    • Add managment of overrun error. 
    • Store missing FIFO number in received message.
    • Extend SET_BIT, CLEAR_BIT macro usage.
    • Allow possibility to receive messages from the 2 RX FIFOs in parallel via interrupt.
    • Fix message lost issue with specific sequence of transmit requests.
  • HAL COMP
    • COMP_WINDOWMODE litterals clean-up according to family diversity.
  • HAL NAND
    • Overall driver rework in order to support NAND flash memories with higher capacities. 
    • Add support of 16 bits adressing mode
    • API changes :
      • Add HAL_NAND_ConfigDevice() function
      • Split HAL_NAND_Read_Page(), +HAL_NAND_Write_Page(), HAL_NAND_Read_SpareArea(), +HAL_NAND_Write_SpareArea() in _8b and  _ 16b functions to select +the proper adressing mode.
  • HAL HRTIM
    • Modify __HAL_HRTIM_SETCLOCKPRESCALER macro to clear CKPSC and CKPSCx bits before setting new prescaler value.
    • Correct HRTIM_EVENTFASTMODE_DISABLE and HRTIM_EVENTFASTMODE_ENABLE defines.
  • HAL I2C
    • Editorial modification : astyle clean-up
  • HAL SMBUS
    • New API : Digital/Analog filter configuration with HAL_SMBUS_ConfigAnalogFilter() and HAL_SMBUS_ConfigDigitalFilter().
  • HAL + PCD 
    • Fix and Improve PCD_ReadPMA() API to prevent corrupting user buffer.
    • Minor changes in HAL_PCD_CLEAR_FLAG, PCD_CLEAR_TX/RX_EP_CTR macros.
    • Fix USB device remote wakeup issue.
    • USB PCD interrupt handler: remove useless usb device interrupts enable, already set during the pcd init.
    • Remove lock/unlock from USB receive and transmit endpoints.
  • HAL RTC
    • Correct RTC Time register initialization.
  • HAL SPI
    • Empty RXFIFO in case of end of MASTER transmission 2 lines.
  • HAL I2S
    • Fix full duplex I2S with circular DMA issues :
      • Don't stop DMA at end of transfert
      • Solve synchroniszation issues between RX and TX.
  • HAL TIM
    • Fix typo in __HAL_TIM_SET_PRESCALER macro.
    • Improvment of TIM DMA burst mode. Add 2 new API :
      • HAL_TIM_DMABurst_MultiWriteStart()
      • HAL_TIM_DMABurst_MultiReadStart()
    • Add BRK2 (Break input 2 event) interrupt handler.
    • Update IRQ handler to use correct defines (TIM_FLAG_xxxx instead of TIM_IT_xxxx) to clear flag.
+

LL Drivers changes

  • LL ADC
    • Set TEMPSENSOR_CAL1_TEMP value to 30°C as specified in datasheet.
  • LL DMA
    • Replace SET_BIT macro by WRITE_REG in LL_DMA_ClearFlag_xxx() as  DMA IFCR register is read only.
    • For better performances, CPAR and CMAR regsiters are updated by WRITE_REG macro instead of MODIFY_REG.
  • LL I2C
    • OA1EN bit of OAR1 register should be set only when own address different from 0 (0 reserved for General Call address).
  • LL RTC
    • Update LL_RTC_DATE_Get() function for better performances.
  • LL SPI
    • Remove LL_SPI_SR_UDR (available only for I2S feature).
  • LL_TIM
    • Add AutomaticOutput field initialization in LL_TIM_BDTR_StructInit().
    • Fix typo in __HAL_TIM_SET_PRESCALER macro.
    • Ensure +write operation of BKE and BKP bits is effective by adding fake read +operation to garantee 1 APB clock cycle before function exit.
    • Exchange behavior between LL_TIM_EnableUpdateEvent() and LL_TIM_DisableUpdateEvent().
  • LL UTILS
    • Update function UTILS_EnablePLLAndSwitchSystem() to use current AHB prescaler for sysclk frequency calculation.

V1.4.0 +/ 16-December-2016

Main changes +

  • Maintenance release to fix known defects and +enhancements implementation

HAL Drivers changes

  • + +Enhance HAL delay and time base implementation:
    • Add +new templates +stm32f0xx_hal_timebase_rtc_alarm_template.c, stm32f0xx_hal_timebase_rtc_wakeup_template.c +and stm32f0xx_hal_timebase_tim_template.c which can be used to override +the native +HAL time base functions (defined as weak) to use either RTC or +Timer as time +base tick source. For more details about the usage of these drivers, +please refer to HAL\HAL_TimeBase examples and FreeRTOS-based applications
  • The following changes done on the HAL drivers require an update on the application code based on HAL V1.3.0
    • HAL CEC driver:  Overall driver rework with compatibility break versus previous HAL version
      • Remove HAL CEC polling Process functions: HAL_CEC_Transmit() and HAL_CEC_Receive()
      • Remove +HAL CEC receive interrupt process function HAL_CEC_Receive_IT() +and enable the "receive"  mode during the Init phase
      • Rename HAL_CEC_GetReceivedFrameSize() funtion to HAL_CEC_GetLastReceivedFrameSize()
      • Add new HAL APIs: HAL_CEC_SetDeviceAddress() and HAL_CEC_ChangeRxBuffer()
      • Remove the 'InitiatorAddress' +field from the CEC_InitTypeDef structure and manage +it as a parameter in the HAL_CEC_Transmit_IT() function
      • Add new parameter 'RxFrameSize' in HAL_CEC_RxCpltCallback() function
      • Move CEC Rx buffer pointer from CEC_HandleTypeDef structure to CEC_InitTypeDef structure
    • HAL TIM driver : add one field (AutoReloadPreload) in TIM_Base_InitTypeDef structure

  • HAL Generic
    • Update HAL Driver compliancy with:
      • MISRA C 2004 rule 10.6 ('U' suffix applied to all constants of 'unsigned' type)
  • HAL CEC
    • Overall driver rework with break of compatibility with HAL V1.3.0
      • Remove the HAL CEC polling Process: HAL_CEC_Transmit() and HAL_CEC_Receive()
      • Remove the HAL CEC receive interrupt process (HAL_CEC_Receive_IT()) and manage the "Receive" mode enable within the Init phase
      • Rename HAL_CEC_GetReceivedFrameSize() function to HAL_CEC_GetLastReceivedFrameSize() function
      • Add new HAL APIs: HAL_CEC_SetDeviceAddress() and HAL_CEC_ChangeRxBuffer()
      • Remove the 'InitiatorAddress' +field from the CEC_InitTypeDef structure and manage +it as a parameter in the HAL_CEC_Transmit_IT() function
      • Add new parameter 'RxFrameSize' in HAL_CEC_RxCpltCallback() function
      • Move CEC Rx buffer pointer from CEC_HandleTypeDef structure to CEC_InitTypeDef structure
    • Update driver to implement the new CEC state machine:
      • Add new "rxState" field in CEC_HandleTypeDef structure to provide the CEC state information related to Rx Operations
      • Rename "state" field in CEC_HandleTypeDef structure to "gstate": CEC state information related to global Handle management and Tx Operations
      • Update CEC process to manage the new CEC states.
      • Update __HAL_CEC_RESET_HANDLE_STATE() macro to handle the new CEC state parameters (gState, rxState)
  • HAL UART/USART/IRDA/SMARTCARD
    • IRQ Handler global optimization 
    • New abort API: HAL_PPP_Abort(), HAL_PPP_Abort_IT()
    • Add error management in case of DMA transfer through + HAL_DMA_Abort_IT() and DMA XferAbortCallback()
    • Polling management update:
      • The user Timeout value must be estimated for the overall process +duration
  • HAL SPI
    • Overall driver optimization to improve performance in polling/interrupt mode to reach maximum peripheral frequency
      • Polling mode:
        • Replace the use of SPI_WaitOnFlagUnitTimeout() function by "if" statement to check on RXNE/TXE flage while transferring data
      •  Interrupt mode:
        • Minimize access on SPI registers
      • All modes:
        • Add the USE_SPI_CRC switch to minimize the number of statements when CRC calculation is disabled
        • Update timeout management to check on global processes
        • Update error code management in all processes
    • Fix regression in polling mode:
      • Add preparing data to transmit in case of slave mode in HAL_SPI_TransmitReceive() and HAL_SPI_Transmit()
    • Fix regression in interrupt mode:
      • Add a wait on TXE flag in SPI_CloseTx_ISR() and in SPI_CloseTxRx_ISR()
      • Add to manage properly the overrun flag in SPI_CloseRxTx_ISR() and SPI_CloseRx_ISR()
    • Prevent data packing mode +in reception for STM32F302xC, STM32F303xC, STM32F373xC, STM32F358xx, STM32F378xx
    • Add check of DMA handle definition before calling HAL_SPI_Receive_DMA, HAL_SPI_Transmit_DMA, HAL_SPI_TransmitReceive_DMA
    • Updated HAL Driver compliancy with MISRA C 2004 rules:
      • MISRA C 2004 rule 14.3 (a null statement shall only occur on a line by itself).
      • MISRA C 2004 rule 14.8 (statement forming the body of a switch, while, do … while or for statement shall be a compound statement).
  • HAL DMA
    • Global + driver code optimization to reduce memory footprint 
    • Add + new APIs HAL_DMA_RegisterCallback() and HAL_DMA_UnRegisterCallback to + register/unregister the different callbacks identified by the enum + typedef HAL_DMA_CallbackIDTypeDef
    • Add + new Error Code HAL_DMA_ERROR_NOT_SUPPORTED
    • Remove + DMA HAL_DMA_STATE_READY_HALF & HAL_DMA_STATE_ERROR states in + HAL_DMA_StateTypeDef
  • HAL I2C
    • Disable I2C_OARx_EN bit before any configuration in OAR1 or 2 in HAL_I2C_Init()
    • Move I2C_NO_OPTION_FRAME in private section
    • Update IS_I2C_FASTMODEPLUS macro. Add I2C_FMP_NOT_SUPPORTED definition
    • Update HAL_I2C_Master_Sequential_Transmit_IT() function (wrong state check)
    • Add I2C_FIRST_AND_NEXT_FRAME option for I2C Sequential Transfer
    • On slave, reset LISTEN_TX state in case of direction change
    • Remove GCC warnings
  • HAL TIM
    • API update : add one field (AutoReloadPreload) in TIM_Base_InitTypeDef structure in order to set ARPE +bit from TIMx_CR1 register
    • New +API : add 2 macros (__HAL_TIM_ENABLE_OCxPRELOAD() and  +__HAL_TIM_DISABLE_OCxPRELOAD()) in order to set OCxPE bit +from TIMx_CCMR1, TIMx_CCMR2 and TIMx_CCMR3 registers
    • Use MODIFY_REG macro to avoid wrong initialisation in ConfigBreakDeadTime()
    • Add TIM1 ETR remap enums for STM32F334xx devices
    • HAL_TIMEx_RemapConfig() prototype changed for STM32F334x8 device
    • Remove +TIM_CR2_OIS2N, TIM_CR2_OIS3, TIM_CR2_OIS3N, TIM_CR2_OIS4 managment for STM32F373xC and STM32F378xx devices
    • API update : Add __HAL_TIM_MOE_DISABLE_UNCONDITIONALLY() function to disable MOE bit without condition
  • HAL SMBUS
    • Remove useless XferSize field initialisation in  HAL_SMBUS_Slave_Transmit_IT()
    • Add +support of Zone read/write feature thanks to new XferOptions parameter +values SMBUS_OTHER_FRAME_NO_PEC, SMBUS_OTHER_FRAME_WITH_PEC, +SMBUS_OTHER_AND_LAST_FRAME_NO_PEC and +SMBUS_OTHER_AND_LAST_FRAME_WITH_PEC
  • HAL + PCD 
    • Updated HAL Driver compliancy with MISRA C 2004 rules : (10.3, 105)
      • MISRA C 2004 rule 10.3 (illegal explicit conversion from underlying MISRA type "unsigned int" to "uint32_t *").
      • MISRA C 2004 rule 10.5 (bitwise operators ~ and <<).
      • MISRA C 2004 rule 12.7 (bitwise operations not performed on signed integer types).
  • HAL PWR
    • Rename PWR_CR register defines to be aligned with STM32F3xx Reference Manual : SDADCxEN ==> ENSDx
  • HAL RCC
    • Rename RCC_CFGR register defines to be aligned with STM32F3xx Reference Manual : SDADCPRE ==> SDPRE
  • HAL CORTEX
    • Update HAL_MPU_Disable() to clear the whole control register. Also remove STATIC INLINE and move function to c file
  • HAL CAN
    • Add __HAL_UNLOCK() call when all mailboxes are busy
    • Add __HAL_CAN_CANCEL_TRANSMIT() call to abort transmission when timeout is reached
  • HAL ADC
    • Add ADC_EXTERNALTRIGINJECCONV_T2_CC1 and ADC_EXTERNALTRIGINJECCONV_T2_TRGO definitions
+

LL Drivers changes

  • LL COMP
    • Creation of generic defines for defines specific to COMP instances
    • Modify definition of LL_COMP_OUTPUT_TIM4_IC2_COMP4, LL_COMP_OUTPUT_TIM4_IC3_COMP5 and LL_COMP_OUTPUT_TIM4_IC4_COMP6 literals
    • Rename +LL_COMP_OUTPUT_TIM1_IC4_COMP2 and LL_COMP_OUTPUT_TIM1_IC4_COMP1_2 in +LL_COMP_OUTPUT_TIM2_IC4_COMP2 and LL_COMP_OUTPUT_TIM2_IC4_COMP1_2
    • Correct COMP inputs definition
  • LL EXTI
    • Move +LL_EXTI_LINE_18, LL_EXTI_LINE_33, LL_EXTI_LINE_34, LL_EXTI_LINE_35, +LL_EXTI_LINE_36, LL_EXTI_LINE_37, LL_EXTI_LINE_38 and LL_EXTI_LINE_39 +defines under compilation switch (availability depends on devices)
  • LL PWR
    • Rename PWR_CR register defines to be aligned with STM32F3xx Reference Manual : SDADCxEN ==> ENSDx
  • LL RCC
    • Rename RCC_CFGR register defines to be aligned with STM32F3xx Reference Manual : SDADCPRE ==> SDPRE
  • LL SYSTEM
    • Add LL_SYSCFG_EnableIT_FPU_xxx functions
    • Replace +LL_SYSCFG_TIM18_RMP_DMA2_CH4 and LL_SYSCFG_TIM18_RMP_DMA1_CH4 by +LL_SYSCFG_TIM18_RMP_DMA2_CH5 and LL_SYSCFG_TIM18_RMP_DMA1_CH5
  • LL GPIO
    • Remove LL_GPIO_SPEED_FREQ_VERY_HIGH (GPIO_SPEED_FREQ_VERY_HIGH does not exist for STM32F3xx serie)
  • LL_TIM
    • Rename +LL_TIM_TIM16_TI1_RMP defines : LL_TIM_TIM16_TI1_RMP_GPIO, +LL_TIM_TIM16_TI1_RMP_RTC, LL_TIM_TIM16_TI1_RMP_HSE_32, +LL_TIM_TIM16_TI1_RMP_MCO
    • Remove +TIM_CR2_OIS2N, TIM_CR2_OIS3, TIM_CR2_OIS3N, TIM_CR2_OIS4 managment for STM32F373xC and STM32F378xx devices
    • Move +LL_TIM_OCREF_CLR_INT_OCREF_CLR and LL_TIM_OCREF_CLR_INT_ETR +defines under compilation switch (availability depends on devices)
    • New APIs to insure BDTR register initialization in a single write operation 
      • LL_TIM_BDTR_StructInit()
      • LL_TIM_BDTR_Init()
  • LL USART
    • Replace POSITION_VAL(xxx) macro by corresponding CMSIS_Pos definitions
  • LL HRTIM
    • Replace POSITION_VAL(xxx) macro by corresponding CMSIS_Pos definitions
    • Add shift operation in HRTIM_TIM_SetCompareMode()
  • LL_I2C
    • Replace POSITION_VAL(xxx) macro by corresponding CMSIS_Pos definitions

V1.3.0 +/ 01-July-2016

+

Main +Changes

  • First official release supporting the Low Level drivers for the STM32F3xx serie:
    • Low Layer drivers APIs provide register level programming:
      they require deep knowledge of peripherals described in STM32F3xx Reference Manual.
    • Low Layer drivers are available for ADC, COMP, Cortex, CRC, DAC, DMA, EXTI, GPIO, HRTIM, I2C, IWDG, OPAMP, PWR,
      RCC, RTC, SPI, TIM, USART and WWDG peripherals
      and additional Low Level Bus, System and Utilities APIs.
    • Low +Layer drivers APIs are implemented as static inline function in new +Inc/stm32f3xx_ll_ppp.h files for PPP peripherals, there is no +configuration file and each stm32f3xx_ll_ppp.h file must be included in +user code.
  • Maintenance release to fix known defects and enhancements implementation.
  • HAL generic
    • Updated.
  • HAL ADC
    • Updated +assert_param within HAL_ADCEx_MultiModeConfigChannel() function to +avoid issue during ADC configuration change from multimode to +independent mode.
  • HAL CRC
    • Updated HAL_CRC_DeInit() function (restored IDR Register to Reset value).
  • HAL GPIO
    • Updated definition of IS_GPIO_PIN private macro to cover full u32 bits.
  • HAL HRTIM
    • Updated HAL HRTIM Driver compliancy with MISRA C 2004 rules:
      • MISRA C 2004 rule 12.5 (operands of a logical && or || shall be primary-expressions).
      • MISRA C 2004 rule 15.3 (final clause of a switch statement shall be the default clause).
  • HAL I2C
    • Updated I2C driver documentation concerning I2C address management.
  • HAL IWDG
    • New simplified HAL IWDG driver: removed HAL_IWDG_Start(), HAL_IWDG_MspInit() and HAL_IWDG_GetState() APIs.
    • The API functions are: 
      • HAL_IWDG_Init(): this function insures the configuration and the start of the IWDG counter.
      • HAL_IWDG_Refresh(): this function insures the reload of the IWDG counter.
  • HAL PWR
    • Aligned Power Wake-Up pins EWUPx definitions on CMSIS definitions.
  • HAL RTC
    • Updated HAL_RTCEx_SetWakeUpTimer_IT() function by adding clear of Wake-Up flag before enabling the interrupt.
  • HAL SMBUS
    • Updated SMBUS driver documentation concerning SMBUS address management.
  • HAL SDADC
    • Updated HAL SDADC Driver compliancy with MISRA C 2004 rules:
      • MISRA C 2004 rule 10.3 (illegal explicit conversion from type "unsigned int" to "uint16_t *).
  • HAL SPI
    • Updated __SPI_HandleTypeDef definition by using __IO uint16_t type for TxXferCount and RxXferCount.
    • Updated +SPI_2linesTxISR_8BIT() and SPI_2linesTxISR_16BIT() functions: added +return so that SPI_2linesTxISR_8BITCRC() or SPI_2linesTxISR_16BITCRC() +function is called from HAL_SPI_TransmitReceive_IT()
      when CRC is activated.
    • Updated SPI Driver compliancy with MISRA C 2004 rule 5.2 (identifiers in an inner scope shall not
      use the same name as an identifier in an outer scope)
      .
  • HAL WWDG
    • New simplified HAL WWDG driver: removed HAL_WWDG_Start(), HAL_WWDG_Start_IT(), HAL_WWDG_MspDeInit() and HAL_WWDG_GetState() APIs.
    • Updated HAL_WWDG_Refresh() API to remove counter parameter.
    • New field EWIMode in WWDG_InitTypeDef to specify need for Early Wakeup Interrupt.
    • The +API functions are: HAL_WWDG_Init(), HAL_WWDG_MspInit(), +HAL_WWDG_Refresh(), HAL_WWDG_IRQHandler() and +HAL_WWDG_EarlyWakeupCallback().

V1.2.1 +/ 29-April-2016

+

Main +Changes

  • Maintenance release to fix known defects and enhancements implementation.
  • HAL generic
    • Updated HAL Driver compliancy with MISRA C 2004 rules:
      • MISRA C 2004 rule 10.6 ('U' suffix applied to all constants of 'unsigned' type).
      • MISRA C 2004 rule 10.5 (bitwise operators ~ and <<).
      • MISRA C 2004 rule 12.6 (operands of logical operators (&&, || and !) should be effectively Boolean).
      • MISRA C 2004 rule 12.7 (bitwise operations not performed on signed integer types).
      • MISRA C 2004 rule 14.3 (a null statement shall only occur on a line by itself).
      • MISRA C 2004 rule 14.8 (statement forming the body of a switch, while, do … while or for statement shall be a compound statement).
      • MISRA C 2004 rule 15.3 (final clause of a switch statement shall be the default clause).
      • MISRA C 2004 rule 16.4 (identifiers used in the declaration and definition of a function shall be identical).
    • Updated HAL weak empty callbacks to prevent unused argument compilation warnings.
    • Updated stm32f3xx_hal_conf.h files:
      • Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms.
  • HAL
    • Changed uwTick to global to allow overwrite of HAL_IncTick().
  • HAL COMP
    • Added delay in COMP startup time required to reach propagation delay specification.
    • Added missing  __HAL_UNLOCK, __HAL_LOCK in HAL_COMP_Start().
    • Modified COMP_INVERTINGINPUT_SELECTION() macro as COMP inverting inputs selection, depends on COMPx instance.
  • HAL DAC
    • Updated DAC functions after DAC_CR_BOFFx/DAC_CR_OUTENx bit definition updates.
  • HAL DMA
    • Added __HAL_DMA_GET_COUNTER() macro returning the number of remaining data units in the current DMA Channel transfer.
    • Provided +new function HAL_DMA_Abort_IT() to abort current DMA transfer +under interrupt mode without polling for DMA enable bit.
  • HAL GPIO
    • Added macros to manage Fast Mode Plus on GPIOs.
  • HAL FMC
    • Removed private macro IS_FMC_PAGESIZE not supported by STM32F3xx serie.
  • HAL I2C
    • Aligned I2C driver with new state machine definition.
    • Updated __HAL_I2C_DISABLE_IT macro.
    • Used macro definition for I2C instances supporting Wakeup from Stop mode.
    • Added support of repeated start feature in case of multimaster mode (allow master to keep I2C communication with slave).
    • Updated WaitOnFlag management (timeout measurement should be always cumulative).
    • Optimized HAL_I2C_XX_IRQHandler() functions (read status registers only once).
    • Reworked DMA end process and I2C error management during DMA transfer.
    • Modified HAL_I2C_Master_Transmit to handle sending data of size 0.
    • Updated +DMA Abort management: used new HAL_DMA_Abort() function and called +HAL_I2C_ErrorCallback() when errors occur during DMA transfer.
  • HAL I2S
    • Removed support of I2S full-duplex feature on STM32F301x8 device.
  • HAL IRDA
    • Reviewed IRDA state machine to avoid cases where IRDA state is overwritten by IRDA IRQ.
    • Modified EIE bit setting in Tx and Rx transfers (Interrupt mode).
    • Modified IRDA_Receive_IT() to execute the RX flush request only in case no data is read from RDR.
    • Updated IRDA_SetConfig() function following UART Baudrate calculation update.
  • HAL FMC
    • Updated FMC_NORSRAM_Init() function (BurstAccessMode field configuration).
    • Added FMC_BCR1_CCLKEN in the BCR register clear mask used for FMC_NORSRAM_Init().
  • HAL OPAMP
    • Updated definitions of OPAMP Non Inverting Input constants.
  • HAL RCC
    • Performed optimizations for internal oscillators and PLL startup time.
    • Performed optimizations for HAL_RCC_ClockConfig(), HAL_RCCEx_PeriphCLKConfig functions.
    • Modified reset of Backup domain only if the RTC Clock source selection is modified from reset value.
    • Updated HAL_RCC_OscConfig() function (Reset HSEON/LSEON and HSEBYP/LSEBYP bits before configuring the HSE/LSE).
    • Corrected updates of SystemCoreClock variable within the HAL drivers.
    • Corrected invertion in LSE drive capability Bit definition.
    • Modified AHBPrescTable and APBPrescTable in HAL.
    • Removed RCC_CFGR_PLLNODIV bit definition from STM32F358xx, STM32F303xC and STM32F302xC devices.
    • Removed RCC_CSR_VREGRSTF bit definition in RCC_CSR register for STM32F303xC and STM32F303xE devices.
    • Removed USART2 and USART3 clock switch in RCC_CFGR3 register not supported by STM32F303x8, STM32F334x8
      and STM32F328xx devices and for STM32F301x8, STM32F302x8 and STM32F318xx devices.
    • Removed +RCC_CSR_V18PWRRSTF bit definition in RCC_CSR register not supported by +STM32F318xx, STM32F328xx, STM32F358xx, STM32F378xx and STM32F398xx +devices.
    • Removed flag RCC_FLAG_RMV which is write only.
    • Added RCC_CFGR_xxxx_BITNUMBER definitions for portability between STM32 series.
    • Updated HAL_RCC_OscConfig() function to enable PWR only if necessary for LSE configuration.
  • HAL RTC
    • Added missing Tamper definitions (RTC_TAFCR register).
  • HAL SMARTCARD
    • Reviewed SMARTCARD state machine to avoid cases where SMARTCARD state is overwritten by SMARTCARD IRQ.
    • Modified SMARTCARD_Receive_IT() to execute the RX flush request only in case no data is read from RDR.
    • Added SMARTCARD_STOPBITS_0_5 definition used for smartcard mode.
    • Updated SMARTCARD_SetConfig() function following UART Baudrate calculation update.
  • HAL SPI
    • Updated HAL_SPI_TransmitReceive() function in slave mode to receive correctly the CRC when NSS pulse activated.
    • Added missing __IO in SPI_HandleTypeDef definition.
    • Updated IS_SPI_CRC_POLYNOMIAL macro definition as polynomial value should be odd only.
  • HAL TIM
    • Updated HAL_TIM_ConfigOCrefClear() function to manage correctly TIM state (BUSY, READY).
    • Used IS_TIM_HALL_INTERFACE_INSTANCE macro instead of IS_TIM_XOR_INSTANCE macro in
      HAL_TIMEx_HallSensor_xxx() functions.
    • Updated TIM_SLAVEMODE constants definitions using CMSIS bit definitions.
  • HAL TSC
    • Updated IO default state management.
  • HAL UART-USART
    • Updated UART Baudrate calculation (UART_DIV_SAMPLING8() and UART_DIV_SAMPLING16() macros).
    • Updated USART_SetConfig() function following UART Baudrate calculation update.
    • Reviewed UART state machine to avoid cases where UART state is overwritten by UART IRQ.
    • Removed USART2 and USART3 clock switch, not supported by STM32F303x8, STM32F334x8 and STM32F328xx devices
      and for STM32F301x8, STM32F302x8 and STM32F318xx devices.
    • Modified UART_Receive_IT() to execute the RX flush request only in case no data is read from RDR.
    • Corrected macro used in assert_param of HAL_LIN_SendBreak() function.
    • Added UART_STOPBITS_0_5/USART_STOPBITS_0_5 definitions used for synchronous mode.
  • HAL USB
    • Corrected double buffer implementation in PCD_SET_EP_DBUF1_CNT() macro.
  • HAL WWDG
    • Aligned WWDG registers bits naming between all STM32 series.

+ + + +

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 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

+
+

+
+
+

 

+
\ No newline at end of file diff --git a/lib/main/STM32F3/Middlewares/ST/STM32_USB_Device_Library/Release_Notes.html b/lib/main/STM32F3/Middlewares/ST/STM32_USB_Device_Library/Release_Notes.html index a23d96df9..f38cd5575 100644 --- a/lib/main/STM32F3/Middlewares/ST/STM32_USB_Device_Library/Release_Notes.html +++ b/lib/main/STM32F3/Middlewares/ST/STM32_USB_Device_Library/Release_Notes.html @@ -1,1267 +1,1267 @@ - - - - - - - - - - - - - - - - - - -Release Notes for STM32 USB Device Library - - - - - - - - -
- -

 

- -
- - - - - -
- - - - - - - -
-

Back to Release page

-
-

Release Notes for STM32 USB Device Library

-

Copyright - 2015 STMicroelectronics

-

-
-

 

- - - - -
-

Update History

-

V2.4.2 / 11-December-2015
-

- - - - - - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - - - - - -
    -
  • CDC Class
    • usbd_cdc.c: change #include "USBD_CDC.h" by #include "usbd_cdc.h"
    -
-
- -

V2.4.1 / 19-June-2015
-

- - - - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - - - -
    -
  • CDC Class
  • -
      -
    • usbd_cdc.c: comments update
    • -
    -
  • MSC Class
  • -
      -
    • usbd_msc_bot.h: update to be C++ compliant
    • -
    -
  • AUDIO Class
  • -
      -
    • usbd_audio.c: fix issue when Host sends GetInterface command it gets a wrong value
    • -
    -
      -
    • usbd_audio.c: remove useless management of DMA half transfer
      -
    • -
    -
- - - -

V2.4.0 / 28-February-2015
-

- - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - -
    -
  • Core Driver
  • -
      -
    • Add support of Link Power Management (LPM): add new API GetBOSDescriptor(), that is used only if USBD_LPM_ENABLED switch is enabled in usbd_conf.h file
    • usbd_core.c: -Fix bug of unsupported premature Host Out stage during data In stage -(ie. when endpoint 0 maximum data size is 8 and Host requests -GetDeviceDescriptor for the first time)
    • usbd_ctlreq.c: Fix bug of unsupported Endpoint Class requests (ie. Audio SetCurrent request for endpoint sampling rate setting)
    • -
    -
  • HID Class
  • -
      -
    • Updating Polling time API USBD_HID_GetPollingInterval() to query this period for HS and FS
    • usbd_hid.c: Fix USBD_LL_CloseEP() function call in USBD_HID_DeInit() replacing endpoint size by endpoint address.
    • -
  • CDC Class
    • usbd_cdc.c: 
      • Add missing GetInterface request management in USBD_CDC_Setup() function
      • Update -USBD_CDC_Setup() function to allow correct user implementation of -CDC_SET_CONTROL_LINE_STATE and similar no-data setup requests.
    -
- -

V2.3.0 / 04-November-2014
-

- - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - -
    -
  • Update all drivers to be C++ compliant
    -
  • -
  • CDC Class
  • -
      -
    • usbd_cdc.c: fix clear flag issue in USBD_CDC_TransmitPacket() function
    • -
    -
      -
    • usbd_cdc_if_template.c: update TEMPLATE_Receive() function header comment
      -
    • -
    -
  • Miscellaneous source code comments update
  • -
-

V2.2.0 / 13-June-2014

- - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - -
    -
  • Source code comments review and update
  • -
  • HID class
  • -
      -
    • Remove unused API USBD_HID_DeviceQualifierDescriptor()
    • -
    • Add a new API in the HID class to query the poll time USBD_HID_GetPollingInterval()
      -
    • -
    - -
  • CDC class
  • -
      -
    • Bug fix: missing handling ZeroLength Setup request
    • -
    -
  • All classes
    -
  • - -
      -
    • Add alias for the class definition, it's defined as macro with capital letter
    • -
    -
-
ex. for the HID, the USBD_HID_CLASS macro is defined this way #define USBD_HID_CLASS  &USBD_HID
  and the application code can use the previous definition: &USBD_HID ex. USBD_RegisterClass(&USBD_Device, &USBD_HID) or the new USBD_HID_CLASS ex. USBD_RegisterClass(&USBD_Device, USBD_HID_CLASS)
-

V2.1.0 / 22-April-2014

- - - - - - - - -

Main -Changes

- - - - - - - - - - - -
    -
  • usbd_conf_template.c: update file with the right content (it was using MSC memory management layer)
    -
  • -
  • usbd_conf_template.h: change include of stm32f4xx.h by stm32xxx.h and add comment to inform user to adapt it to the device used
  • -
  • Several enhancements in CustomHID class
  • -
      -
    • Update the Custom HID class driver to simplify the link with user processes
    • -
    • Optimize the Custom HID class driver and reduce footprint
    • -
    • Add USBD_CUSTOM_HID_RegisterInterface() API to link user process to custom HID class
    • -
    • Add Custom HID interface template file usbd_customhid_if_template.c/h
    • -
    -
  • Miscellaneous comments update
    -
  • - -
- -

V2.0.0 / 18-February-2014

- - - - - -

Main -Changes

- - - - - - - - - -
    -
  • Major update -based on STM32Cube specification: Library Core, Classes architecture and APIs -modified vs. V1.1.0, and thus the 2 versions are not compatible.
    -
  • This version has to be used only with STM32Cube based development
  • -
- - -

V1.1.0 / 19-March-2012

-

Main -Changes

- -
  • Official support of STM32F4xx devices
  • All source files: license disclaimer text update and add link to the License file on ST Internet.
  • Handle test mode in the set feature request
  • Handle dynamically the USB SELF POWERED feature
  • Handle correctly the USBD_CtlError process to take into account error during Control OUT stage
  • Miscellaneous bug fix

V1.0.0 / 22-July-2011

Main -Changes

-
  • First official version for STM32F105/7xx and STM32F2xx devices

-

License

-

Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this package except in compliance with the License. You may obtain a copy of the License at:


Unless -required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See -the License for the specific language governing permissions and -limitations under the License.
-
-
-
-

For - complete documentation on STM32 - Microcontrollers visit www.st.com/STM32

-
-

-
- -
- -

 

- -
- + + + + + + + + + + + + + + + + + + +Release Notes for STM32 USB Device Library + + + + + + + + +
+ +

 

+ +
+ + + + + +
+ + + + + + + +
+

Back to Release page

+
+

Release Notes for STM32 USB Device Library

+

Copyright + 2015 STMicroelectronics

+

+
+

 

+ + + + +
+

Update History

+

V2.4.2 / 11-December-2015
+

+ + + + + + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + + + + + +
    +
  • CDC Class
    • usbd_cdc.c: change #include "USBD_CDC.h" by #include "usbd_cdc.h"
    +
+
+ +

V2.4.1 / 19-June-2015
+

+ + + + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + + + +
    +
  • CDC Class
  • +
      +
    • usbd_cdc.c: comments update
    • +
    +
  • MSC Class
  • +
      +
    • usbd_msc_bot.h: update to be C++ compliant
    • +
    +
  • AUDIO Class
  • +
      +
    • usbd_audio.c: fix issue when Host sends GetInterface command it gets a wrong value
    • +
    +
      +
    • usbd_audio.c: remove useless management of DMA half transfer
      +
    • +
    +
+ + + +

V2.4.0 / 28-February-2015
+

+ + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + +
    +
  • Core Driver
  • +
      +
    • Add support of Link Power Management (LPM): add new API GetBOSDescriptor(), that is used only if USBD_LPM_ENABLED switch is enabled in usbd_conf.h file
    • usbd_core.c: +Fix bug of unsupported premature Host Out stage during data In stage +(ie. when endpoint 0 maximum data size is 8 and Host requests +GetDeviceDescriptor for the first time)
    • usbd_ctlreq.c: Fix bug of unsupported Endpoint Class requests (ie. Audio SetCurrent request for endpoint sampling rate setting)
    • +
    +
  • HID Class
  • +
      +
    • Updating Polling time API USBD_HID_GetPollingInterval() to query this period for HS and FS
    • usbd_hid.c: Fix USBD_LL_CloseEP() function call in USBD_HID_DeInit() replacing endpoint size by endpoint address.
    • +
  • CDC Class
    • usbd_cdc.c: 
      • Add missing GetInterface request management in USBD_CDC_Setup() function
      • Update +USBD_CDC_Setup() function to allow correct user implementation of +CDC_SET_CONTROL_LINE_STATE and similar no-data setup requests.
    +
+ +

V2.3.0 / 04-November-2014
+

+ + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + +
    +
  • Update all drivers to be C++ compliant
    +
  • +
  • CDC Class
  • +
      +
    • usbd_cdc.c: fix clear flag issue in USBD_CDC_TransmitPacket() function
    • +
    +
      +
    • usbd_cdc_if_template.c: update TEMPLATE_Receive() function header comment
      +
    • +
    +
  • Miscellaneous source code comments update
  • +
+

V2.2.0 / 13-June-2014

+ + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + +
    +
  • Source code comments review and update
  • +
  • HID class
  • +
      +
    • Remove unused API USBD_HID_DeviceQualifierDescriptor()
    • +
    • Add a new API in the HID class to query the poll time USBD_HID_GetPollingInterval()
      +
    • +
    + +
  • CDC class
  • +
      +
    • Bug fix: missing handling ZeroLength Setup request
    • +
    +
  • All classes
    +
  • + +
      +
    • Add alias for the class definition, it's defined as macro with capital letter
    • +
    +
+
ex. for the HID, the USBD_HID_CLASS macro is defined this way #define USBD_HID_CLASS  &USBD_HID
  and the application code can use the previous definition: &USBD_HID ex. USBD_RegisterClass(&USBD_Device, &USBD_HID) or the new USBD_HID_CLASS ex. USBD_RegisterClass(&USBD_Device, USBD_HID_CLASS)
+

V2.1.0 / 22-April-2014

+ + + + + + + + +

Main +Changes

+ + + + + + + + + + + +
    +
  • usbd_conf_template.c: update file with the right content (it was using MSC memory management layer)
    +
  • +
  • usbd_conf_template.h: change include of stm32f4xx.h by stm32xxx.h and add comment to inform user to adapt it to the device used
  • +
  • Several enhancements in CustomHID class
  • +
      +
    • Update the Custom HID class driver to simplify the link with user processes
    • +
    • Optimize the Custom HID class driver and reduce footprint
    • +
    • Add USBD_CUSTOM_HID_RegisterInterface() API to link user process to custom HID class
    • +
    • Add Custom HID interface template file usbd_customhid_if_template.c/h
    • +
    +
  • Miscellaneous comments update
    +
  • + +
+ +

V2.0.0 / 18-February-2014

+ + + + + +

Main +Changes

+ + + + + + + + + +
    +
  • Major update +based on STM32Cube specification: Library Core, Classes architecture and APIs +modified vs. V1.1.0, and thus the 2 versions are not compatible.
    +
  • This version has to be used only with STM32Cube based development
  • +
+ + +

V1.1.0 / 19-March-2012

+

Main +Changes

+ +
  • Official support of STM32F4xx devices
  • All source files: license disclaimer text update and add link to the License file on ST Internet.
  • Handle test mode in the set feature request
  • Handle dynamically the USB SELF POWERED feature
  • Handle correctly the USBD_CtlError process to take into account error during Control OUT stage
  • Miscellaneous bug fix

V1.0.0 / 22-July-2011

Main +Changes

+
  • First official version for STM32F105/7xx and STM32F2xx devices

+

License

+

Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this package except in compliance with the License. You may obtain a copy of the License at:


Unless +required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See +the License for the specific language governing permissions and +limitations under the License.
+
+
+
+

For + complete documentation on STM32 + Microcontrollers visit www.st.com/STM32

+
+

+
+ +
+ +

 

+ +
+ \ No newline at end of file diff --git a/lib/main/STM32F4/Drivers/STM32F4xx_StdPeriph_Driver/Release_Notes.html b/lib/main/STM32F4/Drivers/STM32F4xx_StdPeriph_Driver/Release_Notes.html index 9426a126e..52d72b227 100644 --- a/lib/main/STM32F4/Drivers/STM32F4xx_StdPeriph_Driver/Release_Notes.html +++ b/lib/main/STM32F4/Drivers/STM32F4xx_StdPeriph_Driver/Release_Notes.html @@ -1,1145 +1,1145 @@ - - - - - - - -Release Notes for STM32F4xx Standard Peripherals Library Drivers - - - - - -
- -

 

- -
- - - - - -
- - - - - - - -
-

Back to Release page

-
-

Release Notes for STM32F4xx Standard - Peripherals  Drivers

-

Copyright - 2015 STMicroelectronics

-

-
-

 

- - - - -
-

Contents

-
    -
  1. STM32F4xx Standard Peripherals Library Drivers - update History
  2. -
  3. License
  4. -
-

STM32F4xx - Standard Peripherals Library Drivers  update History

V1.6.1 / 21-October-2015

Main -Changes

- - - -
  • stm32f4xx_rcc.c/h update
    • Update PLLN, PLLI2SN and PLLSAIN min value to reach 50 instead of 192.
  • stm32f4xx_dsi.c/h update
    • Update TCCR register assigned value in HAL_DSI_ConfigHostTimeouts() function
    • Update WPCR register assigned value in -HAL_DSI_Init(), HAL_DSI_SetSlewRateAndDelayTuning(), HAL_DSI_SetSlewRateAndDelayTuning(), HAL_DSI_SetLowPowerRXFilter() / -HAL_DSI_SetSDD(), HAL_DSI_SetLanePinsConfiguration(), -HAL_DSI_SetPHYTimings(), HAL_DSI_ForceTXStopMode(), -HAL_DSI_ForceRXLowPower(), HAL_DSI_ForceDataLanesInRX(), -HAL_DSI_SetPullDown() and HAL_DSI_SetContentionDetectionOff() functions
    • Update DSI_HS_PM_ENABLE define value
    • Implement -workaround for the hardware limitation: “The time to activate the clock -between HS transmissions is not calculated correctly”
    •  Rename DSI_ConfigLowPowerCommand() by DSI_ConfigCommand(): -this API can be used in normal and low power modes
  • stm32f4xx_fmc.c/h update
    • Remove the Clock Division and Data Latency configuration for NOR/SRAM extended mode
    • Add the clear sequence before writing on the BWTR -register for NOR/SRAM extended mode
  • stm32f4xx_fsmc.c/h update
    • Remove the Clock Division and Data Latency configuration for NOR/SRAM extended mode

-

V1.6.0 / 10-July-2015

Main -Changes

- - - -
  • Add support of STM32F410xx, STM32F469xx and STM32F479xx devices
  • Add new driver for LPTIM, DSI peripherals 
  • Update the system drivers (RCC, PWR, FLASH, GPIO and SYSCFG) to support the new STM32F410xx, STM32F469xx and STM32F479xx features

V1.5.1 / 22-May-2015

Main -Changes

- - - -
  • Update QSPI, FMPI2C, CEC and SPDIFRX drivers to compile only when the STM32F446xx device is selected
  • stm32f4xx_fmpi2c.c:
    •  Correct the name of the header file to be included, use lowercase instead of uppercase

V1.5.0 / 06-March-2015

Main -Changes

- - - -
  • Add support of STM32F446xx devices
  • Add new driver for QSPI, FMPI2C, CEC and SPDIFRX peripherals 
  • Update the system drivers (RCC, PWR, FLASH, GPIO and SYSCFG) to support the new STM32F446xx features

V1.4.0 / 04-August-2014

Main -Changes

- - - -
  • Add support of STM32F411xExx devices
    • stm32f4xx_rcc.c/.h:
      •  Update RCC_PLLI2SConfig() function to configure the new I2S parameter: PLLI2SM
      •  Add new defines for LSE mode: RCC_LSE_LOWPOWER_MODE and RCC_LSE_HIGHDRIVE_MODE
      •  Add new function to configure LSE mode: RCC_LSEModeConfig()
    • -stm32f4xx_flash.c/.h:
      • Update IS_FLASH_ADDRESS() macro
      -
    • stm32f4xx_gpio.c/.h: -
      •  Add new defines for the new alternate functions
      -
    • stm32f4xx_flash_ramfunc.c/.h: -
      • Add -new driver for ram functions
      -
    • stm32f4xx_pwr.c/.h: -
      • Fix PWR_EnterSTANDBYMode() to not -clear Wakeup flag (WUF): this flag need to be cleared at application level -before to call this function.
      •  Add new function to ENABLE/DISABLE the main regulator low voltage: PWR_MainRegulatorLowVoltageCmd()
      •  Add new function to ENABLE/DISABLE the low regulator low voltage: PWR_LowRegulatorLowVoltageCmd()
  • Limitation Fix:
    • stm32f4xx_spi.c/h
      • Update I2S_Init() to support HSI oscillator as PLL source.
    • stm32f4xx_gpio.c/h
      • Update assert macro IS_GPIO_AF() macro to work as expected
    • stm32f4xx_fmc.c/h and stm32f4xx_fsmc.c/h
      • Update the FSMC_NORSRAMStructInit() function to point the FSMC_DefaultTimingStruct and FSMC_DefaultTimingStruct parameters on a default const structure.

V1.3.0 / 08-November-2013

Main -Changes

- - - -
  • Add support of STM32F401xExx devices
  • stm32f4xx_gpio.c/h
    • Update - GPIOSpeed_TypeDef structure’s fields name to be in line with GPIO out - speed definition in the product Reference Manual
    • Add - a legacy defines to keep compatibility with previous version
  • stm32f4xx_flash.c/h
    • File’s header comments: update - description of the maximum AHB frequency vs. voltage scaling - configuration
-

V1.2.1 / 19-September-2013

-

Main -Changes

- -
  • - -

    stm32f4xx_pwr.c/.h 

    • - -

      Add -new function to configure the Under-Drive STOP Mode : PWR_EnterUnderDriveSTOPMode(uint32_t -PWR_Regulator, uint8_t PWR_STOPEntry) only used in case of STM32F427/437/429/439xx devices.

      -

V1.2.0 / 11-September-2013

-

Main -Changes

- -
  • - -

    Add -support of STM32F429/439xx and STM32F401xCxx devices

  • Update definition of STM32F427/437xx devices : extension -of the features to include system clock up to 180MHz, dual bank Flash, reduced -STOP Mode current, SAI, PCROP, SDRAM and DMA2D
  • Add drivers for new -peripherals of STM32F4xx STM32F427/437xx and STM32F429/439xx devices: -
    • stm32f4xx_dma2d.h/.c -
    • stm32f4xx_fmc.h/.c -
    • stm32f4xx_ltdc.h/.c -
    • stm32f4xx_sai.h/.c
  • - -

    stm32f4xx_adc.c/.h 

    • Update -the Temperature sensor channel for STM32F427/STM32F437x/STM32F429x/STM32F439x -devices from Channel 16 to Channel 18
    • - - - -

      Add -a note in ADC_VBATCmd() header function to inform that the Voltage measured is -VBAT/2 in case of STM3240xxx/41xxx and VBAT/4 in case of STM32F42xxx/43xxx.

    • In -ADC_GetSoftwareStartConvStatus() function, replace "ADC_CR2_JSWSTART" -by "ADC_CR2_SWSTART"

  • stm32f4xx_flash.c/.h
    • Update -the header file description, add the table of number of wait states -according to system frequency selected for all STM32F4xx family devices
    • Update FLASH_EraseAllSectors() function to support the erase for all sectors within Bank1 and Bank2 in case of STM32F42/43xxx devices
    • Add new FLASH Latency values: FLASH_Latency_8, FLASH_Latency_9, FLASH_Latency_10, FLASH_Latency_11, FLASH_Latency_12, FLASH_Latency_13, FLASH_Latency_14, FLASH_Latency_15.
    • Add new flag error in FLASH_Status structure: " FLASH_ERROR_RD"
    • Add new functions: 
      • FLASH_EraseAllBank1Sectors(): mass erase in bank 1 (Half mass erase)
      • FLASH_EraseAllBank2Sectors(): mass erase in Bank 2 (Half mass erase)
      • FLASH_OB_BootConfig(): configure Dual bank boot mode
      • FLASH_OB_PCROPSelectionConfig(): select PCROP feature
      • FLASH_OB_WRP1Config(): configure write protection from Sector 12 to sector 23
      • FLASH_OB_PCROPConfig(): configure PC read/write protection from Sector 0 to sector 11
      • FLASH_OB_PCROP1Config(): configure PC read/write protection from Sector12 to sector23
      • FLASH_OB_GetWRP1(): Read the write protected sectors from 12 to 23
      • FLASH_OB_GetPCROP(): Read the PC read/write protected sectors from 0 to 11
      • FLASH_OB_GetPCROP1(): Read the PC read/write protected sectors from 12 to 23
  • stm32f4xx_gpio.c/.h
    • Update GPIO_DeInit() function : Add GPIOJ, GPIOK clock reset/enable
    • Add a new alternate function for I2C2 and I2C3 :
      • #define -GPIO_AF9_I2C2          -((uint8_t)0x09)  /* I2C2 Alternate Function mapping */
      • #define -GPIO_AF9_I2C3          -((uint8_t)0x09)  /* I2C3 Alternate Function mapping */
    • Update all functions header -comments.
  • stm32f4xx_rcc.c/.h
    • Add new definitions for new -peripherals: SAI1, LTDC, FMC
    • Add a new parameter in RCC_PLLI2SConfig() function : PLLI2SQ to specifies the division factor for SAI1 clock
    • Add new functions: 
      • RCC_PLLSAIConfig(), RCC_PLLSAICmd()PLL SAI Clock configuration
      • Add new function RCC_SAICLKConfig()SAI clock division factors configuration
      • RCC_LCDCLKConfig(): LCD clock division factors configuration
  • stm32l1xx_syscfg.c/.h
    • Add new SYSCFG port sources configurations : EXTI_PortSourceGPIOJ, EXTI_PortSourceGPIOK -
    • Add new function SYSCFG_MemorySwappingBank(): swap between bank 1 and Bank 2
  • - -

    stm32f4xx_pwr.c/.h - 

    • - - - -

      Add -more details and update comments in functions and groups description

    • - -

      Add the following functions to -configure the Over-drive and Under-drive Modes :

      • PWR_OverDriveCmd()

      • - -

        PWR_OverDriveSWCmd()

      • PWR_UnderDriveCmd()

V1.1.0 / -11-January-2013

-

Main -Changes

-
  • Official release for STM32F427x/437x devices. -
  • stm32f4xx_cryp.c/.h -
    • Update CRYP_Init() function : add the support -for new algorithms (GCM/CCM). -
    • Add new function : CRYP_PhaseConfig() used for new AES-GCM and -AES-CCM algorithms. -
    • CRYP_InitTypeDef structure : update all -structure fields from uint16_t to uint32_t and update all driver functions  -parameters and the correspondant define to be declared with uint32_t type. -
    • Replace the "CRYP_ContextSave->CR_bits9to2" by -"CRYP_ContextSave->CurrentConfig".
-
  • stm32f4xx_flash.c/.h -
    • Update FLASH sectors numbers "FLASH_Sector_x" with x = -0..23. -
    • Update -FLASH_EraseAllSectors() function to support mass erase -for STM32F427x/437x -devices.
-
  • stm32f4xx_gpio.c/.h -
    • Add Alternate functions for new peripherals: SPI4, SPI5, SPI6, UART7, -UART8.
    -
    • Update all functions header -comment.
    -
  • stm32f4xx_hash.c/.h -
    • Update HASH_GetDigest() function : add the -HASH_DIGEST structure. -
    • Add new function HASH_AutoStartDigest(). -
    • Update HASH_MsgDigest structure: to support SHA-224 -and SHA-256 modes. -
    •  Update HASH_Context structure. -
    • Update some define using bit definitions already -declared in stm32f4xx.h.
    -
  • stm32f4xx_i2c.c/.h -
    • Add new functions:
    -
      • I2C_AnalogFilterCmd(): enable/disable the -analog I2C filters.
      • I2C_DigitalFilterConfig(): configure the -digital I2C filters.
    -
  • stm32f4xx_pwr.c/.h - -
    • Add new argument -"PWR_Regulator_Voltage_Scale3"  to PWR_MainRegulatorModeConfig() -function to be in line with Reference Manual -description.
-
  • stm32f4xx_rcc.c/.h -
    • Add new definitions for new -peripherals: SPI4, SPI5, -SPI6, SAI1, UART7, UART8. -
    • Add a new parameter in RCC_PLLI2SConfig() function : PLLI2SQ to specifies the division factor for -SAI1 clock. -
    • Add RCC_TIMCLKPresConfig() function -: TIMER Prescaler -selection. 
    -
  • stm32l1xx_spi.c/.h -
    • Update to support SPI4, SPI5, -SPI6.
    -
    • Update all functions header -comment.
    -
  • stm32l1xx_usart.c/.h -
    • Update to support UART7 and -UART8. -
    • Update all functions header -comment.

V1.0.2 / 05-March-2012

-

Main -Changes

- -
  • All source files: license disclaimer text update and add link to the License file on ST Internet.
  • stm32f4xx_dcmi.c
    • DCMI_GetFlagStatus() function: fix test condition on RISR register, use if (dcmireg == 0x00) instead of if (dcmireg == 0x01)
  • stm32f4xx_pwr.c
    • PWR_PVDLevelConfig() -function: remove value of the voltage threshold corresponding to each -PVD detection level, user should refer to the electrical -characteristics of the STM32 device datasheet to have the correct -value

V1.0.1 / 28-December-2011

Main -Changes

-
  • All source files: update disclaimer to add reference to the new license agreement
  • stm32f4xx_rtc.c: 
    • In “RTC_FLAGS_MASK” define: add RTC_FLAG_RECALPF and RTC_FLAG_SHPF
    • RTC_DeInit() function: add reset of the following registers: SHIFTRCALRALRMASSR and ALRMBSSR
    • RTC_SetTime() and RTC_SetDate() functions: add test condition on BYPSHAD flag before to test RSF flag (when Bypass mode is enabled, the RSF bit is never set).

V1.0.0 / 30-September-2011

Main -Changes

-
  • First official release for STM32F40x/41x devices
  • stm32f4xx_rtc.c: remove useless code from RTC_GetDate() function
  • stm32f4xx_rcc.c, stm32f4xx_spi.c, stm32f4xx_wwdg.c and stm32f4xx_syscfg.c: driver's comments update

V1.0.0RC2 / 26-September-2011

Main -Changes

-
  • Official version (V1.0.0) Release Candidate1 for STM32F40x/STM32F41x devices
  • stm32f4xx_usart.h/.c
    • Update procedure to check on overrun error interrupt pending bit, defines for the following flag are added:
      • USART_IT_ORE_RX: this flag is set if overrun error interrupt occurs and RXNEIE bit is set
      • USART_IT_ORE_ER: this flag is set if overrun error interrupt occurs and EIE bit is set
  • stm32f4xx_tim.c
    • TIM_UpdateRequestConfig(): correct function header's comment 
    • TIM_ICInit(): add assert macros to test if the passed TIM parameter has channel 2, 3 or 4
  • stm32f4xx_pwr.h/.c
    • Rename PWR_FLAG_REGRDY constant to PWR_CSR_REGRDY
    • Rename PWR_FLAG_VOSRDY constant to PWR_CSR_VOSRDY
    • Rename PWR_HighPerformanceModeCmd(FunctionalState NewState) function to PWR_MainRegulatorModeConfig(uint32_t PWR_Regulator_Voltage)
  • stm32f4xx_rcc.h/.c
    • RCC_AHB1PeriphClockCmd(): add new constant RCC_AHB1Periph_CCMDATARAMEN as value for RCC_AHB1Periph parameter
  • stm32f4xx_spi.h
    • IS_I2S_EXT_PERIPH(): add check on I2S3ext peripheral

V1.0.0RC1 / 25-August-2011

Main -Changes

-
  • Official version (V1.0.0) Release Candidate1 for STM32F4xx devices
-

License

- - -

Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this package except in compliance with the License. You may obtain a copy of the License at:


Unless -required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See -the License for the specific language governing permissions and -limitations under the License.
-
-
-
-

For - complete documentation on STM32 - Microcontrollers visit www.st.com/STM32

-
-

-
- -
- -

 

- -
- + + + + + + + +Release Notes for STM32F4xx Standard Peripherals Library Drivers + + + + + +
+ +

 

+ +
+ + + + + +
+ + + + + + + +
+

Back to Release page

+
+

Release Notes for STM32F4xx Standard + Peripherals  Drivers

+

Copyright + 2015 STMicroelectronics

+

+
+

 

+ + + + +
+

Contents

+
    +
  1. STM32F4xx Standard Peripherals Library Drivers + update History
  2. +
  3. License
  4. +
+

STM32F4xx + Standard Peripherals Library Drivers  update History

V1.6.1 / 21-October-2015

Main +Changes

+ + + +
  • stm32f4xx_rcc.c/h update
    • Update PLLN, PLLI2SN and PLLSAIN min value to reach 50 instead of 192.
  • stm32f4xx_dsi.c/h update
    • Update TCCR register assigned value in HAL_DSI_ConfigHostTimeouts() function
    • Update WPCR register assigned value in +HAL_DSI_Init(), HAL_DSI_SetSlewRateAndDelayTuning(), HAL_DSI_SetSlewRateAndDelayTuning(), HAL_DSI_SetLowPowerRXFilter() / +HAL_DSI_SetSDD(), HAL_DSI_SetLanePinsConfiguration(), +HAL_DSI_SetPHYTimings(), HAL_DSI_ForceTXStopMode(), +HAL_DSI_ForceRXLowPower(), HAL_DSI_ForceDataLanesInRX(), +HAL_DSI_SetPullDown() and HAL_DSI_SetContentionDetectionOff() functions
    • Update DSI_HS_PM_ENABLE define value
    • Implement +workaround for the hardware limitation: “The time to activate the clock +between HS transmissions is not calculated correctly”
    •  Rename DSI_ConfigLowPowerCommand() by DSI_ConfigCommand(): +this API can be used in normal and low power modes
  • stm32f4xx_fmc.c/h update
    • Remove the Clock Division and Data Latency configuration for NOR/SRAM extended mode
    • Add the clear sequence before writing on the BWTR +register for NOR/SRAM extended mode
  • stm32f4xx_fsmc.c/h update
    • Remove the Clock Division and Data Latency configuration for NOR/SRAM extended mode

+

V1.6.0 / 10-July-2015

Main +Changes

+ + + +
  • Add support of STM32F410xx, STM32F469xx and STM32F479xx devices
  • Add new driver for LPTIM, DSI peripherals 
  • Update the system drivers (RCC, PWR, FLASH, GPIO and SYSCFG) to support the new STM32F410xx, STM32F469xx and STM32F479xx features

V1.5.1 / 22-May-2015

Main +Changes

+ + + +
  • Update QSPI, FMPI2C, CEC and SPDIFRX drivers to compile only when the STM32F446xx device is selected
  • stm32f4xx_fmpi2c.c:
    •  Correct the name of the header file to be included, use lowercase instead of uppercase

V1.5.0 / 06-March-2015

Main +Changes

+ + + +
  • Add support of STM32F446xx devices
  • Add new driver for QSPI, FMPI2C, CEC and SPDIFRX peripherals 
  • Update the system drivers (RCC, PWR, FLASH, GPIO and SYSCFG) to support the new STM32F446xx features

V1.4.0 / 04-August-2014

Main +Changes

+ + + +
  • Add support of STM32F411xExx devices
    • stm32f4xx_rcc.c/.h:
      •  Update RCC_PLLI2SConfig() function to configure the new I2S parameter: PLLI2SM
      •  Add new defines for LSE mode: RCC_LSE_LOWPOWER_MODE and RCC_LSE_HIGHDRIVE_MODE
      •  Add new function to configure LSE mode: RCC_LSEModeConfig()
    • +stm32f4xx_flash.c/.h:
      • Update IS_FLASH_ADDRESS() macro
      +
    • stm32f4xx_gpio.c/.h: +
      •  Add new defines for the new alternate functions
      +
    • stm32f4xx_flash_ramfunc.c/.h: +
      • Add +new driver for ram functions
      +
    • stm32f4xx_pwr.c/.h: +
      • Fix PWR_EnterSTANDBYMode() to not +clear Wakeup flag (WUF): this flag need to be cleared at application level +before to call this function.
      •  Add new function to ENABLE/DISABLE the main regulator low voltage: PWR_MainRegulatorLowVoltageCmd()
      •  Add new function to ENABLE/DISABLE the low regulator low voltage: PWR_LowRegulatorLowVoltageCmd()
  • Limitation Fix:
    • stm32f4xx_spi.c/h
      • Update I2S_Init() to support HSI oscillator as PLL source.
    • stm32f4xx_gpio.c/h
      • Update assert macro IS_GPIO_AF() macro to work as expected
    • stm32f4xx_fmc.c/h and stm32f4xx_fsmc.c/h
      • Update the FSMC_NORSRAMStructInit() function to point the FSMC_DefaultTimingStruct and FSMC_DefaultTimingStruct parameters on a default const structure.

V1.3.0 / 08-November-2013

Main +Changes

+ + + +
  • Add support of STM32F401xExx devices
  • stm32f4xx_gpio.c/h
    • Update + GPIOSpeed_TypeDef structure’s fields name to be in line with GPIO out + speed definition in the product Reference Manual
    • Add + a legacy defines to keep compatibility with previous version
  • stm32f4xx_flash.c/h
    • File’s header comments: update + description of the maximum AHB frequency vs. voltage scaling + configuration
+

V1.2.1 / 19-September-2013

+

Main +Changes

+ +
  • + +

    stm32f4xx_pwr.c/.h 

    • + +

      Add +new function to configure the Under-Drive STOP Mode : PWR_EnterUnderDriveSTOPMode(uint32_t +PWR_Regulator, uint8_t PWR_STOPEntry) only used in case of STM32F427/437/429/439xx devices.

      +

V1.2.0 / 11-September-2013

+

Main +Changes

+ +
  • + +

    Add +support of STM32F429/439xx and STM32F401xCxx devices

  • Update definition of STM32F427/437xx devices : extension +of the features to include system clock up to 180MHz, dual bank Flash, reduced +STOP Mode current, SAI, PCROP, SDRAM and DMA2D
  • Add drivers for new +peripherals of STM32F4xx STM32F427/437xx and STM32F429/439xx devices: +
    • stm32f4xx_dma2d.h/.c +
    • stm32f4xx_fmc.h/.c +
    • stm32f4xx_ltdc.h/.c +
    • stm32f4xx_sai.h/.c
  • + +

    stm32f4xx_adc.c/.h 

    • Update +the Temperature sensor channel for STM32F427/STM32F437x/STM32F429x/STM32F439x +devices from Channel 16 to Channel 18
    • + + + +

      Add +a note in ADC_VBATCmd() header function to inform that the Voltage measured is +VBAT/2 in case of STM3240xxx/41xxx and VBAT/4 in case of STM32F42xxx/43xxx.

    • In +ADC_GetSoftwareStartConvStatus() function, replace "ADC_CR2_JSWSTART" +by "ADC_CR2_SWSTART"

  • stm32f4xx_flash.c/.h
    • Update +the header file description, add the table of number of wait states +according to system frequency selected for all STM32F4xx family devices
    • Update FLASH_EraseAllSectors() function to support the erase for all sectors within Bank1 and Bank2 in case of STM32F42/43xxx devices
    • Add new FLASH Latency values: FLASH_Latency_8, FLASH_Latency_9, FLASH_Latency_10, FLASH_Latency_11, FLASH_Latency_12, FLASH_Latency_13, FLASH_Latency_14, FLASH_Latency_15.
    • Add new flag error in FLASH_Status structure: " FLASH_ERROR_RD"
    • Add new functions: 
      • FLASH_EraseAllBank1Sectors(): mass erase in bank 1 (Half mass erase)
      • FLASH_EraseAllBank2Sectors(): mass erase in Bank 2 (Half mass erase)
      • FLASH_OB_BootConfig(): configure Dual bank boot mode
      • FLASH_OB_PCROPSelectionConfig(): select PCROP feature
      • FLASH_OB_WRP1Config(): configure write protection from Sector 12 to sector 23
      • FLASH_OB_PCROPConfig(): configure PC read/write protection from Sector 0 to sector 11
      • FLASH_OB_PCROP1Config(): configure PC read/write protection from Sector12 to sector23
      • FLASH_OB_GetWRP1(): Read the write protected sectors from 12 to 23
      • FLASH_OB_GetPCROP(): Read the PC read/write protected sectors from 0 to 11
      • FLASH_OB_GetPCROP1(): Read the PC read/write protected sectors from 12 to 23
  • stm32f4xx_gpio.c/.h
    • Update GPIO_DeInit() function : Add GPIOJ, GPIOK clock reset/enable
    • Add a new alternate function for I2C2 and I2C3 :
      • #define +GPIO_AF9_I2C2          +((uint8_t)0x09)  /* I2C2 Alternate Function mapping */
      • #define +GPIO_AF9_I2C3          +((uint8_t)0x09)  /* I2C3 Alternate Function mapping */
    • Update all functions header +comments.
  • stm32f4xx_rcc.c/.h
    • Add new definitions for new +peripherals: SAI1, LTDC, FMC
    • Add a new parameter in RCC_PLLI2SConfig() function : PLLI2SQ to specifies the division factor for SAI1 clock
    • Add new functions: 
      • RCC_PLLSAIConfig(), RCC_PLLSAICmd()PLL SAI Clock configuration
      • Add new function RCC_SAICLKConfig()SAI clock division factors configuration
      • RCC_LCDCLKConfig(): LCD clock division factors configuration
  • stm32l1xx_syscfg.c/.h
    • Add new SYSCFG port sources configurations : EXTI_PortSourceGPIOJ, EXTI_PortSourceGPIOK +
    • Add new function SYSCFG_MemorySwappingBank(): swap between bank 1 and Bank 2
  • + +

    stm32f4xx_pwr.c/.h + 

    • + + + +

      Add +more details and update comments in functions and groups description

    • + +

      Add the following functions to +configure the Over-drive and Under-drive Modes :

      • PWR_OverDriveCmd()

      • + +

        PWR_OverDriveSWCmd()

      • PWR_UnderDriveCmd()

V1.1.0 / +11-January-2013

+

Main +Changes

+
  • Official release for STM32F427x/437x devices. +
  • stm32f4xx_cryp.c/.h +
    • Update CRYP_Init() function : add the support +for new algorithms (GCM/CCM). +
    • Add new function : CRYP_PhaseConfig() used for new AES-GCM and +AES-CCM algorithms. +
    • CRYP_InitTypeDef structure : update all +structure fields from uint16_t to uint32_t and update all driver functions  +parameters and the correspondant define to be declared with uint32_t type. +
    • Replace the "CRYP_ContextSave->CR_bits9to2" by +"CRYP_ContextSave->CurrentConfig".
+
  • stm32f4xx_flash.c/.h +
    • Update FLASH sectors numbers "FLASH_Sector_x" with x = +0..23. +
    • Update +FLASH_EraseAllSectors() function to support mass erase +for STM32F427x/437x +devices.
+
  • stm32f4xx_gpio.c/.h +
    • Add Alternate functions for new peripherals: SPI4, SPI5, SPI6, UART7, +UART8.
    +
    • Update all functions header +comment.
    +
  • stm32f4xx_hash.c/.h +
    • Update HASH_GetDigest() function : add the +HASH_DIGEST structure. +
    • Add new function HASH_AutoStartDigest(). +
    • Update HASH_MsgDigest structure: to support SHA-224 +and SHA-256 modes. +
    •  Update HASH_Context structure. +
    • Update some define using bit definitions already +declared in stm32f4xx.h.
    +
  • stm32f4xx_i2c.c/.h +
    • Add new functions:
    +
      • I2C_AnalogFilterCmd(): enable/disable the +analog I2C filters.
      • I2C_DigitalFilterConfig(): configure the +digital I2C filters.
    +
  • stm32f4xx_pwr.c/.h + +
    • Add new argument +"PWR_Regulator_Voltage_Scale3"  to PWR_MainRegulatorModeConfig() +function to be in line with Reference Manual +description.
+
  • stm32f4xx_rcc.c/.h +
    • Add new definitions for new +peripherals: SPI4, SPI5, +SPI6, SAI1, UART7, UART8. +
    • Add a new parameter in RCC_PLLI2SConfig() function : PLLI2SQ to specifies the division factor for +SAI1 clock. +
    • Add RCC_TIMCLKPresConfig() function +: TIMER Prescaler +selection. 
    +
  • stm32l1xx_spi.c/.h +
    • Update to support SPI4, SPI5, +SPI6.
    +
    • Update all functions header +comment.
    +
  • stm32l1xx_usart.c/.h +
    • Update to support UART7 and +UART8. +
    • Update all functions header +comment.

V1.0.2 / 05-March-2012

+

Main +Changes

+ +
  • All source files: license disclaimer text update and add link to the License file on ST Internet.
  • stm32f4xx_dcmi.c
    • DCMI_GetFlagStatus() function: fix test condition on RISR register, use if (dcmireg == 0x00) instead of if (dcmireg == 0x01)
  • stm32f4xx_pwr.c
    • PWR_PVDLevelConfig() +function: remove value of the voltage threshold corresponding to each +PVD detection level, user should refer to the electrical +characteristics of the STM32 device datasheet to have the correct +value

V1.0.1 / 28-December-2011

Main +Changes

+
  • All source files: update disclaimer to add reference to the new license agreement
  • stm32f4xx_rtc.c: 
    • In “RTC_FLAGS_MASK” define: add RTC_FLAG_RECALPF and RTC_FLAG_SHPF
    • RTC_DeInit() function: add reset of the following registers: SHIFTRCALRALRMASSR and ALRMBSSR
    • RTC_SetTime() and RTC_SetDate() functions: add test condition on BYPSHAD flag before to test RSF flag (when Bypass mode is enabled, the RSF bit is never set).

V1.0.0 / 30-September-2011

Main +Changes

+
  • First official release for STM32F40x/41x devices
  • stm32f4xx_rtc.c: remove useless code from RTC_GetDate() function
  • stm32f4xx_rcc.c, stm32f4xx_spi.c, stm32f4xx_wwdg.c and stm32f4xx_syscfg.c: driver's comments update

V1.0.0RC2 / 26-September-2011

Main +Changes

+
  • Official version (V1.0.0) Release Candidate1 for STM32F40x/STM32F41x devices
  • stm32f4xx_usart.h/.c
    • Update procedure to check on overrun error interrupt pending bit, defines for the following flag are added:
      • USART_IT_ORE_RX: this flag is set if overrun error interrupt occurs and RXNEIE bit is set
      • USART_IT_ORE_ER: this flag is set if overrun error interrupt occurs and EIE bit is set
  • stm32f4xx_tim.c
    • TIM_UpdateRequestConfig(): correct function header's comment 
    • TIM_ICInit(): add assert macros to test if the passed TIM parameter has channel 2, 3 or 4
  • stm32f4xx_pwr.h/.c
    • Rename PWR_FLAG_REGRDY constant to PWR_CSR_REGRDY
    • Rename PWR_FLAG_VOSRDY constant to PWR_CSR_VOSRDY
    • Rename PWR_HighPerformanceModeCmd(FunctionalState NewState) function to PWR_MainRegulatorModeConfig(uint32_t PWR_Regulator_Voltage)
  • stm32f4xx_rcc.h/.c
    • RCC_AHB1PeriphClockCmd(): add new constant RCC_AHB1Periph_CCMDATARAMEN as value for RCC_AHB1Periph parameter
  • stm32f4xx_spi.h
    • IS_I2S_EXT_PERIPH(): add check on I2S3ext peripheral

V1.0.0RC1 / 25-August-2011

Main +Changes

+
  • Official version (V1.0.0) Release Candidate1 for STM32F4xx devices
+

License

+ + +

Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this package except in compliance with the License. You may obtain a copy of the License at:


Unless +required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See +the License for the specific language governing permissions and +limitations under the License.
+
+
+
+

For + complete documentation on STM32 + Microcontrollers visit www.st.com/STM32

+
+

+
+ +
+ +

 

+ +
+ \ No newline at end of file diff --git a/lib/main/STM32F4/Middlewares/ST/STM32_USB_Device_Library/Release_Notes.html b/lib/main/STM32F4/Middlewares/ST/STM32_USB_Device_Library/Release_Notes.html index 486382530..f38cd5575 100644 --- a/lib/main/STM32F4/Middlewares/ST/STM32_USB_Device_Library/Release_Notes.html +++ b/lib/main/STM32F4/Middlewares/ST/STM32_USB_Device_Library/Release_Notes.html @@ -1,1267 +1,1267 @@ - - - - - - - - - - - - - - - - - -Release Notes for STM32 USB Device Library - - - - - - - - -
- -

 

- -
- - - - - -
- - - - - - - -
-

Back to Release page

-
-

Release Notes for STM32 USB Device Library

-

Copyright - 2015 STMicroelectronics

-

-
-

 

- - - - -
-

Update History

-

V2.4.2 / 11-December-2015
-

- - - - - - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - - - - - -
    -
  • CDC Class
    • usbd_cdc.c: change #include "USBD_CDC.h" by #include "usbd_cdc.h"
    -
-
- -

V2.4.1 / 19-June-2015
-

- - - - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - - - -
    -
  • CDC Class
  • -
      -
    • usbd_cdc.c: comments update
    • -
    -
  • MSC Class
  • -
      -
    • usbd_msc_bot.h: update to be C++ compliant
    • -
    -
  • AUDIO Class
  • -
      -
    • usbd_audio.c: fix issue when Host sends GetInterface command it gets a wrong value
    • -
    -
      -
    • usbd_audio.c: remove useless management of DMA half transfer
      -
    • -
    -
- - - -

V2.4.0 / 28-February-2015
-

- - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - -
    -
  • Core Driver
  • -
      -
    • Add support of Link Power Management (LPM): add new API GetBOSDescriptor(), that is used only if USBD_LPM_ENABLED switch is enabled in usbd_conf.h file
    • usbd_core.c: -Fix bug of unsupported premature Host Out stage during data In stage -(ie. when endpoint 0 maximum data size is 8 and Host requests -GetDeviceDescriptor for the first time)
    • usbd_ctlreq.c: Fix bug of unsupported Endpoint Class requests (ie. Audio SetCurrent request for endpoint sampling rate setting)
    • -
    -
  • HID Class
  • -
      -
    • Updating Polling time API USBD_HID_GetPollingInterval() to query this period for HS and FS
    • usbd_hid.c: Fix USBD_LL_CloseEP() function call in USBD_HID_DeInit() replacing endpoint size by endpoint address.
    • -
  • CDC Class
    • usbd_cdc.c: 
      • Add missing GetInterface request management in USBD_CDC_Setup() function
      • Update -USBD_CDC_Setup() function to allow correct user implementation of -CDC_SET_CONTROL_LINE_STATE and similar no-data setup requests.
    -
- -

V2.3.0 / 04-November-2014
-

- - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - -
    -
  • Update all drivers to be C++ compliant
    -
  • -
  • CDC Class
  • -
      -
    • usbd_cdc.c: fix clear flag issue in USBD_CDC_TransmitPacket() function
    • -
    -
      -
    • usbd_cdc_if_template.c: update TEMPLATE_Receive() function header comment
      -
    • -
    -
  • Miscellaneous source code comments update
  • -
-

V2.2.0 / 13-June-2014

- - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - -
    -
  • Source code comments review and update
  • -
  • HID class
  • -
      -
    • Remove unused API USBD_HID_DeviceQualifierDescriptor()
    • -
    • Add a new API in the HID class to query the poll time USBD_HID_GetPollingInterval()
      -
    • -
    - -
  • CDC class
  • -
      -
    • Bug fix: missing handling ZeroLength Setup request
    • -
    -
  • All classes
    -
  • - -
      -
    • Add alias for the class definition, it's defined as macro with capital letter
    • -
    -
-
ex. for the HID, the USBD_HID_CLASS macro is defined this way #define USBD_HID_CLASS  &USBD_HID
  and the application code can use the previous definition: &USBD_HID ex. USBD_RegisterClass(&USBD_Device, &USBD_HID) or the new USBD_HID_CLASS ex. USBD_RegisterClass(&USBD_Device, USBD_HID_CLASS)
-

V2.1.0 / 22-April-2014

- - - - - - - - -

Main -Changes

- - - - - - - - - - - -
    -
  • usbd_conf_template.c: update file with the right content (it was using MSC memory management layer)
    -
  • -
  • usbd_conf_template.h: change include of stm32f4xx.h by stm32xxx.h and add comment to inform user to adapt it to the device used
  • -
  • Several enhancements in CustomHID class
  • -
      -
    • Update the Custom HID class driver to simplify the link with user processes
    • -
    • Optimize the Custom HID class driver and reduce footprint
    • -
    • Add USBD_CUSTOM_HID_RegisterInterface() API to link user process to custom HID class
    • -
    • Add Custom HID interface template file usbd_customhid_if_template.c/h
    • -
    -
  • Miscellaneous comments update
    -
  • - -
- -

V2.0.0 / 18-February-2014

- - - - - -

Main -Changes

- - - - - - - - - -
    -
  • Major update -based on STM32Cube specification: Library Core, Classes architecture and APIs -modified vs. V1.1.0, and thus the 2 versions are not compatible.
    -
  • This version has to be used only with STM32Cube based development
  • -
- - -

V1.1.0 / 19-March-2012

-

Main -Changes

- -
  • Official support of STM32F4xx devices
  • All source files: license disclaimer text update and add link to the License file on ST Internet.
  • Handle test mode in the set feature request
  • Handle dynamically the USB SELF POWERED feature
  • Handle correctly the USBD_CtlError process to take into account error during Control OUT stage
  • Miscellaneous bug fix

V1.0.0 / 22-July-2011

Main -Changes

-
  • First official version for STM32F105/7xx and STM32F2xx devices

-

License

-

Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this package except in compliance with the License. You may obtain a copy of the License at:


Unless -required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See -the License for the specific language governing permissions and -limitations under the License.
-
-
-
-

For - complete documentation on STM32 - Microcontrollers visit www.st.com/STM32

-
-

-
- -
- -

 

- -
- + + + + + + + + + + + + + + + + + +Release Notes for STM32 USB Device Library + + + + + + + + +
+ +

 

+ +
+ + + + + +
+ + + + + + + +
+

Back to Release page

+
+

Release Notes for STM32 USB Device Library

+

Copyright + 2015 STMicroelectronics

+

+
+

 

+ + + + +
+

Update History

+

V2.4.2 / 11-December-2015
+

+ + + + + + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + + + + + +
    +
  • CDC Class
    • usbd_cdc.c: change #include "USBD_CDC.h" by #include "usbd_cdc.h"
    +
+
+ +

V2.4.1 / 19-June-2015
+

+ + + + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + + + +
    +
  • CDC Class
  • +
      +
    • usbd_cdc.c: comments update
    • +
    +
  • MSC Class
  • +
      +
    • usbd_msc_bot.h: update to be C++ compliant
    • +
    +
  • AUDIO Class
  • +
      +
    • usbd_audio.c: fix issue when Host sends GetInterface command it gets a wrong value
    • +
    +
      +
    • usbd_audio.c: remove useless management of DMA half transfer
      +
    • +
    +
+ + + +

V2.4.0 / 28-February-2015
+

+ + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + +
    +
  • Core Driver
  • +
      +
    • Add support of Link Power Management (LPM): add new API GetBOSDescriptor(), that is used only if USBD_LPM_ENABLED switch is enabled in usbd_conf.h file
    • usbd_core.c: +Fix bug of unsupported premature Host Out stage during data In stage +(ie. when endpoint 0 maximum data size is 8 and Host requests +GetDeviceDescriptor for the first time)
    • usbd_ctlreq.c: Fix bug of unsupported Endpoint Class requests (ie. Audio SetCurrent request for endpoint sampling rate setting)
    • +
    +
  • HID Class
  • +
      +
    • Updating Polling time API USBD_HID_GetPollingInterval() to query this period for HS and FS
    • usbd_hid.c: Fix USBD_LL_CloseEP() function call in USBD_HID_DeInit() replacing endpoint size by endpoint address.
    • +
  • CDC Class
    • usbd_cdc.c: 
      • Add missing GetInterface request management in USBD_CDC_Setup() function
      • Update +USBD_CDC_Setup() function to allow correct user implementation of +CDC_SET_CONTROL_LINE_STATE and similar no-data setup requests.
    +
+ +

V2.3.0 / 04-November-2014
+

+ + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + +
    +
  • Update all drivers to be C++ compliant
    +
  • +
  • CDC Class
  • +
      +
    • usbd_cdc.c: fix clear flag issue in USBD_CDC_TransmitPacket() function
    • +
    +
      +
    • usbd_cdc_if_template.c: update TEMPLATE_Receive() function header comment
      +
    • +
    +
  • Miscellaneous source code comments update
  • +
+

V2.2.0 / 13-June-2014

+ + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + +
    +
  • Source code comments review and update
  • +
  • HID class
  • +
      +
    • Remove unused API USBD_HID_DeviceQualifierDescriptor()
    • +
    • Add a new API in the HID class to query the poll time USBD_HID_GetPollingInterval()
      +
    • +
    + +
  • CDC class
  • +
      +
    • Bug fix: missing handling ZeroLength Setup request
    • +
    +
  • All classes
    +
  • + +
      +
    • Add alias for the class definition, it's defined as macro with capital letter
    • +
    +
+
ex. for the HID, the USBD_HID_CLASS macro is defined this way #define USBD_HID_CLASS  &USBD_HID
  and the application code can use the previous definition: &USBD_HID ex. USBD_RegisterClass(&USBD_Device, &USBD_HID) or the new USBD_HID_CLASS ex. USBD_RegisterClass(&USBD_Device, USBD_HID_CLASS)
+

V2.1.0 / 22-April-2014

+ + + + + + + + +

Main +Changes

+ + + + + + + + + + + +
    +
  • usbd_conf_template.c: update file with the right content (it was using MSC memory management layer)
    +
  • +
  • usbd_conf_template.h: change include of stm32f4xx.h by stm32xxx.h and add comment to inform user to adapt it to the device used
  • +
  • Several enhancements in CustomHID class
  • +
      +
    • Update the Custom HID class driver to simplify the link with user processes
    • +
    • Optimize the Custom HID class driver and reduce footprint
    • +
    • Add USBD_CUSTOM_HID_RegisterInterface() API to link user process to custom HID class
    • +
    • Add Custom HID interface template file usbd_customhid_if_template.c/h
    • +
    +
  • Miscellaneous comments update
    +
  • + +
+ +

V2.0.0 / 18-February-2014

+ + + + + +

Main +Changes

+ + + + + + + + + +
    +
  • Major update +based on STM32Cube specification: Library Core, Classes architecture and APIs +modified vs. V1.1.0, and thus the 2 versions are not compatible.
    +
  • This version has to be used only with STM32Cube based development
  • +
+ + +

V1.1.0 / 19-March-2012

+

Main +Changes

+ +
  • Official support of STM32F4xx devices
  • All source files: license disclaimer text update and add link to the License file on ST Internet.
  • Handle test mode in the set feature request
  • Handle dynamically the USB SELF POWERED feature
  • Handle correctly the USBD_CtlError process to take into account error during Control OUT stage
  • Miscellaneous bug fix

V1.0.0 / 22-July-2011

Main +Changes

+
  • First official version for STM32F105/7xx and STM32F2xx devices

+

License

+

Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this package except in compliance with the License. You may obtain a copy of the License at:


Unless +required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See +the License for the specific language governing permissions and +limitations under the License.
+
+
+
+

For + complete documentation on STM32 + Microcontrollers visit www.st.com/STM32

+
+

+
+ +
+ +

 

+ +
+ \ No newline at end of file diff --git a/lib/main/STM32F7/Drivers/CMSIS/Device/ST/STM32F7xx/Release_Notes.html b/lib/main/STM32F7/Drivers/CMSIS/Device/ST/STM32F7xx/Release_Notes.html index ec1e5cc4a..026f55cf3 100755 --- a/lib/main/STM32F7/Drivers/CMSIS/Device/ST/STM32F7xx/Release_Notes.html +++ b/lib/main/STM32F7/Drivers/CMSIS/Device/ST/STM32F7xx/Release_Notes.html @@ -1,222 +1,222 @@ - - - - - -Release Notes for STM32F7xx CMSIS - - - - - -
-


-

-
- - - - - - -
- - - - - - - - - -
Back to Release page
-

Release -Notes for STM32F7xx CMSIS

-

Copyright -2016 STMicroelectronics

-

-
-

 

- - - - - - -
- -

Update History

-

V1.2.4/ 08-February-2019

-       Main Changes
-
    -
  • CRYP
  • -
    • Update CMSIS devices with correct CRYP data input register name: DIN instead of DR
  • SAI
    • Fix frame length in SAI_xFRCR_FSALL & SAI_xFRCR_FRL bits description
  • USB
    • Add missing Bits Definitions in USB_OTG_DOEPMSK register
      • USB_OTG_DOEPMSK_AHBERRM
      • USB_OTG_DOEPMSK_OTEPSPRM
      • USB_OTG_DOEPMSK_BERRM
      • USB_OTG_DOEPMSK_NAKM
      • USB_OTG_DOEPMSK_NYETM
    • Add missing Bits Definitions in USB_OTG_DIEPINT register
      • USB_OTG_DIEPINT_INEPNM
      • USB_OTG_DIEPINT_AHBERR
      • USB_OTG_DOEPINT_OUTPKTERR
      •  USB_OTG_DOEPINT_NAK
      • USB_OTG_DOEPINT_STPKTRX
    • Add missing Bits Definitions in USB_OTG_DCFG register
      • USB_OTG_DCFG_XCVRDLY
      • -
      • USB_OTG_DCFG_ERRATIM
      • -
      -
    • Add IS_PCD_ALL_INSTANCE() and IS_HCD_ALL_INSTANCE() defines
    • -
    • Remove GADPCTL parameter from USB_OTG_GlobalTypeDef() structure
    • -
    • Remove GPWRDN parameter from USB_OTG_GlobalTypeDef5° STRUCTURE
      -
    • -
  • DFSDM
    • Align Bit naming for DFSDM_FLTICR register: DFSDM_FLTICR_CLRSCSDF--> DFSDM_FLTICR_CLRSCDF
    -
  • CEC
  • -
      -
    • Align Bit naming for CEC_RXDR register: CEC_TXDR_RXD--> CEC_RXDR_RXD
    • -
    -
  • QSPI
  • -
      -
    • Update FLEVEL field in QuadSPI Status register definition to be compliant with user manual
      -
    • -
    -
-

V1.2.3 -/ 29-June-2018

-      Main -Changes
  • Add the support of STM32F730xx and  STM32F750xx  devices
    • Add "stm32f730xx.h" and "stm32f750xx.h" header files
    • Add startup files "startup_stm32f730xx.s" and "startup_stm32f750xx.s" for EWARM, MDK-ARM and SW4STM32 toolchains
    • Add Linker files "stm32f730xx_flash.icf", "stm32f730xx_sram.icf" and "stm32f730xx_ITCM_flash.icf" used within EWARM Workspaces
    • Add Linker files "stm32f750xx_flash.icf", "stm32f750xx_sram.icf" and "stm32f750xx_ITCM_flash.icf" used within EWARM Workspaces

V1.2.2 -/ 26-December-2017

Main -Changes

-
  • Update bits definition for USBPHYC_PLL1 and USBPHYC_LDO registers to be inline with products documentation.

V1.2.1 -/ 25-August-2017

Main -Changes

-
  • Update FLASHSIZE_BASE and UID_BASE defined values for STM32F72x and STM32F73x devices.
  • Update stm32f7xx.h to include stm32f7xx_hal.h file instead of stm32f7xx_hal_conf.h file
  • Remove Date and Version from header files

V1.2.0 -/ 30-December-2016

Main -Changes

-
  • Add the support of STM32F722xx, STM32F723xx, STM32F732xx and STM32F733xx devices
    • Add "stm32f722xx.h", "stm32f723xx.h", "stm32f732xx.h" and "stm32f733xx.h" header files
    • Add startup files "startup_stm32f722xx.s", "startup_stm32f723xx.s", "startup_stm32f732xx.s" and "startup_stm32f733xx.s" for EWARM, MDK-ARM and SW4STM32 toolchains
    • Add Linker files "stm32f722xx_flash.icf", "stm32f722xx_sram.icf" and "stm32f722xx_ITCM_flash.icf" used within EWARM Workspaces
    • Add Linker files "stm32f723xx_flash.icf", "stm32f723xx_sram.icf" and "stm32f723xx_ITCM_flash.icf" used within EWARM Workspaces
    • Add Linker files "stm32f732xx_flash.icf", "stm32f732xx_sram.icf" and "stm32f732xx_ITCM_flash.icf" used within EWARM Workspaces
    • Add Linker files "stm32f733xx_flash.icf", "stm32f733xx_sram.icf" and "stm32f733xx_ITCM_flash.icf" used within EWARM Workspaces
  • All devices header files
    • Use _Pos and _Mask macro for all Bit Definitions
    • Use DAC1 instance instead of DAC
    • Add IS_SMBUS_ALL_INSTANCE macro
    • Add ADC123_COMMON instance
    • Add DMA_SxPAR_PA, DMA_SxM0AR_M0A and DMA_SxM1AR_M1A registers Bits Definition
    • Add DBGMCU_APB1_FZ_DBG_LPTIM1_STOP and DBGMCU_APB1_FZ_DBG_I2C4_SMBUS_TIMEOUT Bits Definition
    • Add FLASH_OTP_BASE and FLASH_OTP_END defines
    • Add MACDBGR register Bits Definition
    • Add GPIO_AFRL and GPIO_AFRH registers Bits Definition 
    • Add TIM2_OR, TIM5_OR and TIM11_OR registers Bits Definition
    • Add TIM1_AF1_BKINP Bit Definition for TIM1_AF1 register
    • Add -IS_TIM_32B_COUNTER_INSTANCE, IS_TIM_BREAK_INSTANCE, -IS_TIM_BREAKSOURCE_INSTANCE and IS_TIM_BKIN2_INSTANCE, -IS_TIM_CLOCK_DIVISION_INSTANCE, IS_TIM_REPETITION_COUNTER_INSTANCE, -IS_TIM_CLOCKSOURCE_ETRMODE1_INSTANCE, -IS_TIM_CLOCKSOURCE_ETRMODE2_INSTANCE, -IS_TIM_HALL_SENSOR_INTERFACE_INSTANCE and -IS_TIM_COMMUTATION_EVENT_INSTANCE macros
    • Add IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE, IS_UART_HALFDUPLEX_INSTANCE and IS_UART_LIN_INSTANCE macros
    • Remove TIM_SMCR_OCCS Bit Definition for TIM_SMCR register
    • Remove USART_ISR_WUF and USART_ISR_REACK Bits Definition from USART_ISR register
    • Rename USART_CR1_M_0 / USART_CR1_M_1 defines to USART_CR1_M0 / USART_CR1_M1
    • Rename PACKAGESIZE_BASE define to PACKAGE_BASE
    • Rename RTC_OR_ALARMTYPE Bit Definition to RTC_OR_ALARMOUTTYPE
    • Rename RTC_CR_BCK Bit Definition to RTC_CR_BKP in RTC_CR register

V1.1.1 -/ 01-July-2016

Main -Changes

-
  • stm32f7xx.h
    • update to respectively associate STM32F778xx and STM32F768xx devices to STM32F779xx and STM32F769xx devices

V1.1.0 -/ 22-April-2016

Main -Changes

-
  • Add the support of STM32F765xx, STM32F767xx, STM32F768xx, STM32F769xx, STM32F777xx, STM32F778xx and STM32F779xx devices
    • Add "stm32f765xx.h", "stm32f767xx.h", "stm32f769xx.h", "stm32f777xx.h" and "stm32f779xx.h" header files
    • Add startup files "startup_stm32f765xx.s", "startup_stm32f767xx.s", "startup_stm32f769xx.s", "startup_stm32f777xx.s" and "startup_stm32f779xx.s" for EWARM, MDK-ARM and SW4STM32 toolchains
    • Add Linker files "stm32f765xx_flash.icf", "stm32f765xx_sram.icf" and "stm32f765xx_ITCM_flash.icf" used within EWARM Workspaces
    • Add Linker files "stm32f767xx_flash.icf", "stm32f767xx_sram.icf" and "stm32f767xx_ITCM_flash.icf" used within EWARM Workspaces
    • Add Linker files "stm32f769xx_flash.icf", "stm32f769xx_sram.icf" and "stm32f769xx_ITCM_flash.icf" used within EWARM Workspaces
    • Add Linker files "stm32f777xx_flash.icf", "stm32f777xx_sram.icf" and "stm32f777xx_ITCM_flash.icf" used within EWARM Workspaces
    • Add Linker files "stm32f779xx_flash.icf", "stm32f779xx_sram.icf" and "stm32f779xx_ITCM_flash.icf" used within EWARM Workspaces
    • STM32F768xx cmsis files are associated with STM32F767xx ones, as there is no difference between these devices on HAL side
    • STM32F778xx cmsis files are associated with STM32F777xx ones, as there is no difference between these devices on HAL side
  • All devices header files
    • Update Bit Definition names in DCMI_RISR / DCMI_IER registers
    • Update Bit Definition names in DMA2D_CR / DMA2D_FGPFCCR / DMA2D_BGPFCCR / DMA2D_OPFCCR registers
    • Update QUADSPI_CR_FTHRES Bit Definition in QUADSPI_CR register
    • Rename SAI_xFRCR_FSPO to SAI_xFRCR_FSPOL in SAI_xFRCR register
    • Rename ADC_CSR_DOVRx Bit Definition to ADC_CSR_OVRx in ADC_CSR register
    • Rename LTDC_GCR_DTEN Bit Definition to LTDC_GCR_DEN in LTDC_GCR register
    • Rename PWR_CSR1_UDSWRDY Bit Definition to PWR_CSR1_UDRDY in PWR_CSR1 register
    • Rename RTC_TAMPCR_TAMPx_TRG Bit Definition to RTC_TAMPCR_TAMPxTRG in RTC_TAMPCR register
    • Rename USART_ISR_LBD Bit Definition to USART_ISR_LBDF in USART_ISR register
    • Rename IS_SAI_BLOCK_PERIPH macro to IS_SAI_ALL_INSTANCE
    • Rename DCMI_ICR_OVF_ISC Bit Definition to DCMI_ICR_OVR_ISC
    • Rename DMA2D_IFSR register to DMA2D_IFCR
    • Rename EXTI_IMR_MRx Bit Definition to EXTI_IMR_IM0x
    • Rename EXTI_EMR_MRx Bit Definition to EXTI_EMR_EMx
    • Fix LPTIM_CR_SNGSTRT Bit Definition value in LPTIM_CR register
    • Fix mask incorrect naming in DBGMCU_APB2_FZ register
    • Fix Bits Definition for SYSCFG_EXTICR4_EXTI13_PI and SYSCFG_EXTICR4_EXTI13_PJ
    • Add DAC_CR_DMAUDRIEx Bit Definition in DAC_CR register
    • Add a new mask EXTI_IMR_IM in EXTI bits definition: Interrupt Mask All
    • Add UID_BASE define for Unique ID register base address
    • Add FLASHSIZE_BASE define for register base address
    • Add PACKAGESIZE_BASE define for register base address
    • Add FLASH_SECTOR_TOTAL define for total Flash sector number
    • Add Bits Definition for DCMI_ESCR, DCMI_ESUR, DCMI_CWSTRT, DCMI_CWSIZE and DCMI_DR registers
    • Add PWR_CSR1_EIWUP Bit Definition in PWR_CSR1 register
    • Add IP version define for QSPI: QSPI_V1_0
    • Add IS_UART_DRIVER_ENABLE_INSTANCE macro
    • Apply an 'U' suffix to all constants of 'unsigned' type (MISRA-C 2004 rule 10.6)
    • Remove uint32_t cast in all defines
    • Remove DMA_SxCR_ACK Bit Definition in DMA_SxCR register
    • Remove I2C_CR1_SWRST / I2C_CR1_WUPEN Bit Definitions in I2C_CR1 register
    • Keep the same DCMI register names (RISR, MISR, CWSTRTR and CWSIZER) as F4 family
  • system_stm32f7xx.c/.h files
    • Remove external memories configuration from the system_stm32f7xx.c common file (moved to Template Projects)
    • Add declaration of AHBPrescTable / APBPrescTable constant tables
  • stm32f7xx.h
    • Rename __STM32F7xx_CMSIS_DEVICE_VERSION_xx defines to __STM32F7_CMSIS_VERSION_xx (MISRA-C 2004 rule 5.1)

V1.0.3 -/ 13-November-2015

-

Main -Changes

-
  • stm32f745xx.h, stm32f746xx.h and stm32f756xx.h files
    • update __CM7_REV with proper Cortex M7 core revision
    • update SAI_xCR2_CPL bit definition
    • update WWDG bits naming to be aligned with reference manual
    • rename I2C_CR1_DFN bit to I2C_CR1_DNF
    • remove OR register definition from LPTIM_TypeDef structure
  • system_stm32f7xx.c
    • update SystemInit_ExtMemCtl() function implementation to allow simultaneous use of SDRAM and SRAM external memories

V1.0.2 -/ 21-September-2015

-

Main -Changes

-
  • stm32f745xx.h, stm32f746xx.h and stm32f756xx.h files
    • add new define USB_OTG_DOEPMSK_OTEPSPRM
    • add new define USB_OTG_DOEPINT_OTEPSPR

V1.0.1 -/ 25-June-2015

-

Main -Changes

-
  • stm32f745xx.h, stm32f746xx.h and stm32f756xx.h files
    • update IDR field declaration in CRC_TypeDef sructure
    • add I2C Own address 2 mask bits defininition in the I2C_OAR2 register
    • update SAI_xSR_FLVL_2 bit definition
  • stm32f756xx.h file
    • rename HASH_STR_NBWx bits definition to HASH_STR_NBLWx
    • rename HASH_IMR_DINIM bit definition to HASH_IMR_DINIE
    • rename HASH_IMR_DCIM bit definition to HASH_IMR_DCIE

V1.0.0 -/ 28-April-2015

-

Main -Changes

-
  • First -official release for STM32F756xx/746xx/745xx -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. -
  3. 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.
  4. -
  5. Neither the -name of STMicroelectronics nor the names of its contributors may be -used to endorse or promote products derived
    -
  6. -
-       -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

-
-

-
-
-

 

-
+ + + + + +Release Notes for STM32F7xx CMSIS + + + + + +
+


+

+
+ + + + + + +
+ + + + + + + + + +
Back to Release page
+

Release +Notes for STM32F7xx CMSIS

+

Copyright +2016 STMicroelectronics

+

+
+

 

+ + + + + + +
+ +

Update History

+

V1.2.4/ 08-February-2019

+       Main Changes
+
    +
  • CRYP
  • +
    • Update CMSIS devices with correct CRYP data input register name: DIN instead of DR
  • SAI
    • Fix frame length in SAI_xFRCR_FSALL & SAI_xFRCR_FRL bits description
  • USB
    • Add missing Bits Definitions in USB_OTG_DOEPMSK register
      • USB_OTG_DOEPMSK_AHBERRM
      • USB_OTG_DOEPMSK_OTEPSPRM
      • USB_OTG_DOEPMSK_BERRM
      • USB_OTG_DOEPMSK_NAKM
      • USB_OTG_DOEPMSK_NYETM
    • Add missing Bits Definitions in USB_OTG_DIEPINT register
      • USB_OTG_DIEPINT_INEPNM
      • USB_OTG_DIEPINT_AHBERR
      • USB_OTG_DOEPINT_OUTPKTERR
      •  USB_OTG_DOEPINT_NAK
      • USB_OTG_DOEPINT_STPKTRX
    • Add missing Bits Definitions in USB_OTG_DCFG register
      • USB_OTG_DCFG_XCVRDLY
      • +
      • USB_OTG_DCFG_ERRATIM
      • +
      +
    • Add IS_PCD_ALL_INSTANCE() and IS_HCD_ALL_INSTANCE() defines
    • +
    • Remove GADPCTL parameter from USB_OTG_GlobalTypeDef() structure
    • +
    • Remove GPWRDN parameter from USB_OTG_GlobalTypeDef5° STRUCTURE
      +
    • +
  • DFSDM
    • Align Bit naming for DFSDM_FLTICR register: DFSDM_FLTICR_CLRSCSDF--> DFSDM_FLTICR_CLRSCDF
    +
  • CEC
  • +
      +
    • Align Bit naming for CEC_RXDR register: CEC_TXDR_RXD--> CEC_RXDR_RXD
    • +
    +
  • QSPI
  • +
      +
    • Update FLEVEL field in QuadSPI Status register definition to be compliant with user manual
      +
    • +
    +
+

V1.2.3 +/ 29-June-2018

+      Main +Changes
  • Add the support of STM32F730xx and  STM32F750xx  devices
    • Add "stm32f730xx.h" and "stm32f750xx.h" header files
    • Add startup files "startup_stm32f730xx.s" and "startup_stm32f750xx.s" for EWARM, MDK-ARM and SW4STM32 toolchains
    • Add Linker files "stm32f730xx_flash.icf", "stm32f730xx_sram.icf" and "stm32f730xx_ITCM_flash.icf" used within EWARM Workspaces
    • Add Linker files "stm32f750xx_flash.icf", "stm32f750xx_sram.icf" and "stm32f750xx_ITCM_flash.icf" used within EWARM Workspaces

V1.2.2 +/ 26-December-2017

Main +Changes

+
  • Update bits definition for USBPHYC_PLL1 and USBPHYC_LDO registers to be inline with products documentation.

V1.2.1 +/ 25-August-2017

Main +Changes

+
  • Update FLASHSIZE_BASE and UID_BASE defined values for STM32F72x and STM32F73x devices.
  • Update stm32f7xx.h to include stm32f7xx_hal.h file instead of stm32f7xx_hal_conf.h file
  • Remove Date and Version from header files

V1.2.0 +/ 30-December-2016

Main +Changes

+
  • Add the support of STM32F722xx, STM32F723xx, STM32F732xx and STM32F733xx devices
    • Add "stm32f722xx.h", "stm32f723xx.h", "stm32f732xx.h" and "stm32f733xx.h" header files
    • Add startup files "startup_stm32f722xx.s", "startup_stm32f723xx.s", "startup_stm32f732xx.s" and "startup_stm32f733xx.s" for EWARM, MDK-ARM and SW4STM32 toolchains
    • Add Linker files "stm32f722xx_flash.icf", "stm32f722xx_sram.icf" and "stm32f722xx_ITCM_flash.icf" used within EWARM Workspaces
    • Add Linker files "stm32f723xx_flash.icf", "stm32f723xx_sram.icf" and "stm32f723xx_ITCM_flash.icf" used within EWARM Workspaces
    • Add Linker files "stm32f732xx_flash.icf", "stm32f732xx_sram.icf" and "stm32f732xx_ITCM_flash.icf" used within EWARM Workspaces
    • Add Linker files "stm32f733xx_flash.icf", "stm32f733xx_sram.icf" and "stm32f733xx_ITCM_flash.icf" used within EWARM Workspaces
  • All devices header files
    • Use _Pos and _Mask macro for all Bit Definitions
    • Use DAC1 instance instead of DAC
    • Add IS_SMBUS_ALL_INSTANCE macro
    • Add ADC123_COMMON instance
    • Add DMA_SxPAR_PA, DMA_SxM0AR_M0A and DMA_SxM1AR_M1A registers Bits Definition
    • Add DBGMCU_APB1_FZ_DBG_LPTIM1_STOP and DBGMCU_APB1_FZ_DBG_I2C4_SMBUS_TIMEOUT Bits Definition
    • Add FLASH_OTP_BASE and FLASH_OTP_END defines
    • Add MACDBGR register Bits Definition
    • Add GPIO_AFRL and GPIO_AFRH registers Bits Definition 
    • Add TIM2_OR, TIM5_OR and TIM11_OR registers Bits Definition
    • Add TIM1_AF1_BKINP Bit Definition for TIM1_AF1 register
    • Add +IS_TIM_32B_COUNTER_INSTANCE, IS_TIM_BREAK_INSTANCE, +IS_TIM_BREAKSOURCE_INSTANCE and IS_TIM_BKIN2_INSTANCE, +IS_TIM_CLOCK_DIVISION_INSTANCE, IS_TIM_REPETITION_COUNTER_INSTANCE, +IS_TIM_CLOCKSOURCE_ETRMODE1_INSTANCE, +IS_TIM_CLOCKSOURCE_ETRMODE2_INSTANCE, +IS_TIM_HALL_SENSOR_INTERFACE_INSTANCE and +IS_TIM_COMMUTATION_EVENT_INSTANCE macros
    • Add IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE, IS_UART_HALFDUPLEX_INSTANCE and IS_UART_LIN_INSTANCE macros
    • Remove TIM_SMCR_OCCS Bit Definition for TIM_SMCR register
    • Remove USART_ISR_WUF and USART_ISR_REACK Bits Definition from USART_ISR register
    • Rename USART_CR1_M_0 / USART_CR1_M_1 defines to USART_CR1_M0 / USART_CR1_M1
    • Rename PACKAGESIZE_BASE define to PACKAGE_BASE
    • Rename RTC_OR_ALARMTYPE Bit Definition to RTC_OR_ALARMOUTTYPE
    • Rename RTC_CR_BCK Bit Definition to RTC_CR_BKP in RTC_CR register

V1.1.1 +/ 01-July-2016

Main +Changes

+
  • stm32f7xx.h
    • update to respectively associate STM32F778xx and STM32F768xx devices to STM32F779xx and STM32F769xx devices

V1.1.0 +/ 22-April-2016

Main +Changes

+
  • Add the support of STM32F765xx, STM32F767xx, STM32F768xx, STM32F769xx, STM32F777xx, STM32F778xx and STM32F779xx devices
    • Add "stm32f765xx.h", "stm32f767xx.h", "stm32f769xx.h", "stm32f777xx.h" and "stm32f779xx.h" header files
    • Add startup files "startup_stm32f765xx.s", "startup_stm32f767xx.s", "startup_stm32f769xx.s", "startup_stm32f777xx.s" and "startup_stm32f779xx.s" for EWARM, MDK-ARM and SW4STM32 toolchains
    • Add Linker files "stm32f765xx_flash.icf", "stm32f765xx_sram.icf" and "stm32f765xx_ITCM_flash.icf" used within EWARM Workspaces
    • Add Linker files "stm32f767xx_flash.icf", "stm32f767xx_sram.icf" and "stm32f767xx_ITCM_flash.icf" used within EWARM Workspaces
    • Add Linker files "stm32f769xx_flash.icf", "stm32f769xx_sram.icf" and "stm32f769xx_ITCM_flash.icf" used within EWARM Workspaces
    • Add Linker files "stm32f777xx_flash.icf", "stm32f777xx_sram.icf" and "stm32f777xx_ITCM_flash.icf" used within EWARM Workspaces
    • Add Linker files "stm32f779xx_flash.icf", "stm32f779xx_sram.icf" and "stm32f779xx_ITCM_flash.icf" used within EWARM Workspaces
    • STM32F768xx cmsis files are associated with STM32F767xx ones, as there is no difference between these devices on HAL side
    • STM32F778xx cmsis files are associated with STM32F777xx ones, as there is no difference between these devices on HAL side
  • All devices header files
    • Update Bit Definition names in DCMI_RISR / DCMI_IER registers
    • Update Bit Definition names in DMA2D_CR / DMA2D_FGPFCCR / DMA2D_BGPFCCR / DMA2D_OPFCCR registers
    • Update QUADSPI_CR_FTHRES Bit Definition in QUADSPI_CR register
    • Rename SAI_xFRCR_FSPO to SAI_xFRCR_FSPOL in SAI_xFRCR register
    • Rename ADC_CSR_DOVRx Bit Definition to ADC_CSR_OVRx in ADC_CSR register
    • Rename LTDC_GCR_DTEN Bit Definition to LTDC_GCR_DEN in LTDC_GCR register
    • Rename PWR_CSR1_UDSWRDY Bit Definition to PWR_CSR1_UDRDY in PWR_CSR1 register
    • Rename RTC_TAMPCR_TAMPx_TRG Bit Definition to RTC_TAMPCR_TAMPxTRG in RTC_TAMPCR register
    • Rename USART_ISR_LBD Bit Definition to USART_ISR_LBDF in USART_ISR register
    • Rename IS_SAI_BLOCK_PERIPH macro to IS_SAI_ALL_INSTANCE
    • Rename DCMI_ICR_OVF_ISC Bit Definition to DCMI_ICR_OVR_ISC
    • Rename DMA2D_IFSR register to DMA2D_IFCR
    • Rename EXTI_IMR_MRx Bit Definition to EXTI_IMR_IM0x
    • Rename EXTI_EMR_MRx Bit Definition to EXTI_EMR_EMx
    • Fix LPTIM_CR_SNGSTRT Bit Definition value in LPTIM_CR register
    • Fix mask incorrect naming in DBGMCU_APB2_FZ register
    • Fix Bits Definition for SYSCFG_EXTICR4_EXTI13_PI and SYSCFG_EXTICR4_EXTI13_PJ
    • Add DAC_CR_DMAUDRIEx Bit Definition in DAC_CR register
    • Add a new mask EXTI_IMR_IM in EXTI bits definition: Interrupt Mask All
    • Add UID_BASE define for Unique ID register base address
    • Add FLASHSIZE_BASE define for register base address
    • Add PACKAGESIZE_BASE define for register base address
    • Add FLASH_SECTOR_TOTAL define for total Flash sector number
    • Add Bits Definition for DCMI_ESCR, DCMI_ESUR, DCMI_CWSTRT, DCMI_CWSIZE and DCMI_DR registers
    • Add PWR_CSR1_EIWUP Bit Definition in PWR_CSR1 register
    • Add IP version define for QSPI: QSPI_V1_0
    • Add IS_UART_DRIVER_ENABLE_INSTANCE macro
    • Apply an 'U' suffix to all constants of 'unsigned' type (MISRA-C 2004 rule 10.6)
    • Remove uint32_t cast in all defines
    • Remove DMA_SxCR_ACK Bit Definition in DMA_SxCR register
    • Remove I2C_CR1_SWRST / I2C_CR1_WUPEN Bit Definitions in I2C_CR1 register
    • Keep the same DCMI register names (RISR, MISR, CWSTRTR and CWSIZER) as F4 family
  • system_stm32f7xx.c/.h files
    • Remove external memories configuration from the system_stm32f7xx.c common file (moved to Template Projects)
    • Add declaration of AHBPrescTable / APBPrescTable constant tables
  • stm32f7xx.h
    • Rename __STM32F7xx_CMSIS_DEVICE_VERSION_xx defines to __STM32F7_CMSIS_VERSION_xx (MISRA-C 2004 rule 5.1)

V1.0.3 +/ 13-November-2015

+

Main +Changes

+
  • stm32f745xx.h, stm32f746xx.h and stm32f756xx.h files
    • update __CM7_REV with proper Cortex M7 core revision
    • update SAI_xCR2_CPL bit definition
    • update WWDG bits naming to be aligned with reference manual
    • rename I2C_CR1_DFN bit to I2C_CR1_DNF
    • remove OR register definition from LPTIM_TypeDef structure
  • system_stm32f7xx.c
    • update SystemInit_ExtMemCtl() function implementation to allow simultaneous use of SDRAM and SRAM external memories

V1.0.2 +/ 21-September-2015

+

Main +Changes

+
  • stm32f745xx.h, stm32f746xx.h and stm32f756xx.h files
    • add new define USB_OTG_DOEPMSK_OTEPSPRM
    • add new define USB_OTG_DOEPINT_OTEPSPR

V1.0.1 +/ 25-June-2015

+

Main +Changes

+
  • stm32f745xx.h, stm32f746xx.h and stm32f756xx.h files
    • update IDR field declaration in CRC_TypeDef sructure
    • add I2C Own address 2 mask bits defininition in the I2C_OAR2 register
    • update SAI_xSR_FLVL_2 bit definition
  • stm32f756xx.h file
    • rename HASH_STR_NBWx bits definition to HASH_STR_NBLWx
    • rename HASH_IMR_DINIM bit definition to HASH_IMR_DINIE
    • rename HASH_IMR_DCIM bit definition to HASH_IMR_DCIE

V1.0.0 +/ 28-April-2015

+

Main +Changes

+
  • First +official release for STM32F756xx/746xx/745xx +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. +
  3. 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.
  4. +
  5. Neither the +name of STMicroelectronics nor the names of its contributors may be +used to endorse or promote products derived
    +
  6. +
+       +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

+
+

+
+
+

 

+
\ No newline at end of file diff --git a/lib/main/STM32F7/Middlewares/ST/STM32_USB_Device_Library/Release_Notes.html b/lib/main/STM32F7/Middlewares/ST/STM32_USB_Device_Library/Release_Notes.html index 6f0551f23..d986789b7 100755 --- a/lib/main/STM32F7/Middlewares/ST/STM32_USB_Device_Library/Release_Notes.html +++ b/lib/main/STM32F7/Middlewares/ST/STM32_USB_Device_Library/Release_Notes.html @@ -1,1350 +1,1350 @@ - - - - - - - - - - - - - - - - - - -Release Notes for STM32 USB Device Library - - - - - - - - - -
- -

 

- -
- - - - - -
- - - - - - - -
-

Back to Release page

-
-

Release Notes for STM32 USB Device Library

-

Copyright - 2015 STMicroelectronics

-

-
-

 

- - - - -
-

Update History

-

V2.5.1 / 03-August-2018
-

- - - - - - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - - - - - -
  • Update license section by adding path to get copy of ST Ultimate Liberty license
  • Core: Fix unexpected stall during status OUT phase
  • DFU Class:
    • rework hdfu struct to prevent unaligned addresses
  • MSC Class:
    • fix lba address overflow during large file transfers > 4Go
  • Template Class:
    • add missing Switch case Break on USBD_Template_Setup API

V2.5.0 / 15-December-2017
-

- - - - - - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - - - - - -
  • Update license section
  • Update some functions to be MISRAC 2004 compliant
  • Add HS and OtherSpeed configuration descriptor for HID and CustomHID classes
  • Correct error handling in all class setup function
  • Add usbd_desc_template.c/ usbd_desc_template.h templates files
  • Add support of class and vendor request
  • CDC Class: fix zero-length packet issue in bulk IN transfer
  • Fix compilation warning with unused arguments for some functions
  • Improve USB Core enumeration state machine

V2.4.2 / 11-December-2015
-

- - - - - - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - - - - - -
    -
  • CDC Class
    • usbd_cdc.c: change #include "USBD_CDC.h" by #include "usbd_cdc.h"
    -
-
- -

V2.4.1 / 19-June-2015
-

- - - - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - - - -
    -
  • CDC Class
  • -
      -
    • usbd_cdc.c: comments update
    • -
    -
  • MSC Class
  • -
      -
    • usbd_msc_bot.h: update to be C++ compliant
    • -
    -
  • AUDIO Class
  • -
      -
    • usbd_audio.c: fix issue when Host sends GetInterface command it gets a wrong value
    • -
    -
      -
    • usbd_audio.c: remove useless management of DMA half transfer
      -
    • -
    -
- - - -

V2.4.0 / 28-February-2015
-

- - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - -
    -
  • Core Driver
  • -
      -
    • Add support of Link Power Management (LPM): add new API GetBOSDescriptor(), that is used only if USBD_LPM_ENABLED switch is enabled in usbd_conf.h file
    • usbd_core.c: -Fix bug of unsupported premature Host Out stage during data In stage -(ie. when endpoint 0 maximum data size is 8 and Host requests -GetDeviceDescriptor for the first time)
    • usbd_ctlreq.c: Fix bug of unsupported Endpoint Class requests (ie. Audio SetCurrent request for endpoint sampling rate setting)
    • -
    -
  • HID Class
  • -
      -
    • Updating Polling time API USBD_HID_GetPollingInterval() to query this period for HS and FS
    • usbd_hid.c: Fix USBD_LL_CloseEP() function call in USBD_HID_DeInit() replacing endpoint size by endpoint address.
    • -
  • CDC Class
    • usbd_cdc.c: 
      • Add missing GetInterface request management in USBD_CDC_Setup() function
      • Update -USBD_CDC_Setup() function to allow correct user implementation of -CDC_SET_CONTROL_LINE_STATE and similar no-data setup requests.
    -
- -

V2.3.0 / 04-November-2014
-

- - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - -
    -
  • Update all drivers to be C++ compliant
    -
  • -
  • CDC Class
  • -
      -
    • usbd_cdc.c: fix clear flag issue in USBD_CDC_TransmitPacket() function
    • -
    -
      -
    • usbd_cdc_if_template.c: update TEMPLATE_Receive() function header comment
      -
    • -
    -
  • Miscellaneous source code comments update
  • -
-

V2.2.0 / 13-June-2014

- - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - -
    -
  • Source code comments review and update
  • -
  • HID class
  • -
      -
    • Remove unused API USBD_HID_DeviceQualifierDescriptor()
    • -
    • Add a new API in the HID class to query the poll time USBD_HID_GetPollingInterval()
      -
    • -
    - -
  • CDC class
  • -
      -
    • Bug fix: missing handling ZeroLength Setup request
    • -
    -
  • All classes
    -
  • - -
      -
    • Add alias for the class definition, it's defined as macro with capital letter
    • -
    -
-
ex. for the HID, the USBD_HID_CLASS macro is defined this way #define USBD_HID_CLASS  &USBD_HID
  and the application code can use the previous definition: &USBD_HID ex. USBD_RegisterClass(&USBD_Device, &USBD_HID) or the new USBD_HID_CLASS ex. USBD_RegisterClass(&USBD_Device, USBD_HID_CLASS)
-

V2.1.0 / 22-April-2014

- - - - - - - - -

Main -Changes

- - - - - - - - - - - -
    -
  • usbd_conf_template.c: update file with the right content (it was using MSC memory management layer)
    -
  • -
  • usbd_conf_template.h: change include of stm32f4xx.h by stm32xxx.h and add comment to inform user to adapt it to the device used
  • -
  • Several enhancements in CustomHID class
  • -
      -
    • Update the Custom HID class driver to simplify the link with user processes
    • -
    • Optimize the Custom HID class driver and reduce footprint
    • -
    • Add USBD_CUSTOM_HID_RegisterInterface() API to link user process to custom HID class
    • -
    • Add Custom HID interface template file usbd_customhid_if_template.c/h
    • -
    -
  • Miscellaneous comments update
    -
  • - -
- -

V2.0.0 / 18-February-2014

- - - - - -

Main -Changes

- - - - - - - - - -
    -
  • Major update -based on STM32Cube specification: Library Core, Classes architecture and APIs -modified vs. V1.1.0, and thus the 2 versions are not compatible.
    -
  • This version has to be used only with STM32Cube based development
  • -
- - -

V1.1.0 / 19-March-2012

-

Main -Changes

- -
  • Official support of STM32F4xx devices
  • All source files: license disclaimer text update and add link to the License file on ST Internet.
  • Handle test mode in the set feature request
  • Handle dynamically the USB SELF POWERED feature
  • Handle correctly the USBD_CtlError process to take into account error during Control OUT stage
  • Miscellaneous bug fix

V1.0.0 / 22-July-2011

Main -Changes

-
  • First official version for STM32F105/7xx and STM32F2xx devices

-

License

This -software component is licensed by ST under Ultimate Liberty license -SLA0044, the "License"; You may not use this component except in -compliance with the License. You may obtain a copy of the License at:

http://www.st.com/SLA0044

- -
-
-
-

For - complete documentation on STM32 - Microcontrollers visit www.st.com/STM32

-
-

-
- -
- -

 

- -
- + + + + + + + + + + + + + + + + + + +Release Notes for STM32 USB Device Library + + + + + + + + + +
+ +

 

+ +
+ + + + + +
+ + + + + + + +
+

Back to Release page

+
+

Release Notes for STM32 USB Device Library

+

Copyright + 2015 STMicroelectronics

+

+
+

 

+ + + + +
+

Update History

+

V2.5.1 / 03-August-2018
+

+ + + + + + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + + + + + +
  • Update license section by adding path to get copy of ST Ultimate Liberty license
  • Core: Fix unexpected stall during status OUT phase
  • DFU Class:
    • rework hdfu struct to prevent unaligned addresses
  • MSC Class:
    • fix lba address overflow during large file transfers > 4Go
  • Template Class:
    • add missing Switch case Break on USBD_Template_Setup API

V2.5.0 / 15-December-2017
+

+ + + + + + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + + + + + +
  • Update license section
  • Update some functions to be MISRAC 2004 compliant
  • Add HS and OtherSpeed configuration descriptor for HID and CustomHID classes
  • Correct error handling in all class setup function
  • Add usbd_desc_template.c/ usbd_desc_template.h templates files
  • Add support of class and vendor request
  • CDC Class: fix zero-length packet issue in bulk IN transfer
  • Fix compilation warning with unused arguments for some functions
  • Improve USB Core enumeration state machine

V2.4.2 / 11-December-2015
+

+ + + + + + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + + + + + +
    +
  • CDC Class
    • usbd_cdc.c: change #include "USBD_CDC.h" by #include "usbd_cdc.h"
    +
+
+ +

V2.4.1 / 19-June-2015
+

+ + + + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + + + +
    +
  • CDC Class
  • +
      +
    • usbd_cdc.c: comments update
    • +
    +
  • MSC Class
  • +
      +
    • usbd_msc_bot.h: update to be C++ compliant
    • +
    +
  • AUDIO Class
  • +
      +
    • usbd_audio.c: fix issue when Host sends GetInterface command it gets a wrong value
    • +
    +
      +
    • usbd_audio.c: remove useless management of DMA half transfer
      +
    • +
    +
+ + + +

V2.4.0 / 28-February-2015
+

+ + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + +
    +
  • Core Driver
  • +
      +
    • Add support of Link Power Management (LPM): add new API GetBOSDescriptor(), that is used only if USBD_LPM_ENABLED switch is enabled in usbd_conf.h file
    • usbd_core.c: +Fix bug of unsupported premature Host Out stage during data In stage +(ie. when endpoint 0 maximum data size is 8 and Host requests +GetDeviceDescriptor for the first time)
    • usbd_ctlreq.c: Fix bug of unsupported Endpoint Class requests (ie. Audio SetCurrent request for endpoint sampling rate setting)
    • +
    +
  • HID Class
  • +
      +
    • Updating Polling time API USBD_HID_GetPollingInterval() to query this period for HS and FS
    • usbd_hid.c: Fix USBD_LL_CloseEP() function call in USBD_HID_DeInit() replacing endpoint size by endpoint address.
    • +
  • CDC Class
    • usbd_cdc.c: 
      • Add missing GetInterface request management in USBD_CDC_Setup() function
      • Update +USBD_CDC_Setup() function to allow correct user implementation of +CDC_SET_CONTROL_LINE_STATE and similar no-data setup requests.
    +
+ +

V2.3.0 / 04-November-2014
+

+ + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + +
    +
  • Update all drivers to be C++ compliant
    +
  • +
  • CDC Class
  • +
      +
    • usbd_cdc.c: fix clear flag issue in USBD_CDC_TransmitPacket() function
    • +
    +
      +
    • usbd_cdc_if_template.c: update TEMPLATE_Receive() function header comment
      +
    • +
    +
  • Miscellaneous source code comments update
  • +
+

V2.2.0 / 13-June-2014

+ + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + +
    +
  • Source code comments review and update
  • +
  • HID class
  • +
      +
    • Remove unused API USBD_HID_DeviceQualifierDescriptor()
    • +
    • Add a new API in the HID class to query the poll time USBD_HID_GetPollingInterval()
      +
    • +
    + +
  • CDC class
  • +
      +
    • Bug fix: missing handling ZeroLength Setup request
    • +
    +
  • All classes
    +
  • + +
      +
    • Add alias for the class definition, it's defined as macro with capital letter
    • +
    +
+
ex. for the HID, the USBD_HID_CLASS macro is defined this way #define USBD_HID_CLASS  &USBD_HID
  and the application code can use the previous definition: &USBD_HID ex. USBD_RegisterClass(&USBD_Device, &USBD_HID) or the new USBD_HID_CLASS ex. USBD_RegisterClass(&USBD_Device, USBD_HID_CLASS)
+

V2.1.0 / 22-April-2014

+ + + + + + + + +

Main +Changes

+ + + + + + + + + + + +
    +
  • usbd_conf_template.c: update file with the right content (it was using MSC memory management layer)
    +
  • +
  • usbd_conf_template.h: change include of stm32f4xx.h by stm32xxx.h and add comment to inform user to adapt it to the device used
  • +
  • Several enhancements in CustomHID class
  • +
      +
    • Update the Custom HID class driver to simplify the link with user processes
    • +
    • Optimize the Custom HID class driver and reduce footprint
    • +
    • Add USBD_CUSTOM_HID_RegisterInterface() API to link user process to custom HID class
    • +
    • Add Custom HID interface template file usbd_customhid_if_template.c/h
    • +
    +
  • Miscellaneous comments update
    +
  • + +
+ +

V2.0.0 / 18-February-2014

+ + + + + +

Main +Changes

+ + + + + + + + + +
    +
  • Major update +based on STM32Cube specification: Library Core, Classes architecture and APIs +modified vs. V1.1.0, and thus the 2 versions are not compatible.
    +
  • This version has to be used only with STM32Cube based development
  • +
+ + +

V1.1.0 / 19-March-2012

+

Main +Changes

+ +
  • Official support of STM32F4xx devices
  • All source files: license disclaimer text update and add link to the License file on ST Internet.
  • Handle test mode in the set feature request
  • Handle dynamically the USB SELF POWERED feature
  • Handle correctly the USBD_CtlError process to take into account error during Control OUT stage
  • Miscellaneous bug fix

V1.0.0 / 22-July-2011

Main +Changes

+
  • First official version for STM32F105/7xx and STM32F2xx devices

+

License

This +software component is licensed by ST under Ultimate Liberty license +SLA0044, the "License"; You may not use this component except in +compliance with the License. You may obtain a copy of the License at:

http://www.st.com/SLA0044

+ +
+
+
+

For + complete documentation on STM32 + Microcontrollers visit www.st.com/STM32

+
+

+
+ +
+ +

 

+ +
+ \ No newline at end of file diff --git a/lib/main/STM32H7/Middlewares/ST/STM32_USB_Device_Library/Release_Notes.html b/lib/main/STM32H7/Middlewares/ST/STM32_USB_Device_Library/Release_Notes.html index 6f0551f23..d986789b7 100755 --- a/lib/main/STM32H7/Middlewares/ST/STM32_USB_Device_Library/Release_Notes.html +++ b/lib/main/STM32H7/Middlewares/ST/STM32_USB_Device_Library/Release_Notes.html @@ -1,1350 +1,1350 @@ - - - - - - - - - - - - - - - - - - -Release Notes for STM32 USB Device Library - - - - - - - - - -
- -

 

- -
- - - - - -
- - - - - - - -
-

Back to Release page

-
-

Release Notes for STM32 USB Device Library

-

Copyright - 2015 STMicroelectronics

-

-
-

 

- - - - -
-

Update History

-

V2.5.1 / 03-August-2018
-

- - - - - - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - - - - - -
  • Update license section by adding path to get copy of ST Ultimate Liberty license
  • Core: Fix unexpected stall during status OUT phase
  • DFU Class:
    • rework hdfu struct to prevent unaligned addresses
  • MSC Class:
    • fix lba address overflow during large file transfers > 4Go
  • Template Class:
    • add missing Switch case Break on USBD_Template_Setup API

V2.5.0 / 15-December-2017
-

- - - - - - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - - - - - -
  • Update license section
  • Update some functions to be MISRAC 2004 compliant
  • Add HS and OtherSpeed configuration descriptor for HID and CustomHID classes
  • Correct error handling in all class setup function
  • Add usbd_desc_template.c/ usbd_desc_template.h templates files
  • Add support of class and vendor request
  • CDC Class: fix zero-length packet issue in bulk IN transfer
  • Fix compilation warning with unused arguments for some functions
  • Improve USB Core enumeration state machine

V2.4.2 / 11-December-2015
-

- - - - - - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - - - - - -
    -
  • CDC Class
    • usbd_cdc.c: change #include "USBD_CDC.h" by #include "usbd_cdc.h"
    -
-
- -

V2.4.1 / 19-June-2015
-

- - - - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - - - -
    -
  • CDC Class
  • -
      -
    • usbd_cdc.c: comments update
    • -
    -
  • MSC Class
  • -
      -
    • usbd_msc_bot.h: update to be C++ compliant
    • -
    -
  • AUDIO Class
  • -
      -
    • usbd_audio.c: fix issue when Host sends GetInterface command it gets a wrong value
    • -
    -
      -
    • usbd_audio.c: remove useless management of DMA half transfer
      -
    • -
    -
- - - -

V2.4.0 / 28-February-2015
-

- - - - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - - - -
    -
  • Core Driver
  • -
      -
    • Add support of Link Power Management (LPM): add new API GetBOSDescriptor(), that is used only if USBD_LPM_ENABLED switch is enabled in usbd_conf.h file
    • usbd_core.c: -Fix bug of unsupported premature Host Out stage during data In stage -(ie. when endpoint 0 maximum data size is 8 and Host requests -GetDeviceDescriptor for the first time)
    • usbd_ctlreq.c: Fix bug of unsupported Endpoint Class requests (ie. Audio SetCurrent request for endpoint sampling rate setting)
    • -
    -
  • HID Class
  • -
      -
    • Updating Polling time API USBD_HID_GetPollingInterval() to query this period for HS and FS
    • usbd_hid.c: Fix USBD_LL_CloseEP() function call in USBD_HID_DeInit() replacing endpoint size by endpoint address.
    • -
  • CDC Class
    • usbd_cdc.c: 
      • Add missing GetInterface request management in USBD_CDC_Setup() function
      • Update -USBD_CDC_Setup() function to allow correct user implementation of -CDC_SET_CONTROL_LINE_STATE and similar no-data setup requests.
    -
- -

V2.3.0 / 04-November-2014
-

- - - - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - - - -
    -
  • Update all drivers to be C++ compliant
    -
  • -
  • CDC Class
  • -
      -
    • usbd_cdc.c: fix clear flag issue in USBD_CDC_TransmitPacket() function
    • -
    -
      -
    • usbd_cdc_if_template.c: update TEMPLATE_Receive() function header comment
      -
    • -
    -
  • Miscellaneous source code comments update
  • -
-

V2.2.0 / 13-June-2014

- - - - - - - - - -

Main -Changes

- - - - - - - - - - - - - -
    -
  • Source code comments review and update
  • -
  • HID class
  • -
      -
    • Remove unused API USBD_HID_DeviceQualifierDescriptor()
    • -
    • Add a new API in the HID class to query the poll time USBD_HID_GetPollingInterval()
      -
    • -
    - -
  • CDC class
  • -
      -
    • Bug fix: missing handling ZeroLength Setup request
    • -
    -
  • All classes
    -
  • - -
      -
    • Add alias for the class definition, it's defined as macro with capital letter
    • -
    -
-
ex. for the HID, the USBD_HID_CLASS macro is defined this way #define USBD_HID_CLASS  &USBD_HID
  and the application code can use the previous definition: &USBD_HID ex. USBD_RegisterClass(&USBD_Device, &USBD_HID) or the new USBD_HID_CLASS ex. USBD_RegisterClass(&USBD_Device, USBD_HID_CLASS)
-

V2.1.0 / 22-April-2014

- - - - - - - - -

Main -Changes

- - - - - - - - - - - -
    -
  • usbd_conf_template.c: update file with the right content (it was using MSC memory management layer)
    -
  • -
  • usbd_conf_template.h: change include of stm32f4xx.h by stm32xxx.h and add comment to inform user to adapt it to the device used
  • -
  • Several enhancements in CustomHID class
  • -
      -
    • Update the Custom HID class driver to simplify the link with user processes
    • -
    • Optimize the Custom HID class driver and reduce footprint
    • -
    • Add USBD_CUSTOM_HID_RegisterInterface() API to link user process to custom HID class
    • -
    • Add Custom HID interface template file usbd_customhid_if_template.c/h
    • -
    -
  • Miscellaneous comments update
    -
  • - -
- -

V2.0.0 / 18-February-2014

- - - - - -

Main -Changes

- - - - - - - - - -
    -
  • Major update -based on STM32Cube specification: Library Core, Classes architecture and APIs -modified vs. V1.1.0, and thus the 2 versions are not compatible.
    -
  • This version has to be used only with STM32Cube based development
  • -
- - -

V1.1.0 / 19-March-2012

-

Main -Changes

- -
  • Official support of STM32F4xx devices
  • All source files: license disclaimer text update and add link to the License file on ST Internet.
  • Handle test mode in the set feature request
  • Handle dynamically the USB SELF POWERED feature
  • Handle correctly the USBD_CtlError process to take into account error during Control OUT stage
  • Miscellaneous bug fix

V1.0.0 / 22-July-2011

Main -Changes

-
  • First official version for STM32F105/7xx and STM32F2xx devices

-

License

This -software component is licensed by ST under Ultimate Liberty license -SLA0044, the "License"; You may not use this component except in -compliance with the License. You may obtain a copy of the License at:

http://www.st.com/SLA0044

- -
-
-
-

For - complete documentation on STM32 - Microcontrollers visit www.st.com/STM32

-
-

-
- -
- -

 

- -
- + + + + + + + + + + + + + + + + + + +Release Notes for STM32 USB Device Library + + + + + + + + + +
+ +

 

+ +
+ + + + + +
+ + + + + + + +
+

Back to Release page

+
+

Release Notes for STM32 USB Device Library

+

Copyright + 2015 STMicroelectronics

+

+
+

 

+ + + + +
+

Update History

+

V2.5.1 / 03-August-2018
+

+ + + + + + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + + + + + +
  • Update license section by adding path to get copy of ST Ultimate Liberty license
  • Core: Fix unexpected stall during status OUT phase
  • DFU Class:
    • rework hdfu struct to prevent unaligned addresses
  • MSC Class:
    • fix lba address overflow during large file transfers > 4Go
  • Template Class:
    • add missing Switch case Break on USBD_Template_Setup API

V2.5.0 / 15-December-2017
+

+ + + + + + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + + + + + +
  • Update license section
  • Update some functions to be MISRAC 2004 compliant
  • Add HS and OtherSpeed configuration descriptor for HID and CustomHID classes
  • Correct error handling in all class setup function
  • Add usbd_desc_template.c/ usbd_desc_template.h templates files
  • Add support of class and vendor request
  • CDC Class: fix zero-length packet issue in bulk IN transfer
  • Fix compilation warning with unused arguments for some functions
  • Improve USB Core enumeration state machine

V2.4.2 / 11-December-2015
+

+ + + + + + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + + + + + +
    +
  • CDC Class
    • usbd_cdc.c: change #include "USBD_CDC.h" by #include "usbd_cdc.h"
    +
+
+ +

V2.4.1 / 19-June-2015
+

+ + + + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + + + +
    +
  • CDC Class
  • +
      +
    • usbd_cdc.c: comments update
    • +
    +
  • MSC Class
  • +
      +
    • usbd_msc_bot.h: update to be C++ compliant
    • +
    +
  • AUDIO Class
  • +
      +
    • usbd_audio.c: fix issue when Host sends GetInterface command it gets a wrong value
    • +
    +
      +
    • usbd_audio.c: remove useless management of DMA half transfer
      +
    • +
    +
+ + + +

V2.4.0 / 28-February-2015
+

+ + + + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + + + +
    +
  • Core Driver
  • +
      +
    • Add support of Link Power Management (LPM): add new API GetBOSDescriptor(), that is used only if USBD_LPM_ENABLED switch is enabled in usbd_conf.h file
    • usbd_core.c: +Fix bug of unsupported premature Host Out stage during data In stage +(ie. when endpoint 0 maximum data size is 8 and Host requests +GetDeviceDescriptor for the first time)
    • usbd_ctlreq.c: Fix bug of unsupported Endpoint Class requests (ie. Audio SetCurrent request for endpoint sampling rate setting)
    • +
    +
  • HID Class
  • +
      +
    • Updating Polling time API USBD_HID_GetPollingInterval() to query this period for HS and FS
    • usbd_hid.c: Fix USBD_LL_CloseEP() function call in USBD_HID_DeInit() replacing endpoint size by endpoint address.
    • +
  • CDC Class
    • usbd_cdc.c: 
      • Add missing GetInterface request management in USBD_CDC_Setup() function
      • Update +USBD_CDC_Setup() function to allow correct user implementation of +CDC_SET_CONTROL_LINE_STATE and similar no-data setup requests.
    +
+ +

V2.3.0 / 04-November-2014
+

+ + + + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + + + +
    +
  • Update all drivers to be C++ compliant
    +
  • +
  • CDC Class
  • +
      +
    • usbd_cdc.c: fix clear flag issue in USBD_CDC_TransmitPacket() function
    • +
    +
      +
    • usbd_cdc_if_template.c: update TEMPLATE_Receive() function header comment
      +
    • +
    +
  • Miscellaneous source code comments update
  • +
+

V2.2.0 / 13-June-2014

+ + + + + + + + + +

Main +Changes

+ + + + + + + + + + + + + +
    +
  • Source code comments review and update
  • +
  • HID class
  • +
      +
    • Remove unused API USBD_HID_DeviceQualifierDescriptor()
    • +
    • Add a new API in the HID class to query the poll time USBD_HID_GetPollingInterval()
      +
    • +
    + +
  • CDC class
  • +
      +
    • Bug fix: missing handling ZeroLength Setup request
    • +
    +
  • All classes
    +
  • + +
      +
    • Add alias for the class definition, it's defined as macro with capital letter
    • +
    +
+
ex. for the HID, the USBD_HID_CLASS macro is defined this way #define USBD_HID_CLASS  &USBD_HID
  and the application code can use the previous definition: &USBD_HID ex. USBD_RegisterClass(&USBD_Device, &USBD_HID) or the new USBD_HID_CLASS ex. USBD_RegisterClass(&USBD_Device, USBD_HID_CLASS)
+

V2.1.0 / 22-April-2014

+ + + + + + + + +

Main +Changes

+ + + + + + + + + + + +
    +
  • usbd_conf_template.c: update file with the right content (it was using MSC memory management layer)
    +
  • +
  • usbd_conf_template.h: change include of stm32f4xx.h by stm32xxx.h and add comment to inform user to adapt it to the device used
  • +
  • Several enhancements in CustomHID class
  • +
      +
    • Update the Custom HID class driver to simplify the link with user processes
    • +
    • Optimize the Custom HID class driver and reduce footprint
    • +
    • Add USBD_CUSTOM_HID_RegisterInterface() API to link user process to custom HID class
    • +
    • Add Custom HID interface template file usbd_customhid_if_template.c/h
    • +
    +
  • Miscellaneous comments update
    +
  • + +
+ +

V2.0.0 / 18-February-2014

+ + + + + +

Main +Changes

+ + + + + + + + + +
    +
  • Major update +based on STM32Cube specification: Library Core, Classes architecture and APIs +modified vs. V1.1.0, and thus the 2 versions are not compatible.
    +
  • This version has to be used only with STM32Cube based development
  • +
+ + +

V1.1.0 / 19-March-2012

+

Main +Changes

+ +
  • Official support of STM32F4xx devices
  • All source files: license disclaimer text update and add link to the License file on ST Internet.
  • Handle test mode in the set feature request
  • Handle dynamically the USB SELF POWERED feature
  • Handle correctly the USBD_CtlError process to take into account error during Control OUT stage
  • Miscellaneous bug fix

V1.0.0 / 22-July-2011

Main +Changes

+
  • First official version for STM32F105/7xx and STM32F2xx devices

+

License

This +software component is licensed by ST under Ultimate Liberty license +SLA0044, the "License"; You may not use this component except in +compliance with the License. You may obtain a copy of the License at:

http://www.st.com/SLA0044

+ +
+
+
+

For + complete documentation on STM32 + Microcontrollers visit www.st.com/STM32

+
+

+
+ +
+ +

 

+ +
+ \ No newline at end of file diff --git a/lib/main/STM32_USB_OTG_Driver/Release_Notes.html b/lib/main/STM32_USB_OTG_Driver/Release_Notes.html index 4aa1e5aa9..2edf8d383 100644 --- a/lib/main/STM32_USB_OTG_Driver/Release_Notes.html +++ b/lib/main/STM32_USB_OTG_Driver/Release_Notes.html @@ -1,952 +1,952 @@ - - - - -Release Notes for STM32F105/7xx, STM32F2xx and STM32F4xx USB OTG Driver - - - - - - - - -
- -

 

- -
- - - - - -
- - - - - - - -
-

Back to Release page

-
-

Release Notes for STM32F105/7xx, STM32F2xx and STM32F4xx USB OTG Driver

-

Copyright - 2015 STMicroelectronics

-

-
-

 

- - - - -
-

Update History

V2.2.0 / 09-November-2015

Main -Changes

- -
    -
  • Add support of  STM32F469/479xx and  STM32F446 devices
  • -
  • usb_dcd_int.c
    • Bug -Fix: Masking the TxFIFOempty interrupt of the endpoint after -finishing writing data packet to TxFIFO in DCD_WriteEmptyTxFifo function
    • Bug Fix: The USB TRD (Turnaround) is configured depending on AHB frequency used by application.
    • Bug Fix: Handle multi-packet for OUT transfer with DMA in HS mode
    • Remove CLEAR_IN_EP_INTR(epnum, emptyintr) in USBD_OTG_EP1IN_ISR_Handler and DCD_HandleInEP_ISR
    • Correct PCFCCTL register access
  • usb_core.c
    • USB_OTG_HC_Halt function: Modify Channel halt function to disable the channel at the end
    • Correct PCFCCTL register access
    • Bug Fix: Handle multi-packet for OUT transfer with DMA in HS mode
    • Bug Fix: Keep the disconnect interrupt maskedIn function  USB_OTG_EnableHostInt for correct handling of connection/disconnection
    • In function USB_OTG_ResetPort change reset time to 100ms instead of 10ms for better stability during enumeration
  • usb_hcd.c
    •  Add function HCD_IsPortEnabled to check portenabled for correct handling of connection/disconnection
  • usb_hcd_int.c 
    • Remove USB_OTG_ResetPort(pdev) calling 
    • Update USB_OTG_USBH_handle_port_ISR for correct handling of connection/disconnection
    • Disconnect interrupt is unmasked after a connection
    • Creation of PortEnabled event (need to wait for this event before starting enumerating device)
    • Halt channel and restart transfer is removed When using DMA (HS) In case of NAK or NYET in USB_OTG_USBH_handle_hc_n_Out_ISR and USB_OTG_USBH_handle_hc_n_In_ISR
    • Clearing the NAK interrupt flag before re-enabling the channel for a new transfer in USB_OTG_USBH_handle_hc_n_In_ISR function

V2.1.0 / 19-March-2012

-

Main -Changes

- -
  • Official support of STM32F4xx devices
  • All source files: license disclaimer text update and add link to the License file on ST Internet
  • Unmask Session request interrupt to handle the connect event during the core start-up
  • Remove any reference to the USB HS external I2C PHY
  • Update optimization pragma for AR Compiler
  • Handle Correctly the Low Speed device connection in HS mode
  • Add a wrapper to isolate the library from the low level driver: connection done through ISR structure
  • Miscellaneous bug fix

V2.0.0 / 22-July-2011

Main -Changes

-
  • Second official version supporting STM32F105/7 and STM32F2xx devices
  • Rename the Library from "STM32_USB_HOST_Driver" to "STM32_USB_OTG_Driver"
  • Add support for STM32F2xx devices
  • Add support for Device and OTG modes
  • Change HCD layer to support High speed core
  • Change the Low level driver to support multi core support for Host mode
  • Add Stop mechanism for Host and Device modes
  • Change VBUS enabling method, to use the external or the internal VBUS when using the ULPI

V1.0.0 - 11/29/2010

-
  • Created 

License

-

Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this package except in compliance with the License. You may obtain a copy of the License at:


Unless -required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See -the License for the specific language governing permissions and -limitations under the License.
-
-
-
-

For - complete documentation on STM32 - Microcontrollers visit www.st.com/STM32

-
-

-
- -
- -

 

- -
- + + + + +Release Notes for STM32F105/7xx, STM32F2xx and STM32F4xx USB OTG Driver + + + + + + + + +
+ +

 

+ +
+ + + + + +
+ + + + + + + +
+

Back to Release page

+
+

Release Notes for STM32F105/7xx, STM32F2xx and STM32F4xx USB OTG Driver

+

Copyright + 2015 STMicroelectronics

+

+
+

 

+ + + + +
+

Update History

V2.2.0 / 09-November-2015

Main +Changes

+ +
    +
  • Add support of  STM32F469/479xx and  STM32F446 devices
  • +
  • usb_dcd_int.c
    • Bug +Fix: Masking the TxFIFOempty interrupt of the endpoint after +finishing writing data packet to TxFIFO in DCD_WriteEmptyTxFifo function
    • Bug Fix: The USB TRD (Turnaround) is configured depending on AHB frequency used by application.
    • Bug Fix: Handle multi-packet for OUT transfer with DMA in HS mode
    • Remove CLEAR_IN_EP_INTR(epnum, emptyintr) in USBD_OTG_EP1IN_ISR_Handler and DCD_HandleInEP_ISR
    • Correct PCFCCTL register access
  • usb_core.c
    • USB_OTG_HC_Halt function: Modify Channel halt function to disable the channel at the end
    • Correct PCFCCTL register access
    • Bug Fix: Handle multi-packet for OUT transfer with DMA in HS mode
    • Bug Fix: Keep the disconnect interrupt maskedIn function  USB_OTG_EnableHostInt for correct handling of connection/disconnection
    • In function USB_OTG_ResetPort change reset time to 100ms instead of 10ms for better stability during enumeration
  • usb_hcd.c
    •  Add function HCD_IsPortEnabled to check portenabled for correct handling of connection/disconnection
  • usb_hcd_int.c 
    • Remove USB_OTG_ResetPort(pdev) calling 
    • Update USB_OTG_USBH_handle_port_ISR for correct handling of connection/disconnection
    • Disconnect interrupt is unmasked after a connection
    • Creation of PortEnabled event (need to wait for this event before starting enumerating device)
    • Halt channel and restart transfer is removed When using DMA (HS) In case of NAK or NYET in USB_OTG_USBH_handle_hc_n_Out_ISR and USB_OTG_USBH_handle_hc_n_In_ISR
    • Clearing the NAK interrupt flag before re-enabling the channel for a new transfer in USB_OTG_USBH_handle_hc_n_In_ISR function

V2.1.0 / 19-March-2012

+

Main +Changes

+ +
  • Official support of STM32F4xx devices
  • All source files: license disclaimer text update and add link to the License file on ST Internet
  • Unmask Session request interrupt to handle the connect event during the core start-up
  • Remove any reference to the USB HS external I2C PHY
  • Update optimization pragma for AR Compiler
  • Handle Correctly the Low Speed device connection in HS mode
  • Add a wrapper to isolate the library from the low level driver: connection done through ISR structure
  • Miscellaneous bug fix

V2.0.0 / 22-July-2011

Main +Changes

+
  • Second official version supporting STM32F105/7 and STM32F2xx devices
  • Rename the Library from "STM32_USB_HOST_Driver" to "STM32_USB_OTG_Driver"
  • Add support for STM32F2xx devices
  • Add support for Device and OTG modes
  • Change HCD layer to support High speed core
  • Change the Low level driver to support multi core support for Host mode
  • Add Stop mechanism for Host and Device modes
  • Change VBUS enabling method, to use the external or the internal VBUS when using the ULPI

V1.0.0 - 11/29/2010

+
  • Created 

License

+

Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this package except in compliance with the License. You may obtain a copy of the License at:


Unless +required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See +the License for the specific language governing permissions and +limitations under the License.
+
+
+
+

For + complete documentation on STM32 + Microcontrollers visit www.st.com/STM32

+
+

+
+ +
+ +

 

+ +
+ \ No newline at end of file -- 2.11.4.GIT