Mercurial > hg > beaglert
view include/render.h @ 45:579c86316008 newapi
Major API overhaul. Moved to a single data structure for handling render functions. Functionally, generally similar except for scheduling within PRU loop function, which now uses interrupts from the PRU rather than polling. This requires an updated kernel.
author | andrewm |
---|---|
date | Thu, 28 May 2015 14:35:55 -0400 |
parents | ad5cd8dd99b3 |
children |
line wrap: on
line source
/* * render.h * * Created on: May 28, 2014 * Author: Victor Zappi */ #ifndef RENDER_H_ #define RENDER_H_ // uint types #include <stdint.h> #include "Utilities.h" #include "digital_gpio_mapping.h" #include "RTAudioSettings.h" // Mappings from pin numbers on PCB to actual DAC channels // This gives the DAC and ADC connectors the same effective pinout #define DAC_PIN0 6 #define DAC_PIN1 4 #define DAC_PIN2 2 #define DAC_PIN3 0 #define DAC_PIN4 1 #define DAC_PIN5 3 #define DAC_PIN6 5 #define DAC_PIN7 7 #define ADC_PIN0 0 #define ADC_PIN1 1 #define ADC_PIN2 2 #define ADC_PIN3 3 #define ADC_PIN4 4 #define ADC_PIN5 5 #define ADC_PIN6 6 #define ADC_PIN7 7 #define ANALOG_MAX 65535.0 extern int gNumAudioChannels; // How many audio channels are present extern int gNumAnalogChannels; // How many analog channels are present extern int gNumDigitalChannels; bool initialise_render(int numAnalogChannels, int numDigitalChannels, int numAudioChannels, int numAnalogFramesPerPeriod, int numAudioFramesPerPeriod, float analogSampleRate, float audioSampleRate, void *userData, RTAudioSettings *settings); void render(int numAnalogFrames, int numAudioFrames, int numDigitalFrames, float *audioIn, float *audioOut, float *analogIn, float *analogOut, uint32_t *digital); void render_medium_prio(); void render_low_prio(); void schedule_render_medium_prio(); void schedule_render_low_prio(); void cleanup_render(); #endif /* RENDER_H_ */