ERIS CORE
erisAudioAnalyzeFFT1024 Class Reference

#include "eris_analyze_fft1024.h"

+ Inheritance diagram for erisAudioAnalyzeFFT1024:
+ Collaboration diagram for erisAudioAnalyzeFFT1024:

Public Member Functions

 erisAudioAnalyzeFFT1024 ()
 
volatile float32_t output[1024] __attribute__ ((aligned(4)))
 
void analyze (void)
 
bool available ()
 
void averageTogether (uint8_t n)
 
bool capture (void)
 
void configSubsample (uint16_t subsample, subsample_range range)
 
void enableFFT (bool enable_state)
 
bool isActive (void)
 
int processorUsage (void)
 
int processorUsageMax (void)
 
void processorUsageMaxReset (void)
 
float read (FFTReadRange *fftRR)
 
float read (float freq_from, float freq_to, FFTReadRange *fftRR=NULL)
 
float read (unsigned int binFirst, unsigned int binLast, FFTReadRange *fftRR=NULL)
 
float read (unsigned int binNumber)
 
void reset ()
 
void setActiveRange (subsample_range range)
 
void spectralFilter ()
 
void toggleActiveRange ()
 
virtual void update (void)
 
void windowFunction (const int16_t *w)
 

Static Public Member Functions

static int compare_fftrr_cqt_bin (const void *p, const void *q)
 
static int compare_fftrr_value (const void *p, const void *q)
 
static void initialize_memory (audio_block_t *data, unsigned int num)
 
static void sort_fftrr_by_cqt_bin (FFTReadRange *a, size_t n)
 
static void sort_fftrr_by_value (FFTReadRange *a, size_t n)
 

Public Attributes

uint16_t BLOCK_REFRESH_SIZE
 
uint16_t BLOCKS_PER_FFT
 
const char * category
 
uint16_t cpu_cycles
 
uint16_t cpu_cycles_max
 
bool enabled
 
uint8_t instance
 
uint16_t MEM_STEP
 
uint16_t sample_block
 
int SAMPLING_INDEX
 
const char * short_name
 
subsample_range ssr
 
int subsample_by
 
uint16_t subsample_highfreqrange
 
uint16_t subsample_lowfreqrange
 
uint8_t unum_inputs
 
uint8_t unum_outputs
 

Static Public Attributes

static uint16_t cpu_cycles_total = 0
 
static uint16_t cpu_cycles_total_max = 0
 
static uint16_t memory_used = 0
 
static uint16_t memory_used_max = 0
 
static const char * short_name_lookup = "fft1024"
 

Protected Member Functions

audio_block_treceiveReadOnly (unsigned int index=0)
 
audio_block_treceiveWritable (unsigned int index=0)
 
void transmit (audio_block_t *block, unsigned char index=0)
 

Static Protected Member Functions

static audio_block_tallocate (void)
 
static void release (audio_block_t *block)
 
static void update_all (void)
 
static bool update_setup (void)
 
static void update_stop (void)
 

Protected Attributes

bool active
 
unsigned char num_inputs
 
uint8_t numConnections
 

Private Member Functions

int16_t buffer[2048] __attribute__ ((aligned(2)))
 
volatile float32_t tmp_buffer[2048] __attribute__ ((aligned(4)))
 
float32_t phase[512] __attribute__ ((aligned(4)))
 
int16_t tmp_buffer[2048] __attribute__ ((aligned(4)))
 
uint16_t output[512] __attribute__ ((aligned(4)))
 
void copy_to_fft_buffer (void *destination, const void *source, int subsample)
 
void init (void)
 

Private Attributes

AudioConnectiondestination_list
 
arm_cfft_radix4_instance_f32 fft_inst
 
arm_cfft_radix4_instance_q15 fft_inst
 
audio_block_t ** inputQueue
 
audio_block_tinputQueueArray [1]
 
volatile bool is_analyzed = false
 
AudioStreamnext_update
 
volatile bool outputflag
 
const int16_t * window
 
const float32_t * window_f32
 

Static Private Attributes

static AudioStreamfirst_update = NULL
 
static audio_block_tmemory_pool
 
static uint32_t memory_pool_available_mask []
 
static uint16_t memory_pool_first_mask
 
static bool update_scheduled = false
 

Detailed Description

Definition at line 75 of file eris_analyze_fft1024.h.


The documentation for this class was generated from the following files: