1 #ifndef _VGASIGNALGENERATOR_H_INCLUDED 2 #define _VGASIGNALGENERATOR_H_INCLUDED 18 #include "rom/lldesc.h" 28 # define VGAGREENBIT 1 30 # define VGAHSYNCBIT 3 31 # define VGAVSYNCBIT 4 34 # define VGAGREENBIT 2 36 # define VGAHSYNCBIT 6 37 # define VGAVSYNCBIT 7 39 # error "VGACOLORS must be 8 or 64!" 86 typedef void (*VGAVSyncInterrupt_t)();
89 class VGASignalsGeneratorClass {
93 void begin(gpio_num_t redGPIO, gpio_num_t greenGPIO, gpio_num_t blueGPIO, gpio_num_t HSyncGPIO, gpio_num_t VSyncGPIO, VGAVSyncInterrupt_t VSyncInterruptCallBack);
96 void begin(gpio_num_t red1GPIO, gpio_num_t red0GPIO, gpio_num_t green1GPIO, gpio_num_t green0GPIO, gpio_num_t blue1GPIO, gpio_num_t blue0GPIO, gpio_num_t HSyncGPIO, gpio_num_t VSyncGPIO, VGAVSyncInterrupt_t VSyncInterruptCallBack);
100 bool setBuffersCount(
int buffersCount);
101 int getBuffersCount() {
return m_buffersCount; }
105 void * allocateBuffer(
size_t length);
107 size_t getFreeMemory();
110 void freeBuffer(
void * buffer);
113 void setBuffer(
int index,
void volatile * address,
int length);
115 void volatile * getBuffer(
int index,
int * length);
117 void start(VGAFrequency freq);
122 void enableVSyncInterrupts();
123 void disableVSyncInterrupts();
127 void init(gpio_num_t VSyncGPIO, VGAVSyncInterrupt_t VSyncInterruptCallBack);
128 void setupGPIO(gpio_num_t gpio,
int bit, gpio_mode_t mode);
129 void setupClock(VGAFrequency freq);
131 lldesc_t
volatile * m_dmabuffers;
133 gpio_num_t m_VSyncGPIO;
134 VGAVSyncInterrupt_t m_VSyncInterruptCallback;
135 int m_VSyncInterruptDisabled;
143 extern ESP32VGA::VGASignalsGeneratorClass VGASignalsGenerator;
This file contains ESP32VGA library configuration settings, like number of supported colors...
Definition: VGACanvas.cpp:7