8 #ifndef CPP_UTILS_OV7670_H_
9 #define CPP_UTILS_OV7670_H_
11 #include <driver/ledc.h>
13 #define OV7670_REG_GAIN (0x00)
14 #define OV7670_REG_BLUE (0x01)
15 #define OV7670_REG_RED (0x02)
16 #define OV7670_REG_VREF (0x03)
17 #define OV7670_REG_COM1 (0x04)
18 #define OV7670_REG_BAVE (0x05)
19 #define OV7670_REG_GbAVE (0x06)
20 #define OV7670_REG_AECHH (0x07)
21 #define OV7670_REG_RAVE (0x08)
22 #define OV7670_REG_COM2 (0x09)
23 #define OV7670_REG_PID (0x0A)
24 #define OV7670_REG_VER (0x0B)
25 #define OV7670_REG_COM3 (0x0C)
26 #define OV7670_REG_COM4 (0x0D)
27 #define OV7670_REG_COM5 (0x0E)
28 #define OV7670_REG_COM6 (0x0F)
29 #define OV7670_REG_AECH (0x10)
30 #define OV7670_REG_CLKRC (0x11)
31 #define OV7670_REG_COM7 (0x12)
32 #define OV7670_REG_COM8 (0x13)
33 #define OV7670_REG_COM9 (0x14)
34 #define OV7670_REG_COM10 (0x15)
35 #define OV7670_REG_HSTART (0x17)
36 #define OV7670_REG_HSTOP (0x18)
37 #define OV7670_REG_VSTRT (0x19)
38 #define OV7670_REG_VSTOP (0x1a)
39 #define OV7670_REG_PSHFT (0x1b)
40 #define OV7670_REG_MIDH (0x1c)
41 #define OV7670_REG_MIDL (0x1d)
42 #define OV7670_REG_MFVP (0x1e)
43 #define OV7670_REG_LAEC (0x1f)
44 #define OV7670_REG_ADCCTR0 (0x20)
45 #define OV7670_REG_ADCCTR1 (0x21)
46 #define OV7670_REG_ADCCTR2 (0x22)
47 #define OV7670_REG_ADCCTR3 (0x23)
48 #define OV7670_REG_AEW (0x24)
49 #define OV7670_REG_AEB (0x25)
50 #define OV7670_REG_VPT (0x26)
51 #define OV7670_REG_BBIAS (0x27)
52 #define OV7670_REG_GbBIAS (0x28)
53 #define OV7670_REG_RSVD (0x00)
54 #define OV7670_REG_EXHCH (0x2a)
55 #define OV7670_REG_EXHCL (0x2b)
56 #define OV7670_REG_RBIAS (0x2c)
57 #define OV7670_REG_ADVFL (0x2d)
58 #define OV7670_REG_ADVFH (0x2e)
59 #define OV7670_REG_YAVE (0x2f)
60 #define OV7670_REG_HSYST (0x30)
61 #define OV7670_REG_HSYEN (0x31)
62 #define OV7670_REG_HREF (0x32)
63 #define OV7670_REG_CHLF (0x33)
64 #define OV7670_REG_ARBLM (0x34)
65 #define OV7670_REG_ADC (0x37)
66 #define OV7670_REG_ACOM (0x38)
67 #define OV7670_REG_OFON (0x39)
68 #define OV7670_REG_TSLB (0x3a)
69 #define OV7670_REG_COM11 (0x3b)
70 #define OV7670_REG_COM12 (0x3c)
71 #define OV7670_REG_COM13 (0x3d)
72 #define OV7670_REG_COM14 (0x3e)
73 #define OV7670_REG_EDGE (0x3f)
74 #define OV7670_REG_COM15 (0x40)
75 #define OV7670_REG_COM16 (0x41)
76 #define OV7670_REG_COM17 (0x42)
77 #define OV7670_REG_AWBC1 (0x43)
78 #define OV7670_REG_AWBC2 (0x44)
79 #define OV7670_REG_AWBC3 (0x45)
80 #define OV7670_REG_AWBC4 (0x46)
81 #define OV7670_REG_AWBC5 (0x47)
82 #define OV7670_REG_AWBC6 (0x48)
83 #define OV7670_REG_RSVD (0x00)
84 #define OV7670_REG_REG4B (0x4b)
85 #define OV7670_REG_DNSTH (0x4c)
86 #define OV7670_REG_RSVD (0x00)
87 #define OV7670_REG_MTX1 (0x4f)
88 #define OV7670_REG_MTX2 (0x50)
89 #define OV7670_REG_MTX3 (0x51)
90 #define OV7670_REG_MTX4 (0x52)
91 #define OV7670_REG_MTX5 (0x53)
92 #define OV7670_REG_MTX6 (0x54)
93 #define OV7670_REG_BRIGHT (0x55)
94 #define OV7670_REG_CONTRAS (0x56)
95 #define OV7670_REG_CONTRAS_CENTER (0x57)
96 #define OV7670_REG_MTXS (0x58)
97 #define OV7670_REG_RSVD (0x00)
98 #define OV7670_REG_LCC1 (0x62)
99 #define OV7670_REG_LCC2 (0x63)
100 #define OV7670_REG_LCC3 (0x64)
101 #define OV7670_REG_LCC4 (0x65)
102 #define OV7670_REG_LCC5 (0x66)
103 #define OV7670_REG_MANU (0x67)
104 #define OV7670_REG_MANV (0x68)
105 #define OV7670_REG_GFIX (0x69)
106 #define OV7670_REG_GGAIN (0x6a)
107 #define OV7670_REG_DBLV (0x6b)
108 #define OV7670_REG_AWBCTR3 (0x6c)
109 #define OV7670_REG_AWBCTR2 (0x6d)
110 #define OV7670_REG_AWBCTR1 (0x6e)
111 #define OV7670_REG_AWBCTR0 (0x6f)
112 #define OV7670_REG_SCALING_XSC (0x70)
113 #define OV7670_REG_SCALING_YSC (0x71)
114 #define OV7670_REG_SCALING_DCWCTR (0x72)
115 #define OV7670_REG_SCALING_PCLK_DIV (0x73)
116 #define OV7670_REG_REG74 (0x74)
117 #define OV7670_REG_REG75 (0x75)
118 #define OV7670_REG_REG76 (0x76)
119 #define OV7670_REG_REG77 (0x77)
120 #define OV7670_REG_GAM1 (0x7a)
121 #define OV7670_REG_GAM2 (0x7b)
122 #define OV7670_REG_GAM3 (0x7c)
123 #define OV7670_REG_GAM4 (0x7d)
124 #define OV7670_REG_GAM5 (0x7e)
125 #define OV7670_REG_GAM6 (0x7f)
126 #define OV7670_REG_GAM7 (0x80)
127 #define OV7670_REG_GAM8 (0x81)
128 #define OV7670_REG_GAM9 (0x82)
129 #define OV7670_REG_GAM10 (0x83)
130 #define OV7670_REG_GAM11 (0x84)
131 #define OV7670_REG_GAM12 (0x85)
132 #define OV7670_REG_GAM13 (0x86)
133 #define OV7670_REG_GAM14 (0x87)
134 #define OV7670_REG_GAM15 (0x88)
135 #define OV7670_REG_RSVD (0x00)
136 #define OV7670_REG_DM_LNL (0x92)
137 #define OV7670_REG_DML_LNH (0x93)
138 #define OV7670_REG_LCC6 (0x94)
139 #define OV7670_REG_LCC7 (0x95)
140 #define OV7670_REG_BD50ST (0x9d)
141 #define OV7670_REG_BD60ST (0x9e)
142 #define OV7670_REG_STR_OPT (0xAC)
143 #define OV7670_REG_STR_R (0xAD)
144 #define OV7670_REG_STR_G (0xAE)
145 #define OV7670_REG_STR_B (0xAF)
146 #define OV7670_REG_THL_ST (0xB3)
147 #define OV7670_REG_THL_DLT (0xB5)
148 #define OV7670_REG_AD_CHB (0xBE)
149 #define OV7670_REG_AD_CHR (0xBF)
150 #define OV7670_REG_AD_CHGb (0xC0)
151 #define OV7670_REG_AD_CHGr (0xC1)
152 #define OV7670_REG_SATCTR (0xC9)
155 #define OV7670_FORMAT_YUV (0b00)
156 #define OV7670_FORMAT_RGB (0b10)
158 #define OV7670_FORMAT_RGB_RGB_NORMAL (0b00)
159 #define OV7670_FORMAT_RGB_RGB_565 (0b01)
160 #define OV7670_FORMAT_RGB_RGB_555 (0b11)
163 #define OV7670_TESTPATTERN_NONE (0b00)
164 #define OV7670_TESTPATTERN_SHIFT_1 (0b01)
165 #define OV7670_TESTPATTERN_BAR_8 (0b10)
166 #define OV7670_TESTPATTERN_GRAY_FADE (0b11)
197 void setFormat(uint8_t value);
198 void setRGBFormat(uint8_t value);
199 void setTestPattern(uint8_t value);
203 uint8_t readRegister(uint8_t reg);
204 void writeRegister(uint8_t reg, uint8_t value);
gpio_num_t pin_vsync
Definition: OV7670.h:181
gpio_num_t pin_d6
Definition: OV7670.h:174
void reset()
Reset the camera. Toggle the reset pin on the camera.
Definition: OV7670.cpp:512
gpio_num_t pin_reset
Definition: OV7670.h:169
gpio_num_t pin_d4
Definition: OV7670.h:176
gpio_num_t pin_d0
Definition: OV7670.h:180
int xclk_freq_hz
Definition: OV7670.h:185
void init(camera_config_t cameraConfig)
Initialize the camera.
Definition: OV7670.cpp:370
ledc_timer_t ledc_timer
Definition: OV7670.h:186
gpio_num_t pin_sscb_sda
Definition: OV7670.h:171
gpio_num_t pin_d5
Definition: OV7670.h:175
gpio_num_t pin_href
Definition: OV7670.h:182
gpio_num_t pin_d3
Definition: OV7670.h:177
gpio_num_t pin_d1
Definition: OV7670.h:179
gpio_num_t pin_d2
Definition: OV7670.h:178
gpio_num_t pin_d7
Definition: OV7670.h:173
void dump()
Dump the settings.
Definition: OV7670.cpp:269
Interface to I2C functions.
Definition: I2C.h:19
gpio_num_t pin_pclk
Definition: OV7670.h:183
gpio_num_t pin_xclk
Definition: OV7670.h:170
ledc_channel_t ledc_channel
Definition: OV7670.h:187
gpio_num_t pin_sscb_scl
Definition: OV7670.h:172