Skip to content

Commit 4de3a31

Browse files
authored
Merge pull request #411 from sinricpro/dev-3.4.0
Camera snapshot support
2 parents 2ad7bff + 421f0d2 commit 4de3a31

17 files changed

+676
-63
lines changed

changelog.md

+8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Changelog
22

3+
## Version 3.4.0
4+
New:
5+
- Support Image upload on camera devices
6+
7+
Fixed:
8+
- Removed calls to `containsKey` - deprecated since ArduinoJSON 7.2
9+
- Missing includes
10+
311
## Version 3.3.1
412
- Support SmartButton.
513

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,272 @@
1+
#if defined(CAMERA_MODEL_WROVER_KIT)
2+
#define PWDN_GPIO_NUM -1
3+
#define RESET_GPIO_NUM -1
4+
#define XCLK_GPIO_NUM 21
5+
#define SIOD_GPIO_NUM 26
6+
#define SIOC_GPIO_NUM 27
7+
8+
#define Y9_GPIO_NUM 35
9+
#define Y8_GPIO_NUM 34
10+
#define Y7_GPIO_NUM 39
11+
#define Y6_GPIO_NUM 36
12+
#define Y5_GPIO_NUM 19
13+
#define Y4_GPIO_NUM 18
14+
#define Y3_GPIO_NUM 5
15+
#define Y2_GPIO_NUM 4
16+
#define VSYNC_GPIO_NUM 25
17+
#define HREF_GPIO_NUM 23
18+
#define PCLK_GPIO_NUM 22
19+
20+
#elif defined(CAMERA_MODEL_ESP_EYE)
21+
#define PWDN_GPIO_NUM -1
22+
#define RESET_GPIO_NUM -1
23+
#define XCLK_GPIO_NUM 4
24+
#define SIOD_GPIO_NUM 18
25+
#define SIOC_GPIO_NUM 23
26+
27+
#define Y9_GPIO_NUM 36
28+
#define Y8_GPIO_NUM 37
29+
#define Y7_GPIO_NUM 38
30+
#define Y6_GPIO_NUM 39
31+
#define Y5_GPIO_NUM 35
32+
#define Y4_GPIO_NUM 14
33+
#define Y3_GPIO_NUM 13
34+
#define Y2_GPIO_NUM 34
35+
#define VSYNC_GPIO_NUM 5
36+
#define HREF_GPIO_NUM 27
37+
#define PCLK_GPIO_NUM 25
38+
39+
#elif defined(CAMERA_MODEL_M5STACK_PSRAM)
40+
#define PWDN_GPIO_NUM -1
41+
#define RESET_GPIO_NUM 15
42+
#define XCLK_GPIO_NUM 27
43+
#define SIOD_GPIO_NUM 25
44+
#define SIOC_GPIO_NUM 23
45+
46+
#define Y9_GPIO_NUM 19
47+
#define Y8_GPIO_NUM 36
48+
#define Y7_GPIO_NUM 18
49+
#define Y6_GPIO_NUM 39
50+
#define Y5_GPIO_NUM 5
51+
#define Y4_GPIO_NUM 34
52+
#define Y3_GPIO_NUM 35
53+
#define Y2_GPIO_NUM 32
54+
#define VSYNC_GPIO_NUM 22
55+
#define HREF_GPIO_NUM 26
56+
#define PCLK_GPIO_NUM 21
57+
58+
#elif defined(CAMERA_MODEL_M5STACK_V2_PSRAM)
59+
#define PWDN_GPIO_NUM -1
60+
#define RESET_GPIO_NUM 15
61+
#define XCLK_GPIO_NUM 27
62+
#define SIOD_GPIO_NUM 22
63+
#define SIOC_GPIO_NUM 23
64+
65+
#define Y9_GPIO_NUM 19
66+
#define Y8_GPIO_NUM 36
67+
#define Y7_GPIO_NUM 18
68+
#define Y6_GPIO_NUM 39
69+
#define Y5_GPIO_NUM 5
70+
#define Y4_GPIO_NUM 34
71+
#define Y3_GPIO_NUM 35
72+
#define Y2_GPIO_NUM 32
73+
#define VSYNC_GPIO_NUM 25
74+
#define HREF_GPIO_NUM 26
75+
#define PCLK_GPIO_NUM 21
76+
77+
#elif defined(CAMERA_MODEL_M5STACK_WIDE)
78+
#define PWDN_GPIO_NUM -1
79+
#define RESET_GPIO_NUM 15
80+
#define XCLK_GPIO_NUM 27
81+
#define SIOD_GPIO_NUM 22
82+
#define SIOC_GPIO_NUM 23
83+
84+
#define Y9_GPIO_NUM 19
85+
#define Y8_GPIO_NUM 36
86+
#define Y7_GPIO_NUM 18
87+
#define Y6_GPIO_NUM 39
88+
#define Y5_GPIO_NUM 5
89+
#define Y4_GPIO_NUM 34
90+
#define Y3_GPIO_NUM 35
91+
#define Y2_GPIO_NUM 32
92+
#define VSYNC_GPIO_NUM 25
93+
#define HREF_GPIO_NUM 26
94+
#define PCLK_GPIO_NUM 21
95+
96+
#elif defined(CAMERA_MODEL_M5STACK_ESP32CAM)
97+
#define PWDN_GPIO_NUM -1
98+
#define RESET_GPIO_NUM 15
99+
#define XCLK_GPIO_NUM 27
100+
#define SIOD_GPIO_NUM 25
101+
#define SIOC_GPIO_NUM 23
102+
103+
#define Y9_GPIO_NUM 19
104+
#define Y8_GPIO_NUM 36
105+
#define Y7_GPIO_NUM 18
106+
#define Y6_GPIO_NUM 39
107+
#define Y5_GPIO_NUM 5
108+
#define Y4_GPIO_NUM 34
109+
#define Y3_GPIO_NUM 35
110+
#define Y2_GPIO_NUM 17
111+
#define VSYNC_GPIO_NUM 22
112+
#define HREF_GPIO_NUM 26
113+
#define PCLK_GPIO_NUM 21
114+
115+
#elif defined(CAMERA_MODEL_M5STACK_UNITCAM)
116+
#define PWDN_GPIO_NUM -1
117+
#define RESET_GPIO_NUM 15
118+
#define XCLK_GPIO_NUM 27
119+
#define SIOD_GPIO_NUM 25
120+
#define SIOC_GPIO_NUM 23
121+
122+
#define Y9_GPIO_NUM 19
123+
#define Y8_GPIO_NUM 36
124+
#define Y7_GPIO_NUM 18
125+
#define Y6_GPIO_NUM 39
126+
#define Y5_GPIO_NUM 5
127+
#define Y4_GPIO_NUM 34
128+
#define Y3_GPIO_NUM 35
129+
#define Y2_GPIO_NUM 32
130+
#define VSYNC_GPIO_NUM 22
131+
#define HREF_GPIO_NUM 26
132+
#define PCLK_GPIO_NUM 21
133+
134+
#elif defined(CAMERA_MODEL_AI_THINKER)
135+
#define PWDN_GPIO_NUM 32
136+
#define RESET_GPIO_NUM -1
137+
#define XCLK_GPIO_NUM 0
138+
#define SIOD_GPIO_NUM 26
139+
#define SIOC_GPIO_NUM 27
140+
141+
#define Y9_GPIO_NUM 35
142+
#define Y8_GPIO_NUM 34
143+
#define Y7_GPIO_NUM 39
144+
#define Y6_GPIO_NUM 36
145+
#define Y5_GPIO_NUM 21
146+
#define Y4_GPIO_NUM 19
147+
#define Y3_GPIO_NUM 18
148+
#define Y2_GPIO_NUM 5
149+
#define VSYNC_GPIO_NUM 25
150+
#define HREF_GPIO_NUM 23
151+
#define PCLK_GPIO_NUM 22
152+
153+
#elif defined(CAMERA_MODEL_TTGO_T_JOURNAL)
154+
#define PWDN_GPIO_NUM 0
155+
#define RESET_GPIO_NUM 15
156+
#define XCLK_GPIO_NUM 27
157+
#define SIOD_GPIO_NUM 25
158+
#define SIOC_GPIO_NUM 23
159+
160+
#define Y9_GPIO_NUM 19
161+
#define Y8_GPIO_NUM 36
162+
#define Y7_GPIO_NUM 18
163+
#define Y6_GPIO_NUM 39
164+
#define Y5_GPIO_NUM 5
165+
#define Y4_GPIO_NUM 34
166+
#define Y3_GPIO_NUM 35
167+
#define Y2_GPIO_NUM 17
168+
#define VSYNC_GPIO_NUM 22
169+
#define HREF_GPIO_NUM 26
170+
#define PCLK_GPIO_NUM 21
171+
172+
173+
#elif defined(CAMERA_MODEL_ESP32_CAM_BOARD)
174+
// The 18 pin header on the board has Y5 and Y3 swapped
175+
#define USE_BOARD_HEADER 0
176+
#define PWDN_GPIO_NUM 32
177+
#define RESET_GPIO_NUM 33
178+
#define XCLK_GPIO_NUM 4
179+
#define SIOD_GPIO_NUM 18
180+
#define SIOC_GPIO_NUM 23
181+
182+
#define Y9_GPIO_NUM 36
183+
#define Y8_GPIO_NUM 19
184+
#define Y7_GPIO_NUM 21
185+
#define Y6_GPIO_NUM 39
186+
#if USE_BOARD_HEADER
187+
#define Y5_GPIO_NUM 13
188+
#else
189+
#define Y5_GPIO_NUM 35
190+
#endif
191+
#define Y4_GPIO_NUM 14
192+
#if USE_BOARD_HEADER
193+
#define Y3_GPIO_NUM 35
194+
#else
195+
#define Y3_GPIO_NUM 13
196+
#endif
197+
#define Y2_GPIO_NUM 34
198+
#define VSYNC_GPIO_NUM 5
199+
#define HREF_GPIO_NUM 27
200+
#define PCLK_GPIO_NUM 25
201+
202+
#elif defined(CAMERA_MODEL_ESP32S3_CAM_LCD)
203+
#define PWDN_GPIO_NUM -1
204+
#define RESET_GPIO_NUM -1
205+
#define XCLK_GPIO_NUM 40
206+
#define SIOD_GPIO_NUM 17
207+
#define SIOC_GPIO_NUM 18
208+
209+
#define Y9_GPIO_NUM 39
210+
#define Y8_GPIO_NUM 41
211+
#define Y7_GPIO_NUM 42
212+
#define Y6_GPIO_NUM 12
213+
#define Y5_GPIO_NUM 3
214+
#define Y4_GPIO_NUM 14
215+
#define Y3_GPIO_NUM 47
216+
#define Y2_GPIO_NUM 13
217+
#define VSYNC_GPIO_NUM 21
218+
#define HREF_GPIO_NUM 38
219+
#define PCLK_GPIO_NUM 11
220+
221+
#elif defined(CAMERA_MODEL_ESP32S2_CAM_BOARD)
222+
// The 18 pin header on the board has Y5 and Y3 swapped
223+
#define USE_BOARD_HEADER 0
224+
#define PWDN_GPIO_NUM 1
225+
#define RESET_GPIO_NUM 2
226+
#define XCLK_GPIO_NUM 42
227+
#define SIOD_GPIO_NUM 41
228+
#define SIOC_GPIO_NUM 18
229+
230+
#define Y9_GPIO_NUM 16
231+
#define Y8_GPIO_NUM 39
232+
#define Y7_GPIO_NUM 40
233+
#define Y6_GPIO_NUM 15
234+
#if USE_BOARD_HEADER
235+
#define Y5_GPIO_NUM 12
236+
#else
237+
#define Y5_GPIO_NUM 13
238+
#endif
239+
#define Y4_GPIO_NUM 5
240+
#if USE_BOARD_HEADER
241+
#define Y3_GPIO_NUM 13
242+
#else
243+
#define Y3_GPIO_NUM 12
244+
#endif
245+
#define Y2_GPIO_NUM 14
246+
#define VSYNC_GPIO_NUM 38
247+
#define HREF_GPIO_NUM 4
248+
#define PCLK_GPIO_NUM 3
249+
250+
#elif defined(CAMERA_MODEL_ESP32S3_EYE)
251+
#define PWDN_GPIO_NUM -1
252+
#define RESET_GPIO_NUM -1
253+
#define XCLK_GPIO_NUM 15
254+
#define SIOD_GPIO_NUM 4
255+
#define SIOC_GPIO_NUM 5
256+
257+
#define Y2_GPIO_NUM 11
258+
#define Y3_GPIO_NUM 9
259+
#define Y4_GPIO_NUM 8
260+
#define Y5_GPIO_NUM 10
261+
#define Y6_GPIO_NUM 12
262+
#define Y7_GPIO_NUM 18
263+
#define Y8_GPIO_NUM 17
264+
#define Y9_GPIO_NUM 16
265+
266+
#define VSYNC_GPIO_NUM 6
267+
#define HREF_GPIO_NUM 7
268+
#define PCLK_GPIO_NUM 13
269+
270+
#else
271+
#error "Camera model not selected"
272+
#endif

0 commit comments

Comments
 (0)