You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+13-8Lines changed: 13 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,7 @@ Paypal https://paypal.me/bitluni
9
9
10
10
# Acknowledgements
11
11
Thanks to Ivan Grokhotkov & Jeroen Domburg (aka Sprite_tm) for their great work on I2S revealing some nitty-gritty details and quirks of the ESP32.
12
+
Special thanks to Fabrizio Di Vittorio for the inpiration to look deeper into 8Bit modes enabling higher resolutions. He developed the FabGL library simultaneously.
12
13
13
14
# License
14
15
bitluni 2019
@@ -35,9 +36,13 @@ To be able to use the library featues the main header needs to included in the s
35
36
## VGA Features
36
37
37
38
ESP32Lib implements VGA output over I²S.
38
-
The highest possible resolution with this library is 460x480.
39
+
The highest possible resolution with this library is 800x600.
39
40
Many common resolutions like 320x240 are preconfigured und can be used without any effort.
40
-
Two color depths are available. 14Bit R5G5B4 and 3Bit(8 color) R1G1B1 for convenience.
41
+
Two color depths are available. 14Bit R5G5B4 and 3Bit(8 color) R1G1B1 for convenience and memory savings.
42
+
43
+
To simplify things you can find boards specially designed to work with this library in my shop:
44
+
https://www.tindie.com/stores/bitluni/
45
+
Any purchase supports the further development. Thanks!
41
46
42
47
### Pin configuration
43
48
@@ -73,11 +78,11 @@ Here is an overview for your convenience:
73
78
74
79
There are 4 diffent VGA Drivers **VGA3Bit**, **VGA3BitI**, **VGA14Bit** and **VGA14BitI**.
75
80
VGA3Bit, VGA14Bit are the high performance drivers that don't need any CPU time to
76
-
serve the VGA. However the VGA3Bit driver is very memory hungry compared to VGA3BitI.
81
+
serve the VGA. However the VGA3Bit driver takes twice the memory compared to VGA3BitI.
77
82
The high performace drivers work the best with the WiFi features. The other driver might
78
83
cause errors. WiFi should connect first before VGA3BitI and VGA14BitI is initialized.
79
84
The *I* drivers are using an interrupt to feed the pixels to the I²S. This feature can be used for realtime outputs (Check the **VGANoFramebuffer** example).
80
-
An instance of the driver has to be created. The optional parameter is the I²S bus to be used. If no parameter is given 1 is used by default to keep I²S0 free for audio output.
85
+
An instance of the driver has to be created. The optional parameter (only for 14 bit versions) is the I²S bus to be used. If no parameter is given 1 is used by default to keep I²S0 free for audio output.
81
86
```cpp
82
87
VGA14Bit vga(1);
83
88
```
@@ -112,16 +117,16 @@ The following modes are predefined:
112
117
- MODE200x150
113
118
- MODE500x480
114
119
- MODE500x240
120
+
- MODE800x600
121
+
- MODE720x400
122
+
- MODE720x350
123
+
- MODE640x480
115
124
116
125
These native modes require a too high pixel clock but can be used as a base to create a custom resolution. Please check out the **VGACustomResolution** example:
117
126
- MODE1280x1024
118
127
- MODE1280x960
119
128
- MODE1280x800
120
129
- MODE1024x768
121
-
- MODE800x600
122
-
- MODE720x400
123
-
- MODE720x350
124
-
- MODE640x480
125
130
126
131
### 2D features
127
132
The vga instance implements several drawing methods that can be seen in the **VGA2DFeatures** example.
0 commit comments