PicoCamera
0.2.0
Camera library for RP2040 with an esp32-camera compatible API
GitHub
Toggle main menu visibility
载入中...
搜索中...
未找到
gc032a_settings.h
1
/*
2
* This file is part of the PicoCamera project.
3
* https://github.com/umeiko/PicoCamera
4
*
5
* Author: umeko <umeko@stu.xmu.edu.cn>
6
* License: MIT
7
*/
8
9
/*
10
* GC032A default initialization register table.
11
* Ported verbatim from esp32-camera's private_include/gc032a_settings.h
12
* (Apache-2.0), comments preserved as-is.
13
*
14
* The table is terminated by {REGLIST_TAIL, 0x00}; REG_DLY as the register
15
* field marks a delay in milliseconds (not used by this table today).
16
*/
17
#ifndef __GC032A_SETTINGS_H__
18
#define __GC032A_SETTINGS_H__
19
20
#include <stdint.h>
21
22
#define REG_DLY 0xffff
23
#define REGLIST_TAIL 0x0000
/* Array end token */
24
25
/*
26
* The default register settings, as obtained from OmniVision. There
27
* is really no making sense of most of these - lots of "reserved" values
28
* and such.
29
*
30
*/
31
static
const
uint16_t gc032a_default_init_regs[][2] = {
32
/*System*/
33
{0xf3, 0xff},
34
{0xf5, 0x06},
35
{0xf7, 0x01},
36
{0xf8, 0x03},
37
{0xf9, 0xce},
38
{0xfa, 0x00},
39
{0xfc, 0x02},
40
{0xfe, 0x02},
41
{0x81, 0x03},
42
43
{0xfe, 0x00},
44
{0x77, 0x64},
45
{0x78, 0x40},
46
{0x79, 0x60},
47
/*ANALOG & CISCTL*/
48
{0xfe, 0x00},
49
{0x03, 0x01},
50
{0x04, 0xce},
51
{0x05, 0x01},
52
{0x06, 0xad},
53
{0x07, 0x00},
54
{0x08, 0x10},
55
{0x0a, 0x00},
56
{0x0c, 0x00},
57
{0x0d, 0x01},
58
{0x0e, 0xe8},
// height 488
59
{0x0f, 0x02},
60
{0x10, 0x88},
// width 648
61
{0x17, 0x54},
62
{0x19, 0x08},
63
{0x1a, 0x0a},
64
{0x1f, 0x40},
65
{0x20, 0x30},
66
{0x2e, 0x80},
67
{0x2f, 0x2b},
68
{0x30, 0x1a},
69
{0xfe, 0x02},
70
{0x03, 0x02},
71
{0x05, 0xd7},
72
{0x06, 0x60},
73
{0x08, 0x80},
74
{0x12, 0x89},
75
76
/*blk*/
77
{0xfe, 0x00},
78
{0x18, 0x02},
79
{0xfe, 0x02},
80
{0x40, 0x22},
81
{0x45, 0x00},
82
{0x46, 0x00},
83
{0x49, 0x20},
84
{0x4b, 0x3c},
85
{0x50, 0x20},
86
{0x42, 0x10},
87
88
/*isp*/
89
{0xfe, 0x01},
90
{0x0a, 0xc5},
91
{0x45, 0x00},
92
{0xfe, 0x00},
93
{0x40, 0xff},
94
{0x41, 0x25},
95
{0x42, 0xcf},
96
{0x43, 0x10},
97
{0x44, 0x83},
98
{0x46, 0x23},
99
{0x49, 0x03},
100
{0x52, 0x02},
101
{0x54, 0x00},
102
{0xfe, 0x02},
103
{0x22, 0xf6},
104
105
/*Shading*/
106
{0xfe, 0x01},
107
{0xc1, 0x38},
108
{0xc2, 0x4c},
109
{0xc3, 0x00},
110
{0xc4, 0x32},
111
{0xc5, 0x24},
112
{0xc6, 0x16},
113
{0xc7, 0x08},
114
{0xc8, 0x08},
115
{0xc9, 0x00},
116
{0xca, 0x20},
117
{0xdc, 0x8a},
118
{0xdd, 0xa0},
119
{0xde, 0xa6},
120
{0xdf, 0x75},
121
122
/*AWB*/
123
{0xfe, 0x01},
124
{0x7c, 0x09},
125
{0x65, 0x06},
126
{0x7c, 0x08},
127
{0x56, 0xf4},
128
{0x66, 0x0f},
129
{0x67, 0x84},
130
{0x6b, 0x80},
131
{0x6d, 0x12},
132
{0x6e, 0xb0},
133
{0x86, 0x00},
134
{0x87, 0x00},
135
{0x88, 0x00},
136
{0x89, 0x00},
137
{0x8a, 0x00},
138
{0x8b, 0x00},
139
{0x8c, 0x00},
140
{0x8d, 0x00},
141
{0x8e, 0x00},
142
{0x8f, 0x00},
143
{0x90, 0x00},
144
{0x91, 0x00},
145
{0x92, 0xf4},
146
{0x93, 0xd5},
147
{0x94, 0x50},
148
{0x95, 0x0f},
149
{0x96, 0xf4},
150
{0x97, 0x2d},
151
{0x98, 0x0f},
152
{0x99, 0xa6},
153
{0x9a, 0x2d},
154
{0x9b, 0x0f},
155
{0x9c, 0x59},
156
{0x9d, 0x2d},
157
{0x9e, 0xaa},
158
{0x9f, 0x67},
159
{0xa0, 0x59},
160
{0xa1, 0x00},
161
{0xa2, 0x00},
162
{0xa3, 0x0a},
163
{0xa4, 0x00},
164
{0xa5, 0x00},
165
{0xa6, 0xd4},
166
{0xa7, 0x9f},
167
{0xa8, 0x55},
168
{0xa9, 0xd4},
169
{0xaa, 0x9f},
170
{0xab, 0xac},
171
{0xac, 0x9f},
172
{0xad, 0x55},
173
{0xae, 0xd4},
174
{0xaf, 0xac},
175
{0xb0, 0xd4},
176
{0xb1, 0xa3},
177
{0xb2, 0x55},
178
{0xb3, 0xd4},
179
{0xb4, 0xac},
180
{0xb5, 0x00},
181
{0xb6, 0x00},
182
{0xb7, 0x05},
183
{0xb8, 0xd6},
184
{0xb9, 0x8c},
185
186
/*CC*/
187
{0xfe, 0x01},
188
{0xd0, 0x40},
189
{0xd1, 0xf8},
190
{0xd2, 0x00},
191
{0xd3, 0xfa},
192
{0xd4, 0x45},
193
{0xd5, 0x02},
194
195
{0xd6, 0x30},
196
{0xd7, 0xfa},
197
{0xd8, 0x08},
198
{0xd9, 0x08},
199
{0xda, 0x58},
200
{0xdb, 0x02},
201
{0xfe, 0x00},
202
203
/*Gamma*/
204
{0xfe, 0x00},
205
{0xba, 0x00},
206
{0xbb, 0x04},
207
{0xbc, 0x0a},
208
{0xbd, 0x0e},
209
{0xbe, 0x22},
210
{0xbf, 0x30},
211
{0xc0, 0x3d},
212
{0xc1, 0x4a},
213
{0xc2, 0x5d},
214
{0xc3, 0x6b},
215
{0xc4, 0x7a},
216
{0xc5, 0x85},
217
{0xc6, 0x90},
218
{0xc7, 0xa5},
219
{0xc8, 0xb5},
220
{0xc9, 0xc2},
221
{0xca, 0xcc},
222
{0xcb, 0xd5},
223
{0xcc, 0xde},
224
{0xcd, 0xea},
225
{0xce, 0xf5},
226
{0xcf, 0xff},
227
228
/*Auto Gamma*/
229
{0xfe, 0x00},
230
{0x5a, 0x08},
231
{0x5b, 0x0f},
232
{0x5c, 0x15},
233
{0x5d, 0x1c},
234
{0x5e, 0x28},
235
{0x5f, 0x36},
236
{0x60, 0x45},
237
{0x61, 0x51},
238
{0x62, 0x6a},
239
{0x63, 0x7d},
240
{0x64, 0x8d},
241
{0x65, 0x98},
242
{0x66, 0xa2},
243
{0x67, 0xb5},
244
{0x68, 0xc3},
245
{0x69, 0xcd},
246
{0x6a, 0xd4},
247
{0x6b, 0xdc},
248
{0x6c, 0xe3},
249
{0x6d, 0xf0},
250
{0x6e, 0xf9},
251
{0x6f, 0xff},
252
253
/*Gain*/
254
{0xfe, 0x00},
255
{0x70, 0x50},
256
257
/*AEC*/
258
{0xfe, 0x00},
259
{0x4f, 0x01},
260
{0xfe, 0x01},
261
{0x0d, 0x00},
262
{0x12, 0xa0},
263
{0x13, 0x3a},
264
{0x44, 0x04},
265
{0x1f, 0x30},
266
{0x20, 0x40},
267
{0x26, 0x9a},
268
{0x3e, 0x20},
269
{0x3f, 0x2d},
270
{0x40, 0x40},
271
{0x41, 0x5b},
272
{0x42, 0x82},
273
{0x43, 0xb7},
274
{0x04, 0x0a},
275
{0x02, 0x79},
276
{0x03, 0xc0},
277
278
/*measure window*/
279
{0xfe, 0x01},
280
{0xcc, 0x08},
281
{0xcd, 0x08},
282
{0xce, 0xa4},
283
{0xcf, 0xec},
284
285
/*DNDD*/
286
{0xfe, 0x00},
287
{0x81, 0xb8},
288
{0x82, 0x12},
289
{0x83, 0x0a},
290
{0x84, 0x01},
291
{0x86, 0x50},
292
{0x87, 0x18},
293
{0x88, 0x10},
294
{0x89, 0x70},
295
{0x8a, 0x20},
296
{0x8b, 0x10},
297
{0x8c, 0x08},
298
{0x8d, 0x0a},
299
300
/*Intpee*/
301
{0xfe, 0x00},
302
{0x8f, 0xaa},
303
{0x90, 0x9c},
304
{0x91, 0x52},
305
{0x92, 0x03},
306
{0x93, 0x03},
307
{0x94, 0x08},
308
{0x95, 0x44},
309
{0x97, 0x00},
310
{0x98, 0x00},
311
312
/*ASDE*/
313
{0xfe, 0x00},
314
{0xa1, 0x30},
315
{0xa2, 0x41},
316
{0xa4, 0x30},
317
{0xa5, 0x20},
318
{0xaa, 0x30},
319
{0xac, 0x32},
320
321
/*YCP*/
322
{0xfe, 0x00},
323
{0xd1, 0x3c},
324
{0xd2, 0x3c},
325
{0xd3, 0x38},
326
{0xd6, 0xf4},
327
{0xd7, 0x1d},
328
{0xdd, 0x73},
329
{0xde, 0x84},
330
331
/*Banding*/
332
{0xfe, 0x00},
333
{0x05, 0x01},
334
{0x06, 0xad},
335
{0x07, 0x00},
336
{0x08, 0x10},
337
338
{0xfe, 0x01},
339
{0x25, 0x00},
340
{0x26, 0x9a},
341
342
{0x27, 0x01},
343
{0x28, 0xce},
344
{0x29, 0x02},
345
{0x2a, 0x68},
346
{0x2b, 0x02},
347
{0x2c, 0x68},
348
{0x2d, 0x07},
349
{0x2e, 0xd2},
350
{0x2f, 0x0b},
351
{0x30, 0x6e},
352
{0x31, 0x0e},
353
{0x32, 0x70},
354
{0x33, 0x12},
355
{0x34, 0x0c},
356
{0x3c, 0x30},
357
358
/*Analog&Cisctl*/
359
{0xfe, 0x00},
360
{0x05, 0x01},
361
{0x06, 0xa0},
362
{0x07, 0x00},
363
{0x08, 0x20},
364
{0x0a, 0x78},
365
{0x0c, 0xa0},
366
{0x0d, 0x00},
//window_height [8]
367
{0x0e, 0xf8},
//window_height [7:0] 248
368
{0x0f, 0x01},
//window_width [9:8]
369
{0x10, 0x48},
//window_width [7:0] 328
370
371
{0x55, 0x00},
372
{0x56, 0xf0},
// 240
373
{0x57, 0x01},
374
{0x58, 0x40},
// 320
375
376
/*SPI*/
377
{0xfe, 0x03},
378
{0x5b, 0x40},
379
{0x5c, 0x01},
380
{0x5d, 0xf0},
381
{0x5e, 0x00},
382
383
/*AEC*/
384
{0xfe, 0x01},
385
{0x25, 0x00},
//step
386
{0x26, 0x63},
387
{0x27, 0x01},
388
{0x28, 0x29},
389
{0x29, 0x01},
390
{0x2a, 0x29},
391
{0x2b, 0x01},
392
{0x2c, 0x29},
393
{0x2d, 0x01},
394
{0x2e, 0x29},
395
{0x2f, 0x01},
396
{0x30, 0x29},
397
{0x31, 0x01},
398
{0x32, 0x29},
399
{0x33, 0x01},
400
{0x34, 0x29},
401
{0x3c, 0x00},
402
403
/*measure window*/
404
{0xfe, 0x01},
405
{0xcc, 0x04},
406
{0xcd, 0x04},
407
{0xce, 0x72},
408
{0xcf, 0x52},
409
{REGLIST_TAIL, 0x00},
410
};
411
412
#endif
// __GC032A_SETTINGS_H__
English version
制作者
doxygen
1.18.0