iLLD_TC29x  1.0
IfxFft.h File Reference

FFT basic functionality. More...

#include "_Impl/IfxFft_cfg.h"
#include "Cpu/Std/IfxCpu_Intrinsics.h"
#include "Src/Std/IfxSrc.h"
#include "IfxFft_reg.h"
#include "IfxLmu_reg.h"

Go to the source code of this file.

Enumerations

enum  IfxFft_Input {
  IfxFft_Input_complexSInt32 = 0,
  IfxFft_Input_realSInt32 = 1,
  IfxFft_Input_complexSInt16 = 2,
  IfxFft_Input_realSInt16 = 3
}
 Input format Definition in Ifx_FFT.CSR.B.IN.FMT. More...
 
enum  IfxFft_Length {
  IfxFft_Length_8 = 3,
  IfxFft_Length_16 = 4,
  IfxFft_Length_32 = 5,
  IfxFft_Length_64 = 6,
  IfxFft_Length_128 = 7,
  IfxFft_Length_256 = 8,
  IfxFft_Length_512 = 9,
  IfxFft_Length_1024 = 10
}
 Length of transform. Log base 2 of the required transform size. Length must be between 3 (transform of 8) and 11 (transform of 2048). Definition in Ifx_FFT.CSR.B.LENGTH. More...
 
enum  IfxFft_Operation {
  IfxFft_Operation_fft = 0,
  IfxFft_Operation_ifft = 1
}
 Operation (FFT / IFFT) Definition in Ifx_FFT.CSR.B.IFFT. More...
 
enum  IfxFft_Output {
  IfxFft_Output_complexSInt32 = 0,
  IfxFft_Output_complexSInt16 = 1
}
 Output format Definition in Ifx_FFT.CSR.B.OUT.FMT. More...
 

Functions

IFX_INLINE void IfxFft_enableModule (Ifx_FFT *fft, Ifx_LMU *lmu)
 Enables the FFT module and also the LMU interface. More...
 
IFX_INLINE IfxFft_Input IfxFft_getInputFormat (Ifx_FFT *fft)
 Returns the input format. More...
 
IFX_INLINE IfxFft_Length IfxFft_getLength (Ifx_FFT *fft)
 Returns the length of the transform (length code, 3 to 10) More...
 
IFX_INLINE IfxFft_Length IfxFft_getLengthCode (uint16 length)
 Converts the given input length into the transform length code, to write into Ifx_FFT.CSR.B.LENGTH. More...
 
IFX_INLINE uint16 IfxFft_getLengthFromCode (IfxFft_Length length)
 Retruns the actual length of the transform from the length code. More...
 
IFX_INLINE IfxFft_Output IfxFft_getOutputFormat (Ifx_FFT *fft)
 Returns the output format. More...
 
IFX_INLINE volatile Ifx_SRC_SRCR * IfxFft_getSrcPointerDone (Ifx_FFT *fft)
 Returns the status of FFT DONE request. More...
 
IFX_INLINE volatile Ifx_SRC_SRCR * IfxFft_getSrcPointerRfs (Ifx_FFT *fft)
 Returns the status of FFT RFS request. More...
 
IFX_INLINE uint16 IfxFft_getTransformLength (Ifx_FFT *fft)
 Returns the actual length of the transform. More...
 
IFX_INLINE boolean IfxFft_isEngineBusy (Ifx_FFT *fft)
 Returns the status of whether the FFT Engine is Idle or has at least one transform in operation. More...
 
IFX_INLINE boolean IfxFft_isModuleEnabled (Ifx_FFT *fft)
 Returns the status of whether the module is enabled or not. More...
 
IFX_INLINE boolean IfxFft_isReadyForStart (Ifx_FFT *fft)
 Returns the status of whether the module can accept a START operation or not. More...
 

Detailed Description

FFT basic functionality.

Version
iLLD_1_0_0_11_0
                            IMPORTANT NOTICE

Infineon Technologies AG (Infineon) is supplying this file for use exclusively with Infineon's microcontroller products. This file can be freely distributed within development tools that are supporting such microcontroller products.

THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. INFINEON SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.

Definition in file IfxFft.h.