STM32H735xx HAL User Manual
Data Structures | Defines | Typedefs | Enumerations | Functions
stm32h7xx_hal_cordic.h File Reference

This file contains all the functions prototypes for the CORDIC firmware library. More...

#include "stm32h7xx_hal_def.h"

Go to the source code of this file.

Data Structures

struct  __CORDIC_HandleTypeDef
 CORDIC Handle Structure definition. More...
struct  CORDIC_ConfigTypeDef
 CORDIC Config Structure definition. More...

Defines

#define HAL_CORDIC_ERROR_NONE   ((uint32_t)0x00000000U)
#define HAL_CORDIC_ERROR_PARAM   ((uint32_t)0x00000001U)
#define HAL_CORDIC_ERROR_NOT_READY   ((uint32_t)0x00000002U)
#define HAL_CORDIC_ERROR_TIMEOUT   ((uint32_t)0x00000004U)
#define HAL_CORDIC_ERROR_DMA   ((uint32_t)0x00000008U)
#define HAL_CORDIC_ERROR_INVALID_CALLBACK   ((uint32_t)0x00000010U)
#define CORDIC_FUNCTION_COSINE   (0x00000000U)
#define CORDIC_FUNCTION_SINE   ((uint32_t)(CORDIC_CSR_FUNC_0))
#define CORDIC_FUNCTION_PHASE   ((uint32_t)(CORDIC_CSR_FUNC_1))
#define CORDIC_FUNCTION_MODULUS   ((uint32_t)(CORDIC_CSR_FUNC_1 | CORDIC_CSR_FUNC_0))
#define CORDIC_FUNCTION_ARCTANGENT   ((uint32_t)(CORDIC_CSR_FUNC_2))
#define CORDIC_FUNCTION_HCOSINE   ((uint32_t)(CORDIC_CSR_FUNC_2 | CORDIC_CSR_FUNC_0))
#define CORDIC_FUNCTION_HSINE   ((uint32_t)(CORDIC_CSR_FUNC_2 | CORDIC_CSR_FUNC_1))
#define CORDIC_FUNCTION_HARCTANGENT   ((uint32_t)(CORDIC_CSR_FUNC_2 | CORDIC_CSR_FUNC_1 | CORDIC_CSR_FUNC_0))
#define CORDIC_FUNCTION_NATURALLOG   ((uint32_t)(CORDIC_CSR_FUNC_3))
#define CORDIC_FUNCTION_SQUAREROOT   ((uint32_t)(CORDIC_CSR_FUNC_3 | CORDIC_CSR_FUNC_0))
#define CORDIC_PRECISION_1CYCLE   ((uint32_t)(CORDIC_CSR_PRECISION_0))
#define CORDIC_PRECISION_2CYCLES   ((uint32_t)(CORDIC_CSR_PRECISION_1))
#define CORDIC_PRECISION_3CYCLES   ((uint32_t)(CORDIC_CSR_PRECISION_1 | CORDIC_CSR_PRECISION_0))
#define CORDIC_PRECISION_4CYCLES   ((uint32_t)(CORDIC_CSR_PRECISION_2))
#define CORDIC_PRECISION_5CYCLES   ((uint32_t)(CORDIC_CSR_PRECISION_2 | CORDIC_CSR_PRECISION_0))
#define CORDIC_PRECISION_6CYCLES   ((uint32_t)(CORDIC_CSR_PRECISION_2 | CORDIC_CSR_PRECISION_1))
#define CORDIC_PRECISION_7CYCLES
#define CORDIC_PRECISION_8CYCLES   ((uint32_t)(CORDIC_CSR_PRECISION_3))
#define CORDIC_PRECISION_9CYCLES   ((uint32_t)(CORDIC_CSR_PRECISION_3 | CORDIC_CSR_PRECISION_0))
#define CORDIC_PRECISION_10CYCLES   ((uint32_t)(CORDIC_CSR_PRECISION_3 | CORDIC_CSR_PRECISION_1))
#define CORDIC_PRECISION_11CYCLES
#define CORDIC_PRECISION_12CYCLES   ((uint32_t)(CORDIC_CSR_PRECISION_3 | CORDIC_CSR_PRECISION_2))
#define CORDIC_PRECISION_13CYCLES
#define CORDIC_PRECISION_14CYCLES
#define CORDIC_PRECISION_15CYCLES
#define CORDIC_SCALE_0   (0x00000000U)
#define CORDIC_SCALE_1   ((uint32_t)(CORDIC_CSR_SCALE_0))
#define CORDIC_SCALE_2   ((uint32_t)(CORDIC_CSR_SCALE_1))
#define CORDIC_SCALE_3   ((uint32_t)(CORDIC_CSR_SCALE_1 | CORDIC_CSR_SCALE_0))
#define CORDIC_SCALE_4   ((uint32_t)(CORDIC_CSR_SCALE_2))
#define CORDIC_SCALE_5   ((uint32_t)(CORDIC_CSR_SCALE_2 | CORDIC_CSR_SCALE_0))
#define CORDIC_SCALE_6   ((uint32_t)(CORDIC_CSR_SCALE_2 | CORDIC_CSR_SCALE_1))
#define CORDIC_SCALE_7   ((uint32_t)(CORDIC_CSR_SCALE_2 | CORDIC_CSR_SCALE_1 | CORDIC_CSR_SCALE_0))
#define CORDIC_IT_IEN   CORDIC_CSR_IEN
#define CORDIC_DMA_REN   CORDIC_CSR_DMAREN
#define CORDIC_DMA_WEN   CORDIC_CSR_DMAWEN
#define CORDIC_NBWRITE_1   (0x00000000U)
#define CORDIC_NBWRITE_2   CORDIC_CSR_NARGS
#define CORDIC_NBREAD_1   (0x00000000U)
#define CORDIC_NBREAD_2   CORDIC_CSR_NRES
#define CORDIC_INSIZE_32BITS   (0x00000000U)
#define CORDIC_INSIZE_16BITS   CORDIC_CSR_ARGSIZE
#define CORDIC_OUTSIZE_32BITS   (0x00000000U)
#define CORDIC_OUTSIZE_16BITS   CORDIC_CSR_RESSIZE
#define CORDIC_FLAG_RRDY   CORDIC_CSR_RRDY
#define CORDIC_DMA_DIR_NONE   ((uint32_t)0x00000000U)
#define CORDIC_DMA_DIR_IN   ((uint32_t)0x00000001U)
#define CORDIC_DMA_DIR_OUT   ((uint32_t)0x00000002U)
#define CORDIC_DMA_DIR_IN_OUT   ((uint32_t)0x00000003U)
#define __HAL_CORDIC_RESET_HANDLE_STATE(__HANDLE__)
 Reset CORDIC handle state.
#define __HAL_CORDIC_ENABLE_IT(__HANDLE__, __INTERRUPT__)   (((__HANDLE__)->Instance->CSR) |= (__INTERRUPT__))
 Enable the CORDIC interrupt when result is ready.
#define __HAL_CORDIC_DISABLE_IT(__HANDLE__, __INTERRUPT__)   (((__HANDLE__)->Instance->CSR) &= ~(__INTERRUPT__))
 Disable the CORDIC interrupt.
#define __HAL_CORDIC_GET_IT(__HANDLE__, __INTERRUPT__)   /* Dummy macro */
 Check whether the specified CORDIC interrupt occurred or not.
#define __HAL_CORDIC_CLEAR_IT(__HANDLE__, __INTERRUPT__)   /* Dummy macro */
 Clear specified CORDIC interrupt status.
#define __HAL_CORDIC_GET_FLAG(__HANDLE__, __FLAG__)   ((((__HANDLE__)->Instance->CSR) & (__FLAG__)) == (__FLAG__))
 Check whether the specified CORDIC status flag is set or not.
#define __HAL_CORDIC_CLEAR_FLAG(__HANDLE__, __FLAG__)   /* Dummy macro */
 Clear specified CORDIC status flag.
#define __HAL_CORDIC_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__)   (((__HANDLE__)->Instance->CSR) & (__INTERRUPT__))
 Check whether the specified CORDIC interrupt is enabled or not.
#define IS_CORDIC_FUNCTION(__FUNCTION__)
 Verify the CORDIC function.
#define IS_CORDIC_PRECISION(__PRECISION__)
 Verify the CORDIC precision.
#define IS_CORDIC_SCALE(__SCALE__)
 Verify the CORDIC scaling factor.
#define IS_CORDIC_NBWRITE(__NBWRITE__)
 Verify the CORDIC number of 32-bits write expected for one calculation.
#define IS_CORDIC_NBREAD(__NBREAD__)
 Verify the CORDIC number of 32-bits read expected after one calculation.
#define IS_CORDIC_INSIZE(__INSIZE__)
 Verify the CORDIC input data size for one calculation.
#define IS_CORDIC_OUTSIZE(__OUTSIZE__)
 Verify the CORDIC output data size for one calculation.
#define IS_CORDIC_DMA_DIRECTION(__DMADIR__)
 Verify the CORDIC DMA transfer Direction.

Typedefs

typedef struct
__CORDIC_HandleTypeDef 
CORDIC_HandleTypeDef
 CORDIC Handle Structure definition.
typedef void(* pCORDIC_CallbackTypeDef )(CORDIC_HandleTypeDef *hcordic)
 HAL CORDIC Callback pointer definition.

Enumerations

enum  HAL_CORDIC_StateTypeDef { HAL_CORDIC_STATE_RESET = 0x00U, HAL_CORDIC_STATE_READY = 0x01U, HAL_CORDIC_STATE_BUSY = 0x02U, HAL_CORDIC_STATE_ERROR = 0x03U }
 CORDIC HAL State Structure definition. More...
enum  HAL_CORDIC_CallbackIDTypeDef { HAL_CORDIC_ERROR_CB_ID = 0x00U, HAL_CORDIC_CALCULATE_CPLT_CB_ID = 0x01U, HAL_CORDIC_MSPINIT_CB_ID = 0x02U, HAL_CORDIC_MSPDEINIT_CB_ID = 0x03U }
 HAL CORDIC Callback ID enumeration definition. More...

Functions

HAL_StatusTypeDef HAL_CORDIC_Init (CORDIC_HandleTypeDef *hcordic)
 Initialize the CORDIC peripheral and the associated handle.
HAL_StatusTypeDef HAL_CORDIC_DeInit (CORDIC_HandleTypeDef *hcordic)
 DeInitialize the CORDIC peripheral.
__weak void HAL_CORDIC_MspInit (CORDIC_HandleTypeDef *hcordic)
 Initialize the CORDIC MSP.
__weak void HAL_CORDIC_MspDeInit (CORDIC_HandleTypeDef *hcordic)
 DeInitialize the CORDIC MSP.
HAL_StatusTypeDef HAL_CORDIC_RegisterCallback (CORDIC_HandleTypeDef *hcordic, HAL_CORDIC_CallbackIDTypeDef CallbackID, pCORDIC_CallbackTypeDef pCallback)
HAL_StatusTypeDef HAL_CORDIC_UnRegisterCallback (CORDIC_HandleTypeDef *hcordic, HAL_CORDIC_CallbackIDTypeDef CallbackID)
 Unregister a CORDIC CallBack.
HAL_StatusTypeDef HAL_CORDIC_Configure (CORDIC_HandleTypeDef *hcordic, CORDIC_ConfigTypeDef *sConfig)
 Configure the CORDIC processing according to the specified parameters in the CORDIC_ConfigTypeDef structure.
HAL_StatusTypeDef HAL_CORDIC_Calculate (CORDIC_HandleTypeDef *hcordic, int32_t *pInBuff, int32_t *pOutBuff, uint32_t NbCalc, uint32_t Timeout)
 Carry out data of CORDIC processing in polling mode, according to the existing CORDIC configuration.
HAL_StatusTypeDef HAL_CORDIC_CalculateZO (CORDIC_HandleTypeDef *hcordic, int32_t *pInBuff, int32_t *pOutBuff, uint32_t NbCalc, uint32_t Timeout)
 Carry out data of CORDIC processing in Zero-Overhead mode (output data being read soon as input data are written), according to the existing CORDIC configuration.
HAL_StatusTypeDef HAL_CORDIC_Calculate_IT (CORDIC_HandleTypeDef *hcordic, int32_t *pInBuff, int32_t *pOutBuff, uint32_t NbCalc)
 Carry out data of CORDIC processing in interrupt mode, according to the existing CORDIC configuration.
HAL_StatusTypeDef HAL_CORDIC_Calculate_DMA (CORDIC_HandleTypeDef *hcordic, int32_t *pInBuff, int32_t *pOutBuff, uint32_t NbCalc, uint32_t DMADirection)
 Carry out input and/or output data of CORDIC processing in DMA mode, according to the existing CORDIC configuration.
__weak void HAL_CORDIC_ErrorCallback (CORDIC_HandleTypeDef *hcordic)
 CORDIC error callback.
__weak void HAL_CORDIC_CalculateCpltCallback (CORDIC_HandleTypeDef *hcordic)
 CORDIC calculate complete callback.
void HAL_CORDIC_IRQHandler (CORDIC_HandleTypeDef *hcordic)
 Handle CORDIC interrupt request.
HAL_CORDIC_StateTypeDef HAL_CORDIC_GetState (CORDIC_HandleTypeDef *hcordic)
 Return the CORDIC handle state.
uint32_t HAL_CORDIC_GetError (CORDIC_HandleTypeDef *hcordic)
 Return the CORDIC peripheral error.

Detailed Description

This file contains all the functions prototypes for the CORDIC firmware library.

Author:
MCD Application Team
Attention:

Copyright (c) 2017 STMicroelectronics. All rights reserved.

This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-IS.

Definition in file stm32h7xx_hal_cordic.h.