mbed library sources

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Fri Nov 07 15:45:07 2014 +0000
Revision:
394:83f921546702
Parent:
targets/cmsis/TARGET_STM/TARGET_NUCLEO_L152RE/stm32l1xx_hal_crc.h@354:e67efb2aab0e
Synchronized with git revision aab52cb7ec5a665869e507dd988bbfd55b7e087e

Full URL: https://github.com/mbedmicro/mbed/commit/aab52cb7ec5a665869e507dd988bbfd55b7e087e/

Tests: Fix cpputest testrunner

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 354:e67efb2aab0e 1 /**
mbed_official 354:e67efb2aab0e 2 ******************************************************************************
mbed_official 354:e67efb2aab0e 3 * @file stm32l1xx_hal_crc.h
mbed_official 354:e67efb2aab0e 4 * @author MCD Application Team
mbed_official 354:e67efb2aab0e 5 * @version V1.0.0
mbed_official 354:e67efb2aab0e 6 * @date 5-September-2014
mbed_official 354:e67efb2aab0e 7 * @brief Header file of CRC HAL module.
mbed_official 354:e67efb2aab0e 8 ******************************************************************************
mbed_official 354:e67efb2aab0e 9 * @attention
mbed_official 354:e67efb2aab0e 10 *
mbed_official 354:e67efb2aab0e 11 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
mbed_official 354:e67efb2aab0e 12 *
mbed_official 354:e67efb2aab0e 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 354:e67efb2aab0e 14 * are permitted provided that the following conditions are met:
mbed_official 354:e67efb2aab0e 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 354:e67efb2aab0e 16 * this list of conditions and the following disclaimer.
mbed_official 354:e67efb2aab0e 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 354:e67efb2aab0e 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 354:e67efb2aab0e 19 * and/or other materials provided with the distribution.
mbed_official 354:e67efb2aab0e 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 354:e67efb2aab0e 21 * may be used to endorse or promote products derived from this software
mbed_official 354:e67efb2aab0e 22 * without specific prior written permission.
mbed_official 354:e67efb2aab0e 23 *
mbed_official 354:e67efb2aab0e 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 354:e67efb2aab0e 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 354:e67efb2aab0e 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 354:e67efb2aab0e 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 354:e67efb2aab0e 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 354:e67efb2aab0e 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 354:e67efb2aab0e 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 354:e67efb2aab0e 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 354:e67efb2aab0e 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 354:e67efb2aab0e 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 354:e67efb2aab0e 34 *
mbed_official 354:e67efb2aab0e 35 ******************************************************************************
mbed_official 354:e67efb2aab0e 36 */
mbed_official 354:e67efb2aab0e 37
mbed_official 354:e67efb2aab0e 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 354:e67efb2aab0e 39 #ifndef __STM32L1xx_HAL_CRC_H
mbed_official 354:e67efb2aab0e 40 #define __STM32L1xx_HAL_CRC_H
mbed_official 354:e67efb2aab0e 41
mbed_official 354:e67efb2aab0e 42 #ifdef __cplusplus
mbed_official 354:e67efb2aab0e 43 extern "C" {
mbed_official 354:e67efb2aab0e 44 #endif
mbed_official 354:e67efb2aab0e 45
mbed_official 354:e67efb2aab0e 46 /* Includes ------------------------------------------------------------------*/
mbed_official 354:e67efb2aab0e 47 #include "stm32l1xx_hal_def.h"
mbed_official 354:e67efb2aab0e 48
mbed_official 354:e67efb2aab0e 49 /** @addtogroup STM32L1xx_HAL_Driver
mbed_official 354:e67efb2aab0e 50 * @{
mbed_official 354:e67efb2aab0e 51 */
mbed_official 354:e67efb2aab0e 52
mbed_official 354:e67efb2aab0e 53 /** @addtogroup CRC
mbed_official 354:e67efb2aab0e 54 * @{
mbed_official 354:e67efb2aab0e 55 */
mbed_official 354:e67efb2aab0e 56
mbed_official 354:e67efb2aab0e 57 /* Exported types ------------------------------------------------------------*/
mbed_official 354:e67efb2aab0e 58
mbed_official 354:e67efb2aab0e 59 /** @defgroup CRC_Exported_Types CRC Exported Types
mbed_official 354:e67efb2aab0e 60 * @{
mbed_official 354:e67efb2aab0e 61 */
mbed_official 354:e67efb2aab0e 62
mbed_official 354:e67efb2aab0e 63 /**
mbed_official 354:e67efb2aab0e 64 * @brief CRC HAL State Structure definition
mbed_official 354:e67efb2aab0e 65 */
mbed_official 354:e67efb2aab0e 66 typedef enum
mbed_official 354:e67efb2aab0e 67 {
mbed_official 354:e67efb2aab0e 68 HAL_CRC_STATE_RESET = 0x00, /*!< CRC not yet initialized or disabled */
mbed_official 354:e67efb2aab0e 69 HAL_CRC_STATE_READY = 0x01, /*!< CRC initialized and ready for use */
mbed_official 354:e67efb2aab0e 70 HAL_CRC_STATE_BUSY = 0x02, /*!< CRC internal process is ongoing */
mbed_official 354:e67efb2aab0e 71 HAL_CRC_STATE_TIMEOUT = 0x03, /*!< CRC timeout state */
mbed_official 354:e67efb2aab0e 72 HAL_CRC_STATE_ERROR = 0x04 /*!< CRC error state */
mbed_official 354:e67efb2aab0e 73
mbed_official 354:e67efb2aab0e 74 }HAL_CRC_StateTypeDef;
mbed_official 354:e67efb2aab0e 75
mbed_official 354:e67efb2aab0e 76 /**
mbed_official 354:e67efb2aab0e 77 * @brief CRC handle Structure definition
mbed_official 354:e67efb2aab0e 78 */
mbed_official 354:e67efb2aab0e 79 typedef struct
mbed_official 354:e67efb2aab0e 80 {
mbed_official 354:e67efb2aab0e 81 CRC_TypeDef *Instance; /*!< Register base address */
mbed_official 354:e67efb2aab0e 82
mbed_official 354:e67efb2aab0e 83 HAL_LockTypeDef Lock; /*!< CRC locking object */
mbed_official 354:e67efb2aab0e 84
mbed_official 354:e67efb2aab0e 85 __IO HAL_CRC_StateTypeDef State; /*!< CRC communication state */
mbed_official 354:e67efb2aab0e 86
mbed_official 354:e67efb2aab0e 87 }CRC_HandleTypeDef;
mbed_official 354:e67efb2aab0e 88
mbed_official 354:e67efb2aab0e 89 /**
mbed_official 354:e67efb2aab0e 90 * @}
mbed_official 354:e67efb2aab0e 91 */
mbed_official 354:e67efb2aab0e 92
mbed_official 354:e67efb2aab0e 93 /* Exported constants --------------------------------------------------------*/
mbed_official 354:e67efb2aab0e 94 /* Exported macro ------------------------------------------------------------*/
mbed_official 354:e67efb2aab0e 95
mbed_official 354:e67efb2aab0e 96 /** @defgroup CRC_Exported_Macros CRC Exported Macros
mbed_official 354:e67efb2aab0e 97 * @{
mbed_official 354:e67efb2aab0e 98 */
mbed_official 354:e67efb2aab0e 99
mbed_official 354:e67efb2aab0e 100 /** @brief Reset CRC handle state
mbed_official 354:e67efb2aab0e 101 * @param __HANDLE__: CRC handle
mbed_official 354:e67efb2aab0e 102 * @retval None
mbed_official 354:e67efb2aab0e 103 */
mbed_official 354:e67efb2aab0e 104 #define __HAL_CRC_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_CRC_STATE_RESET)
mbed_official 354:e67efb2aab0e 105
mbed_official 354:e67efb2aab0e 106 /**
mbed_official 354:e67efb2aab0e 107 * @brief Resets CRC Data Register.
mbed_official 354:e67efb2aab0e 108 * @param __HANDLE__: CRC handle
mbed_official 354:e67efb2aab0e 109 * @retval None
mbed_official 354:e67efb2aab0e 110 */
mbed_official 354:e67efb2aab0e 111 #define __HAL_CRC_DR_RESET(__HANDLE__) (SET_BIT((__HANDLE__)->Instance->CR,CRC_CR_RESET))
mbed_official 354:e67efb2aab0e 112
mbed_official 354:e67efb2aab0e 113 /**
mbed_official 354:e67efb2aab0e 114 * @brief Stores a 8-bit data in the Independent Data(ID) register.
mbed_official 354:e67efb2aab0e 115 * @param __HANDLE__: CRC handle
mbed_official 354:e67efb2aab0e 116 * @param __VALUE__: 8-bit value to be stored in the ID register
mbed_official 354:e67efb2aab0e 117 * @retval None
mbed_official 354:e67efb2aab0e 118 */
mbed_official 354:e67efb2aab0e 119 #define __HAL_CRC_SET_IDR(__HANDLE__, __VALUE__) (MODIFY_REG((__HANDLE__)->Instance->IDR, CRC_IDR_IDR, (__VALUE__))
mbed_official 354:e67efb2aab0e 120
mbed_official 354:e67efb2aab0e 121 /**
mbed_official 354:e67efb2aab0e 122 * @brief Returns the 8-bit data stored in the Independent Data(ID) register.
mbed_official 354:e67efb2aab0e 123 * @param __HANDLE__: CRC handle
mbed_official 354:e67efb2aab0e 124 * @retval 8-bit value of the ID register
mbed_official 354:e67efb2aab0e 125 */
mbed_official 354:e67efb2aab0e 126 #define __HAL_CRC_GET_IDR(__HANDLE__) (((__HANDLE__)->Instance->IDR) & CRC_IDR_IDR)
mbed_official 354:e67efb2aab0e 127
mbed_official 354:e67efb2aab0e 128 /**
mbed_official 354:e67efb2aab0e 129 * @}
mbed_official 354:e67efb2aab0e 130 */
mbed_official 354:e67efb2aab0e 131
mbed_official 354:e67efb2aab0e 132 /* Exported functions --------------------------------------------------------*/
mbed_official 354:e67efb2aab0e 133
mbed_official 354:e67efb2aab0e 134 /** @addtogroup CRC_Exported_Functions
mbed_official 354:e67efb2aab0e 135 * @{
mbed_official 354:e67efb2aab0e 136 */
mbed_official 354:e67efb2aab0e 137
mbed_official 354:e67efb2aab0e 138 /** @addtogroup CRC_Exported_Functions_Group1
mbed_official 354:e67efb2aab0e 139 * @{
mbed_official 354:e67efb2aab0e 140 */
mbed_official 354:e67efb2aab0e 141
mbed_official 354:e67efb2aab0e 142 /* Initialization/de-initialization functions **********************************/
mbed_official 354:e67efb2aab0e 143 HAL_StatusTypeDef HAL_CRC_Init(CRC_HandleTypeDef *hcrc);
mbed_official 354:e67efb2aab0e 144 HAL_StatusTypeDef HAL_CRC_DeInit (CRC_HandleTypeDef *hcrc);
mbed_official 354:e67efb2aab0e 145 void HAL_CRC_MspInit(CRC_HandleTypeDef *hcrc);
mbed_official 354:e67efb2aab0e 146 void HAL_CRC_MspDeInit(CRC_HandleTypeDef *hcrc);
mbed_official 354:e67efb2aab0e 147
mbed_official 354:e67efb2aab0e 148 /**
mbed_official 354:e67efb2aab0e 149 * @}
mbed_official 354:e67efb2aab0e 150 */
mbed_official 354:e67efb2aab0e 151
mbed_official 354:e67efb2aab0e 152 /** @addtogroup CRC_Exported_Functions_Group2
mbed_official 354:e67efb2aab0e 153 * @{
mbed_official 354:e67efb2aab0e 154 */
mbed_official 354:e67efb2aab0e 155
mbed_official 354:e67efb2aab0e 156 /** @addtogroup CRC_Exported_Functions_Group3
mbed_official 354:e67efb2aab0e 157 ** @{
mbed_official 354:e67efb2aab0e 158 */
mbed_official 354:e67efb2aab0e 159 /* Peripheral Control functions ************************************************/
mbed_official 354:e67efb2aab0e 160 uint32_t HAL_CRC_Accumulate(CRC_HandleTypeDef *hcrc, uint32_t pBuffer[], uint32_t BufferLength);
mbed_official 354:e67efb2aab0e 161 uint32_t HAL_CRC_Calculate(CRC_HandleTypeDef *hcrc, uint32_t pBuffer[], uint32_t BufferLength);
mbed_official 354:e67efb2aab0e 162
mbed_official 354:e67efb2aab0e 163 /* Peripheral State functions **************************************************/
mbed_official 354:e67efb2aab0e 164 HAL_CRC_StateTypeDef HAL_CRC_GetState(CRC_HandleTypeDef *hcrc);
mbed_official 354:e67efb2aab0e 165
mbed_official 354:e67efb2aab0e 166 /**
mbed_official 354:e67efb2aab0e 167 * @}
mbed_official 354:e67efb2aab0e 168 */
mbed_official 354:e67efb2aab0e 169
mbed_official 354:e67efb2aab0e 170 /**
mbed_official 354:e67efb2aab0e 171 * @}
mbed_official 354:e67efb2aab0e 172 */
mbed_official 354:e67efb2aab0e 173
mbed_official 354:e67efb2aab0e 174 /**
mbed_official 354:e67efb2aab0e 175 * @}
mbed_official 354:e67efb2aab0e 176 */
mbed_official 354:e67efb2aab0e 177
mbed_official 354:e67efb2aab0e 178 /**
mbed_official 354:e67efb2aab0e 179 * @}
mbed_official 354:e67efb2aab0e 180 */
mbed_official 354:e67efb2aab0e 181
mbed_official 354:e67efb2aab0e 182 /**
mbed_official 354:e67efb2aab0e 183 * @}
mbed_official 354:e67efb2aab0e 184 */
mbed_official 354:e67efb2aab0e 185
mbed_official 354:e67efb2aab0e 186 #ifdef __cplusplus
mbed_official 354:e67efb2aab0e 187 }
mbed_official 354:e67efb2aab0e 188 #endif
mbed_official 354:e67efb2aab0e 189
mbed_official 354:e67efb2aab0e 190 #endif /* __STM32L1xx_HAL_CRC_H */
mbed_official 354:e67efb2aab0e 191
mbed_official 354:e67efb2aab0e 192 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/