MTB CAT1 Peripheral driver library

General Description

API Reference

 CORDIC Callback Events
 Macros to check CORDIC events passed by cy_cb_cordic_handle_events_t callback.
 

Macros

#define CY_CORDIC_DRV_VERSION_MAJOR   2U
 The driver major version.
 
#define CY_CORDIC_DRV_VERSION_MINOR   0U
 The driver minor version.
 
#define CY_CORDIC_ID   CY_PDL_DRV_ID(0x45U)
 The CORDIC driver ID.
 
#define CY_CORDIC_CIRCULAR_GAIN   (0x4DBA76U)
 Reciprocal of Circular gain in CY_CORDIC_CIRCULAR_GAIN format ((2^23)/1.646760258121)
 
#define CY_CORDIC_HYPERBOLIC_GAIN   (0x4D47A1U)
 Reciprocal of Hyperbolic gain in CY_CORDIC_HYPERBOLIC_GAIN format ((2^22)/0.828159360960)
 
#define CY_CORDIC_Q15_SCALING_FACTOR   (39568UL)
 Scaling factor : ((2^15) / 0.828159360960), where 0.828159360960 is the hyperbolic gain.
 
#define CY_CORDIC_IS_OPERATING_MODE_VALID(mode)
 Is operating mode valid. More...
 
#define CY_CORDIC_IS_ROTVEC_MODE_VALID(mode)
 Is rotvec mode valid. More...
 
#define CY_CORDIC_IS_CIRCULAR_ROTATION_ANGLE_VALID(angle)
 In circular function, |angle_in_radians| is less than or equal to integer value representing 1.74 radians; The 1.74 angle in radians is mapped to the integer value(4646111) using: ((angle * ((2^23)/pi)) << 8) More...
 
#define CY_CORDIC_IS_TAN_ANGLE_VALID(angle)
 Angle range for Tangent operation [(-2^23) / 2, (2^23 - 1) / 2]. More...
 
#define CY_CORDIC_IS_HYPERBOLIC_ROTATION_ANGLE_VALID(angle)
 In hyperbolic function, |angle_in_radians| is less than or equal to integer value representing 1.11 radians; The 1.11 angle in radians is mapped to the integer value(2963898) using: ((angle * ((2^23)/pi)) << 8) More...
 
#define CY_CORDIC_IS_INPUT_VALID(x)
 Is input within the range [(-2^23), (2^23 - 1)] for vectoring mode operations. More...
 
#define CY_CORDIC_NUMBER_OF_ITERATIONS   (7U)
 Number of cordic iterations.
 

Macro Definition Documentation

◆ CY_CORDIC_IS_OPERATING_MODE_VALID

#define CY_CORDIC_IS_OPERATING_MODE_VALID (   mode)
Value:
Hyperbolic Operating Mode.
Definition: cy_cordic.h:273
Circular Operating Mode.
Definition: cy_cordic.h:272
uint16_t mode
IO config mode.
Definition: cy_ipc_bt.h:616

Is operating mode valid.

◆ CY_CORDIC_IS_ROTVEC_MODE_VALID

#define CY_CORDIC_IS_ROTVEC_MODE_VALID (   mode)
Value:
Vectoring Mode.
Definition: cy_cordic.h:279
Rotation Mode.
Definition: cy_cordic.h:280
uint16_t mode
IO config mode.
Definition: cy_ipc_bt.h:616

Is rotvec mode valid.

◆ CY_CORDIC_IS_CIRCULAR_ROTATION_ANGLE_VALID

#define CY_CORDIC_IS_CIRCULAR_ROTATION_ANGLE_VALID (   angle)
Value:
(((-(4646111)) <= (angle >> 8)) && \
((angle >> 8) <= (4646111)))

In circular function, |angle_in_radians| is less than or equal to integer value representing 1.74 radians; The 1.74 angle in radians is mapped to the integer value(4646111) using: ((angle * ((2^23)/pi)) << 8)

◆ CY_CORDIC_IS_TAN_ANGLE_VALID

#define CY_CORDIC_IS_TAN_ANGLE_VALID (   angle)
Value:
(((-(1 << 23) / 2) <= (angle >> 8)) && \
((angle >> 8) <= (((1 << 23) - 1) / 2)))

Angle range for Tangent operation [(-2^23) / 2, (2^23 - 1) / 2].

◆ CY_CORDIC_IS_HYPERBOLIC_ROTATION_ANGLE_VALID

#define CY_CORDIC_IS_HYPERBOLIC_ROTATION_ANGLE_VALID (   angle)
Value:
(((-(2963898)) <= (angle >> 8)) && \
((angle >> 8) <= (2963898)))

In hyperbolic function, |angle_in_radians| is less than or equal to integer value representing 1.11 radians; The 1.11 angle in radians is mapped to the integer value(2963898) using: ((angle * ((2^23)/pi)) << 8)

◆ CY_CORDIC_IS_INPUT_VALID

#define CY_CORDIC_IS_INPUT_VALID (   x)
Value:
(((-(1 << 23)) <= (x)) && \
((x) <= ((1 << 23) - 1)))

Is input within the range [(-2^23), (2^23 - 1)] for vectoring mode operations.