6 #include "PruManager.h"
146 static const unsigned int kPruGPIODACSyncPin;
147 static const unsigned int kPruGPIOADCSyncPin;
157 int prepareGPIO(
int include_led);
163 int initialise(
BelaHw newBelaHw,
int pru_num,
bool uniformSampleRate,
165 int stopButtonPin,
bool enableLed,
166 uint32_t disabledBelaDigitalChannels);
169 int start(
char *
const filename,
const McaspRegisters& mcaspRegisters);
175 void waitForFinish();
193 bool digital_enabled;
194 float analogs_per_audio;
195 bool uniform_sample_rate;
196 int hardware_analog_frames;
199 bool analog_out_is_audio;
200 size_t pru_audio_out_channels;
202 PruMemory* pruMemory;
203 volatile uint32_t *pru_buffer_comm;
204 uint32_t pruBufferMcaspFrames;
206 float *last_analog_out_frame;
207 uint32_t *last_digital_buffer;
208 float *audio_expander_input_history;
209 float *audio_expander_output_history;
210 float audio_expander_filter_coeff;
211 bool pruUsesMcaspIrq;
217 uint32_t disabledDigitalChannels;
uint32_t audioInChannels
Number of input audio channels.
Definition: PRU.h:53
uint64_t audioFramesElapsed
Number of elapsed audio frames since the start of rendering.
Definition: PRU.h:97
float * analogIn
Buffer holding analog input samples.
Definition: PRU.h:36
float * audioOut
Buffer holding audio output samples.
Definition: PRU.h:29
uint32_t flags
Other audio/sensor settings.
Definition: PRU.h:132
float digitalSampleRate
Digital sample rate in Hz (currently always 44100.0)
Definition: PRU.h:89
unsigned int underrunCount
Number of detected underruns.
Definition: PRU.h:138
uint32_t analogInChannels
Number of input analog channels.
Definition: PRU.h:67
float analogSampleRate
Analog sample rate in Hz.
Definition: PRU.h:80
BelaHw
Definition: Bela.h:107
float audioSampleRate
Audio sample rate in Hz (currently always 44100.0)
Definition: PRU.h:57
uint32_t audioExpanderEnabled
Flags for whether audio expander is enabled on given analog channels.
Definition: PRU.h:122
uint32_t digitalFrames
Number of digital frames per period.
Definition: PRU.h:83
Structure holding audio and sensor settings and pointers to I/O data buffers.
Definition: Bela.h:231
float * analogOut
Buffer holding analog output samples.
Definition: PRU.h:43
uint32_t multiplexerStartingChannel
Multiplexer channel corresponding to the first analog frame.
Definition: PRU.h:109
float * audioIn
Buffer holding audio input samples.
Definition: PRU.h:22
void render(BelaContext *context, void *userData)
User-defined callback function to process audio and sensor data.
Definition: render.cpp:68
uint32_t digitalChannels
Number of digital channels.
Definition: PRU.h:87
uint32_t analogOutChannels
Number of output analog channels.
Definition: PRU.h:72
Definition: PruManager.h:20
uint32_t analogFrames
Number of analog frames per period.
Definition: PRU.h:62
float * multiplexerAnalogIn
Buffer which holds multiplexed analog inputs, when multiplexer capelet is enabled.
Definition: PRU.h:116
uint32_t multiplexerChannels
Number of multiplexer channels for each analog input.
Definition: PRU.h:103
uint32_t * digital
Buffer holding digital input/output samples.
Definition: PRU.h:48
uint32_t audioFrames
Number of audio frames per period.
Definition: PRU.h:51
uint32_t audioOutChannels
Number of output audio channels.
Definition: PRU.h:55
char projectName[MAX_PROJECTNAME_LENGTH]
Name of running project.
Definition: PRU.h:135