meh

Fork of mbed by mbed official

Committer:
ricardobtez
Date:
Tue Apr 05 23:51:21 2016 +0000
Revision:
118:16969dd821af
Parent:
90:cb3d968589d8
Child:
93:e188a91d3eaa
dgdgr

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kojto 90:cb3d968589d8 1 /**
Kojto 90:cb3d968589d8 2 ******************************************************************************
Kojto 90:cb3d968589d8 3 * @file stm32f0xx_hal_crc_ex.h
Kojto 90:cb3d968589d8 4 * @author MCD Application Team
Kojto 90:cb3d968589d8 5 * @version V1.1.0
Kojto 90:cb3d968589d8 6 * @date 03-Oct-2014
Kojto 90:cb3d968589d8 7 * @brief Header file of CRC HAL extension module.
Kojto 90:cb3d968589d8 8 ******************************************************************************
Kojto 90:cb3d968589d8 9 * @attention
Kojto 90:cb3d968589d8 10 *
Kojto 90:cb3d968589d8 11 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
Kojto 90:cb3d968589d8 12 *
Kojto 90:cb3d968589d8 13 * Redistribution and use in source and binary forms, with or without modification,
Kojto 90:cb3d968589d8 14 * are permitted provided that the following conditions are met:
Kojto 90:cb3d968589d8 15 * 1. Redistributions of source code must retain the above copyright notice,
Kojto 90:cb3d968589d8 16 * this list of conditions and the following disclaimer.
Kojto 90:cb3d968589d8 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
Kojto 90:cb3d968589d8 18 * this list of conditions and the following disclaimer in the documentation
Kojto 90:cb3d968589d8 19 * and/or other materials provided with the distribution.
Kojto 90:cb3d968589d8 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
Kojto 90:cb3d968589d8 21 * may be used to endorse or promote products derived from this software
Kojto 90:cb3d968589d8 22 * without specific prior written permission.
Kojto 90:cb3d968589d8 23 *
Kojto 90:cb3d968589d8 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
Kojto 90:cb3d968589d8 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Kojto 90:cb3d968589d8 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
Kojto 90:cb3d968589d8 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
Kojto 90:cb3d968589d8 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Kojto 90:cb3d968589d8 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
Kojto 90:cb3d968589d8 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
Kojto 90:cb3d968589d8 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
Kojto 90:cb3d968589d8 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
Kojto 90:cb3d968589d8 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Kojto 90:cb3d968589d8 34 *
Kojto 90:cb3d968589d8 35 ******************************************************************************
Kojto 90:cb3d968589d8 36 */
Kojto 90:cb3d968589d8 37
Kojto 90:cb3d968589d8 38 /* Define to prevent recursive inclusion -------------------------------------*/
Kojto 90:cb3d968589d8 39 #ifndef __STM32F0xx_HAL_CRC_EX_H
Kojto 90:cb3d968589d8 40 #define __STM32F0xx_HAL_CRC_EX_H
Kojto 90:cb3d968589d8 41
Kojto 90:cb3d968589d8 42 #ifdef __cplusplus
Kojto 90:cb3d968589d8 43 extern "C" {
Kojto 90:cb3d968589d8 44 #endif
Kojto 90:cb3d968589d8 45
Kojto 90:cb3d968589d8 46 /* Includes ------------------------------------------------------------------*/
Kojto 90:cb3d968589d8 47 #include "stm32f0xx_hal_def.h"
Kojto 90:cb3d968589d8 48
Kojto 90:cb3d968589d8 49 /** @addtogroup STM32F0xx_HAL_Driver
Kojto 90:cb3d968589d8 50 * @{
Kojto 90:cb3d968589d8 51 */
Kojto 90:cb3d968589d8 52
Kojto 90:cb3d968589d8 53 /** @addtogroup CRCEx CRCEx Extended HAL Module Driver
Kojto 90:cb3d968589d8 54 * @{
Kojto 90:cb3d968589d8 55 */
Kojto 90:cb3d968589d8 56
Kojto 90:cb3d968589d8 57 /* Exported types ------------------------------------------------------------*/
Kojto 90:cb3d968589d8 58 /* Exported constants --------------------------------------------------------*/
Kojto 90:cb3d968589d8 59 /** @defgroup CRCEx_Exported_Constants CRCEx Exported Constants
Kojto 90:cb3d968589d8 60 * @{
Kojto 90:cb3d968589d8 61 */
Kojto 90:cb3d968589d8 62 /** @defgroup CRCEx_Input_Data_Inversion Input Data Inversion Modes
Kojto 90:cb3d968589d8 63 * @{
Kojto 90:cb3d968589d8 64 */
Kojto 90:cb3d968589d8 65 #define CRC_INPUTDATA_INVERSION_NONE ((uint32_t)0x00000000)
Kojto 90:cb3d968589d8 66 #define CRC_INPUTDATA_INVERSION_BYTE ((uint32_t)CRC_CR_REV_IN_0)
Kojto 90:cb3d968589d8 67 #define CRC_INPUTDATA_INVERSION_HALFWORD ((uint32_t)CRC_CR_REV_IN_1)
Kojto 90:cb3d968589d8 68 #define CRC_INPUTDATA_INVERSION_WORD ((uint32_t)CRC_CR_REV_IN)
Kojto 90:cb3d968589d8 69
Kojto 90:cb3d968589d8 70 #define IS_CRC_INPUTDATA_INVERSION_MODE(MODE) (((MODE) == CRC_INPUTDATA_INVERSION_NONE) || \
Kojto 90:cb3d968589d8 71 ((MODE) == CRC_INPUTDATA_INVERSION_BYTE) || \
Kojto 90:cb3d968589d8 72 ((MODE) == CRC_INPUTDATA_INVERSION_HALFWORD) || \
Kojto 90:cb3d968589d8 73 ((MODE) == CRC_INPUTDATA_INVERSION_WORD))
Kojto 90:cb3d968589d8 74 /**
Kojto 90:cb3d968589d8 75 * @}
Kojto 90:cb3d968589d8 76 */
Kojto 90:cb3d968589d8 77
Kojto 90:cb3d968589d8 78 /** @defgroup CRCEx_Output_Data_Inversion Output Data Inversion Modes
Kojto 90:cb3d968589d8 79 * @{
Kojto 90:cb3d968589d8 80 */
Kojto 90:cb3d968589d8 81 #define CRC_OUTPUTDATA_INVERSION_DISABLED ((uint32_t)0x00000000)
Kojto 90:cb3d968589d8 82 #define CRC_OUTPUTDATA_INVERSION_ENABLED ((uint32_t)CRC_CR_REV_OUT)
Kojto 90:cb3d968589d8 83
Kojto 90:cb3d968589d8 84 #define IS_CRC_OUTPUTDATA_INVERSION_MODE(MODE) (((MODE) == CRC_OUTPUTDATA_INVERSION_DISABLED) || \
Kojto 90:cb3d968589d8 85 ((MODE) == CRC_OUTPUTDATA_INVERSION_ENABLED))
Kojto 90:cb3d968589d8 86 /**
Kojto 90:cb3d968589d8 87 * @}
Kojto 90:cb3d968589d8 88 */
Kojto 90:cb3d968589d8 89
Kojto 90:cb3d968589d8 90 #if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F091xC) || defined(STM32F098xx)
Kojto 90:cb3d968589d8 91 /** @defgroup CRCEx_Polynomial_Sizes Polynomial sizes to configure the IP
Kojto 90:cb3d968589d8 92 * @{
Kojto 90:cb3d968589d8 93 */
Kojto 90:cb3d968589d8 94 #define CRC_POLYLENGTH_32B ((uint32_t)0x00000000)
Kojto 90:cb3d968589d8 95 #define CRC_POLYLENGTH_16B ((uint32_t)CRC_CR_POLYSIZE_0)
Kojto 90:cb3d968589d8 96 #define CRC_POLYLENGTH_8B ((uint32_t)CRC_CR_POLYSIZE_1)
Kojto 90:cb3d968589d8 97 #define CRC_POLYLENGTH_7B ((uint32_t)CRC_CR_POLYSIZE)
Kojto 90:cb3d968589d8 98 #define IS_CRC_POL_LENGTH(LENGTH) (((LENGTH) == CRC_POLYLENGTH_32B) || \
Kojto 90:cb3d968589d8 99 ((LENGTH) == CRC_POLYLENGTH_16B) || \
Kojto 90:cb3d968589d8 100 ((LENGTH) == CRC_POLYLENGTH_8B) || \
Kojto 90:cb3d968589d8 101 ((LENGTH) == CRC_POLYLENGTH_7B))
Kojto 90:cb3d968589d8 102 /**
Kojto 90:cb3d968589d8 103 * @}
Kojto 90:cb3d968589d8 104 */
Kojto 90:cb3d968589d8 105
Kojto 90:cb3d968589d8 106 /** @defgroup CRCEx_Polynomial_Size_Definitions CRC polynomial possible sizes actual definitions
Kojto 90:cb3d968589d8 107 * @{
Kojto 90:cb3d968589d8 108 */
Kojto 90:cb3d968589d8 109 #define HAL_CRC_LENGTH_32B 32
Kojto 90:cb3d968589d8 110 #define HAL_CRC_LENGTH_16B 16
Kojto 90:cb3d968589d8 111 #define HAL_CRC_LENGTH_8B 8
Kojto 90:cb3d968589d8 112 #define HAL_CRC_LENGTH_7B 7
Kojto 90:cb3d968589d8 113 /**
Kojto 90:cb3d968589d8 114 * @}
Kojto 90:cb3d968589d8 115 */
Kojto 90:cb3d968589d8 116 #endif /* defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F091xC) || defined(STM32F098xx) */
Kojto 90:cb3d968589d8 117 /**
Kojto 90:cb3d968589d8 118 * @}
Kojto 90:cb3d968589d8 119 */
Kojto 90:cb3d968589d8 120 /* Exported macro ------------------------------------------------------------*/
Kojto 90:cb3d968589d8 121
Kojto 90:cb3d968589d8 122 /** @defgroup CRCEx_Exported_Macros CRCEx Exported Macros
Kojto 90:cb3d968589d8 123 * @{
Kojto 90:cb3d968589d8 124 */
Kojto 90:cb3d968589d8 125
Kojto 90:cb3d968589d8 126 /**
Kojto 90:cb3d968589d8 127 * @brief Set CRC output reversal
Kojto 90:cb3d968589d8 128 * @param __HANDLE__ : CRC handle
Kojto 90:cb3d968589d8 129 * @retval None.
Kojto 90:cb3d968589d8 130 */
Kojto 90:cb3d968589d8 131 #define __HAL_CRC_OUTPUTREVERSAL_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= CRC_CR_REV_OUT)
Kojto 90:cb3d968589d8 132
Kojto 90:cb3d968589d8 133 /**
Kojto 90:cb3d968589d8 134 * @brief Unset CRC output reversal
Kojto 90:cb3d968589d8 135 * @param __HANDLE__ : CRC handle
Kojto 90:cb3d968589d8 136 * @retval None.
Kojto 90:cb3d968589d8 137 */
Kojto 90:cb3d968589d8 138 #define __HAL_CRC_OUTPUTREVERSAL_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(CRC_CR_REV_OUT))
Kojto 90:cb3d968589d8 139
Kojto 90:cb3d968589d8 140 #if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F091xC) || defined(STM32F098xx)
Kojto 90:cb3d968589d8 141 /**
Kojto 90:cb3d968589d8 142 * @brief Set CRC non-default polynomial
Kojto 90:cb3d968589d8 143 * @param __HANDLE__ : CRC handle
Kojto 90:cb3d968589d8 144 * @param __POLYNOMIAL__: 7, 8, 16 or 32-bit polynomial
Kojto 90:cb3d968589d8 145 * @retval None.
Kojto 90:cb3d968589d8 146 */
Kojto 90:cb3d968589d8 147 #define __HAL_CRC_POLYNOMIAL_CONFIG(__HANDLE__, __POLYNOMIAL__) ((__HANDLE__)->Instance->POL = (__POLYNOMIAL__))
Kojto 90:cb3d968589d8 148 #endif /* defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F091xC) || defined(STM32F098xx) */
Kojto 90:cb3d968589d8 149 /**
Kojto 90:cb3d968589d8 150 * @}
Kojto 90:cb3d968589d8 151 */
Kojto 90:cb3d968589d8 152
Kojto 90:cb3d968589d8 153 /* Exported functions --------------------------------------------------------*/
Kojto 90:cb3d968589d8 154 /** @addtogroup CRCEx_Exported_Functions
Kojto 90:cb3d968589d8 155 * @{
Kojto 90:cb3d968589d8 156 */
Kojto 90:cb3d968589d8 157
Kojto 90:cb3d968589d8 158 /** @addtogroup CRCEx_Exported_Functions_Group1 Extended Initialization/de-initialization functions
Kojto 90:cb3d968589d8 159 * @brief Extended Initialization and Configuration functions.
Kojto 90:cb3d968589d8 160 * @{
Kojto 90:cb3d968589d8 161 */
Kojto 90:cb3d968589d8 162
Kojto 90:cb3d968589d8 163 /* Initialization and de-initialization functions ****************************/
Kojto 90:cb3d968589d8 164 HAL_StatusTypeDef HAL_CRCEx_Init(CRC_HandleTypeDef *hcrc);
Kojto 90:cb3d968589d8 165 HAL_StatusTypeDef HAL_CRCEx_Input_Data_Reverse(CRC_HandleTypeDef *hcrc, uint32_t InputReverseMode);
Kojto 90:cb3d968589d8 166 HAL_StatusTypeDef HAL_CRCEx_Output_Data_Reverse(CRC_HandleTypeDef *hcrc, uint32_t OutputReverseMode);
Kojto 90:cb3d968589d8 167
Kojto 90:cb3d968589d8 168 #if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F091xC) || defined(STM32F098xx)
Kojto 90:cb3d968589d8 169 HAL_StatusTypeDef HAL_CRCEx_Polynomial_Set(CRC_HandleTypeDef *hcrc, uint32_t Pol, uint32_t PolyLength);
Kojto 90:cb3d968589d8 170 #endif /* defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F091xC) || defined(STM32F098xx) */
Kojto 90:cb3d968589d8 171 /**
Kojto 90:cb3d968589d8 172 * @}
Kojto 90:cb3d968589d8 173 */
Kojto 90:cb3d968589d8 174 /* Peripheral Control functions ***********************************************/
Kojto 90:cb3d968589d8 175 /* Peripheral State and Error functions ***************************************/
Kojto 90:cb3d968589d8 176 /**
Kojto 90:cb3d968589d8 177 * @}
Kojto 90:cb3d968589d8 178 */
Kojto 90:cb3d968589d8 179
Kojto 90:cb3d968589d8 180 /**
Kojto 90:cb3d968589d8 181 * @}
Kojto 90:cb3d968589d8 182 */
Kojto 90:cb3d968589d8 183
Kojto 90:cb3d968589d8 184 /**
Kojto 90:cb3d968589d8 185 * @}
Kojto 90:cb3d968589d8 186 */
Kojto 90:cb3d968589d8 187
Kojto 90:cb3d968589d8 188 #ifdef __cplusplus
Kojto 90:cb3d968589d8 189 }
Kojto 90:cb3d968589d8 190 #endif
Kojto 90:cb3d968589d8 191
Kojto 90:cb3d968589d8 192 #endif /* __STM32F0xx_HAL_CRC_EX_H */
Kojto 90:cb3d968589d8 193
Kojto 90:cb3d968589d8 194 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/