5MP Motion Camera  1.1.1.1
A waterproof, low power, battery operated, motion activated, 5 mega-pixel, WiFi camera.
ArduCAM.h File Reference
#include "memorysaver.h"
#include "Arduino.h"
#include <pins_arduino.h>
#include "ov5642_regs.h"

Go to the source code of this file.

Classes

struct  sensor_reg
 
class  ArduCAM
 

Macros

#define BMP   0
 
#define JPEG   1
 
#define RAW   2
 
#define OV7670   0
 
#define MT9D111_A   1
 
#define OV7675   2
 
#define OV5642   3
 
#define OV3640   4
 
#define OV2640   5
 
#define OV9655   6
 
#define MT9M112   7
 
#define OV7725   8
 
#define OV7660   9
 
#define MT9M001   10
 
#define OV5640   11
 
#define MT9D111_B   12
 
#define OV9650   13
 
#define MT9V111   14
 
#define MT9T112   15
 
#define MT9D112   16
 
#define MT9V034   17
 
#define MT9M034   18
 
#define OV2640_160x120   0
 
#define OV2640_176x144   1
 
#define OV2640_320x240   2
 
#define OV2640_352x288   3
 
#define OV2640_640x480   4
 
#define OV2640_800x600   5
 
#define OV2640_1024x768   6
 
#define OV2640_1280x1024   7
 
#define OV2640_1600x1200   8
 
#define OV3640_176x144   0
 
#define OV3640_320x240   1
 
#define OV3640_352x288   2
 
#define OV3640_640x480   3
 
#define OV3640_800x600   4
 
#define OV3640_1024x768   5
 
#define OV3640_1280x960   6
 
#define OV3640_1600x1200   7
 
#define OV3640_2048x1536   8
 
#define OV5642_320x240   0
 
#define OV5642_640x480   1
 
#define OV5642_1024x768   2
 
#define OV5642_1280x960   3
 
#define OV5642_1600x1200   4
 
#define OV5642_2048x1536   5
 
#define OV5642_2592x1944   6
 
#define OV5642_1920x1080   7
 
#define OV5640_320x240   0
 
#define OV5640_352x288   1
 
#define OV5640_640x480   2
 
#define OV5640_800x480   3
 
#define OV5640_1024x768   4
 
#define OV5640_1280x960   5
 
#define OV5640_1600x1200   6
 
#define OV5640_2048x1536   7
 
#define OV5640_2592x1944   8
 
#define Auto   0
 
#define Sunny   1
 
#define Cloudy   2
 
#define Office   3
 
#define Home   4
 
#define Advanced_AWB   0
 
#define Simple_AWB   1
 
#define Manual_day   2
 
#define Manual_A   3
 
#define Manual_cwf   4
 
#define Manual_cloudy   5
 
#define Saturation4   0
 
#define Saturation3   1
 
#define Saturation2   2
 
#define Saturation1   3
 
#define Saturation0   4
 
#define Saturation_1   5
 
#define Saturation_2   6
 
#define Saturation_3   7
 
#define Saturation_4   8
 
#define Brightness4   0
 
#define Brightness3   1
 
#define Brightness2   2
 
#define Brightness1   3
 
#define Brightness0   4
 
#define Brightness_1   5
 
#define Brightness_2   6
 
#define Brightness_3   7
 
#define Brightness_4   8
 
#define Contrast4   0
 
#define Contrast3   1
 
#define Contrast2   2
 
#define Contrast1   3
 
#define Contrast0   4
 
#define Contrast_1   5
 
#define Contrast_2   6
 
#define Contrast_3   7
 
#define Contrast_4   8
 
#define degree_180   0
 
#define degree_150   1
 
#define degree_120   2
 
#define degree_90   3
 
#define degree_60   4
 
#define degree_30   5
 
#define degree_0   6
 
#define degree30   7
 
#define degree60   8
 
#define degree90   9
 
#define degree120   10
 
#define degree150   11
 
#define Antique   0
 
#define Bluish   1
 
#define Greenish   2
 
#define Reddish   3
 
#define BW   4
 
#define Negative   5
 
#define BWnegative   6
 
#define Normal   7
 
#define Sepia   8
 
#define Overexposure   9
 
#define Solarize   10
 
#define Blueish   11
 
#define Yellowish   12
 
#define Exposure_17_EV   0
 
#define Exposure_13_EV   1
 
#define Exposure_10_EV   2
 
#define Exposure_07_EV   3
 
#define Exposure_03_EV   4
 
#define Exposure_default   5
 
#define Exposure03_EV   6
 
#define Exposure07_EV   7
 
#define Exposure10_EV   8
 
#define Exposure13_EV   9
 
#define Exposure17_EV   10
 
#define Auto_Sharpness_default   0
 
#define Auto_Sharpness1   1
 
#define Auto_Sharpness2   2
 
#define Manual_Sharpnessoff   3
 
#define Manual_Sharpness1   4
 
#define Manual_Sharpness2   5
 
#define Manual_Sharpness3   6
 
#define Manual_Sharpness4   7
 
#define Manual_Sharpness5   8
 
#define Sharpness1   0
 
#define Sharpness2   1
 
#define Sharpness3   2
 
#define Sharpness4   3
 
#define Sharpness5   4
 
#define Sharpness6   5
 
#define Sharpness7   6
 
#define Sharpness8   7
 
#define Sharpness_auto   8
 
#define EV3   0
 
#define EV2   1
 
#define EV1   2
 
#define EV0   3
 
#define EV_1   4
 
#define EV_2   5
 
#define EV_3   6
 
#define MIRROR   0
 
#define FLIP   1
 
#define MIRROR_FLIP   2
 
#define high_quality   0
 
#define default_quality   1
 
#define low_quality   2
 
#define Color_bar   0
 
#define Color_square   1
 
#define BW_square   2
 
#define DLI   3
 
#define Night_Mode_On   0
 
#define Night_Mode_Off   1
 
#define Off   0
 
#define Manual_50HZ   1
 
#define Manual_60HZ   2
 
#define Auto_Detection   3
 
#define I2C_ADDR_8BIT   0
 
#define I2C_ADDR_16BIT   1
 
#define I2C_REG_8BIT   0
 
#define I2C_REG_16BIT   1
 
#define I2C_DAT_8BIT   0
 
#define I2C_DAT_16BIT   1
 
#define SENSOR_REG_TERM_8BIT   0xFF
 
#define SENSOR_REG_TERM_16BIT   0xFFFF
 
#define SENSOR_VAL_TERM_8BIT   0xFF
 
#define SENSOR_VAL_TERM_16BIT   0xFFFF
 
#define MAX_FIFO_SIZE   0x7FFFFF
 
#define RWBIT   0x80
 
#define ARDUCHIP_TEST1   0x00
 
#define ARDUCHIP_FRAMES   0x01
 
#define ARDUCHIP_MODE   0x02
 
#define MCU2LCD_MODE   0x00
 
#define CAM2LCD_MODE   0x01
 
#define LCD2MCU_MODE   0x02
 
#define ARDUCHIP_TIM   0x03
 
#define HREF_LEVEL_MASK   0x01
 
#define VSYNC_LEVEL_MASK   0x02
 
#define LCD_BKEN_MASK   0x04
 
#define PCLK_DELAY_MASK   0x08
 
#define ARDUCHIP_FIFO   0x04
 
#define FIFO_CLEAR_MASK   0x01
 
#define FIFO_START_MASK   0x02
 
#define FIFO_RDPTR_RST_MASK   0x10
 
#define FIFO_WRPTR_RST_MASK   0x20
 
#define ARDUCHIP_GPIO   0x06
 
#define GPIO_RESET_MASK   0x01
 
#define GPIO_PWDN_MASK   0x02
 
#define GPIO_PWREN_MASK   0x04
 
#define BURST_FIFO_READ   0x3C
 
#define SINGLE_FIFO_READ   0x3D
 
#define ARDUCHIP_REV   0x40
 
#define VER_LOW_MASK   0x3F
 
#define VER_HIGH_MASK   0xC0
 
#define ARDUCHIP_TRIG   0x41
 
#define VSYNC_MASK   0x01
 
#define SHUTTER_MASK   0x02
 
#define CAP_DONE_MASK   0x08
 
#define FIFO_SIZE1   0x42
 
#define FIFO_SIZE2   0x43
 
#define FIFO_SIZE3   0x44
 

Macro Definition Documentation

◆ Advanced_AWB

#define Advanced_AWB   0

◆ Antique

#define Antique   0

◆ ARDUCHIP_FIFO

#define ARDUCHIP_FIFO   0x04

◆ ARDUCHIP_FRAMES

#define ARDUCHIP_FRAMES   0x01

◆ ARDUCHIP_GPIO

#define ARDUCHIP_GPIO   0x06

◆ ARDUCHIP_MODE

#define ARDUCHIP_MODE   0x02

◆ ARDUCHIP_REV

#define ARDUCHIP_REV   0x40

◆ ARDUCHIP_TEST1

#define ARDUCHIP_TEST1   0x00

◆ ARDUCHIP_TIM

#define ARDUCHIP_TIM   0x03

◆ ARDUCHIP_TRIG

#define ARDUCHIP_TRIG   0x41

◆ Auto

#define Auto   0

◆ Auto_Detection

#define Auto_Detection   3

◆ Auto_Sharpness1

#define Auto_Sharpness1   1

◆ Auto_Sharpness2

#define Auto_Sharpness2   2

◆ Auto_Sharpness_default

#define Auto_Sharpness_default   0

◆ Blueish

#define Blueish   11

◆ Bluish

#define Bluish   1

◆ BMP

#define BMP   0

◆ Brightness0

#define Brightness0   4

◆ Brightness1

#define Brightness1   3

◆ Brightness2

#define Brightness2   2

◆ Brightness3

#define Brightness3   1

◆ Brightness4

#define Brightness4   0

◆ Brightness_1

#define Brightness_1   5

◆ Brightness_2

#define Brightness_2   6

◆ Brightness_3

#define Brightness_3   7

◆ Brightness_4

#define Brightness_4   8

◆ BURST_FIFO_READ

#define BURST_FIFO_READ   0x3C

◆ BW

#define BW   4

◆ BW_square

#define BW_square   2

◆ BWnegative

#define BWnegative   6

◆ CAM2LCD_MODE

#define CAM2LCD_MODE   0x01

◆ CAP_DONE_MASK

#define CAP_DONE_MASK   0x08

◆ Cloudy

#define Cloudy   2

◆ Color_bar

#define Color_bar   0

◆ Color_square

#define Color_square   1

◆ Contrast0

#define Contrast0   4

◆ Contrast1

#define Contrast1   3

◆ Contrast2

#define Contrast2   2

◆ Contrast3

#define Contrast3   1

◆ Contrast4

#define Contrast4   0

◆ Contrast_1

#define Contrast_1   5

◆ Contrast_2

#define Contrast_2   6

◆ Contrast_3

#define Contrast_3   7

◆ Contrast_4

#define Contrast_4   8

◆ default_quality

#define default_quality   1

◆ degree120

#define degree120   10

◆ degree150

#define degree150   11

◆ degree30

#define degree30   7

◆ degree60

#define degree60   8

◆ degree90

#define degree90   9

◆ degree_0

#define degree_0   6

◆ degree_120

#define degree_120   2

◆ degree_150

#define degree_150   1

◆ degree_180

#define degree_180   0

◆ degree_30

#define degree_30   5

◆ degree_60

#define degree_60   4

◆ degree_90

#define degree_90   3

◆ DLI

#define DLI   3

◆ EV0

#define EV0   3

◆ EV1

#define EV1   2

◆ EV2

#define EV2   1

◆ EV3

#define EV3   0

◆ EV_1

#define EV_1   4

◆ EV_2

#define EV_2   5

◆ EV_3

#define EV_3   6

◆ Exposure03_EV

#define Exposure03_EV   6

◆ Exposure07_EV

#define Exposure07_EV   7

◆ Exposure10_EV

#define Exposure10_EV   8

◆ Exposure13_EV

#define Exposure13_EV   9

◆ Exposure17_EV

#define Exposure17_EV   10

◆ Exposure_03_EV

#define Exposure_03_EV   4

◆ Exposure_07_EV

#define Exposure_07_EV   3

◆ Exposure_10_EV

#define Exposure_10_EV   2

◆ Exposure_13_EV

#define Exposure_13_EV   1

◆ Exposure_17_EV

#define Exposure_17_EV   0

◆ Exposure_default

#define Exposure_default   5

◆ FIFO_CLEAR_MASK

#define FIFO_CLEAR_MASK   0x01

◆ FIFO_RDPTR_RST_MASK

#define FIFO_RDPTR_RST_MASK   0x10

◆ FIFO_SIZE1

#define FIFO_SIZE1   0x42

◆ FIFO_SIZE2

#define FIFO_SIZE2   0x43

◆ FIFO_SIZE3

#define FIFO_SIZE3   0x44

◆ FIFO_START_MASK

#define FIFO_START_MASK   0x02

◆ FIFO_WRPTR_RST_MASK

#define FIFO_WRPTR_RST_MASK   0x20

◆ FLIP

#define FLIP   1

◆ GPIO_PWDN_MASK

#define GPIO_PWDN_MASK   0x02

◆ GPIO_PWREN_MASK

#define GPIO_PWREN_MASK   0x04

◆ GPIO_RESET_MASK

#define GPIO_RESET_MASK   0x01

◆ Greenish

#define Greenish   2

◆ high_quality

#define high_quality   0

◆ Home

#define Home   4

◆ HREF_LEVEL_MASK

#define HREF_LEVEL_MASK   0x01

◆ I2C_ADDR_16BIT

#define I2C_ADDR_16BIT   1

◆ I2C_ADDR_8BIT

#define I2C_ADDR_8BIT   0

◆ I2C_DAT_16BIT

#define I2C_DAT_16BIT   1

◆ I2C_DAT_8BIT

#define I2C_DAT_8BIT   0

◆ I2C_REG_16BIT

#define I2C_REG_16BIT   1

◆ I2C_REG_8BIT

#define I2C_REG_8BIT   0

◆ JPEG

#define JPEG   1

◆ LCD2MCU_MODE

#define LCD2MCU_MODE   0x02

◆ LCD_BKEN_MASK

#define LCD_BKEN_MASK   0x04

◆ low_quality

#define low_quality   2

◆ Manual_50HZ

#define Manual_50HZ   1

◆ Manual_60HZ

#define Manual_60HZ   2

◆ Manual_A

#define Manual_A   3

◆ Manual_cloudy

#define Manual_cloudy   5

◆ Manual_cwf

#define Manual_cwf   4

◆ Manual_day

#define Manual_day   2

◆ Manual_Sharpness1

#define Manual_Sharpness1   4

◆ Manual_Sharpness2

#define Manual_Sharpness2   5

◆ Manual_Sharpness3

#define Manual_Sharpness3   6

◆ Manual_Sharpness4

#define Manual_Sharpness4   7

◆ Manual_Sharpness5

#define Manual_Sharpness5   8

◆ Manual_Sharpnessoff

#define Manual_Sharpnessoff   3

◆ MAX_FIFO_SIZE

#define MAX_FIFO_SIZE   0x7FFFFF

◆ MCU2LCD_MODE

#define MCU2LCD_MODE   0x00

◆ MIRROR

#define MIRROR   0

◆ MIRROR_FLIP

#define MIRROR_FLIP   2

◆ MT9D111_A

#define MT9D111_A   1

◆ MT9D111_B

#define MT9D111_B   12

◆ MT9D112

#define MT9D112   16

◆ MT9M001

#define MT9M001   10

◆ MT9M034

#define MT9M034   18

◆ MT9M112

#define MT9M112   7

◆ MT9T112

#define MT9T112   15

◆ MT9V034

#define MT9V034   17

◆ MT9V111

#define MT9V111   14

◆ Negative

#define Negative   5

◆ Night_Mode_Off

#define Night_Mode_Off   1

◆ Night_Mode_On

#define Night_Mode_On   0

◆ Normal

#define Normal   7

◆ Off

#define Off   0

◆ Office

#define Office   3

◆ OV2640

#define OV2640   5

◆ OV2640_1024x768

#define OV2640_1024x768   6

◆ OV2640_1280x1024

#define OV2640_1280x1024   7

◆ OV2640_1600x1200

#define OV2640_1600x1200   8

◆ OV2640_160x120

#define OV2640_160x120   0

◆ OV2640_176x144

#define OV2640_176x144   1

◆ OV2640_320x240

#define OV2640_320x240   2

◆ OV2640_352x288

#define OV2640_352x288   3

◆ OV2640_640x480

#define OV2640_640x480   4

◆ OV2640_800x600

#define OV2640_800x600   5

◆ OV3640

#define OV3640   4

◆ OV3640_1024x768

#define OV3640_1024x768   5

◆ OV3640_1280x960

#define OV3640_1280x960   6

◆ OV3640_1600x1200

#define OV3640_1600x1200   7

◆ OV3640_176x144

#define OV3640_176x144   0

◆ OV3640_2048x1536

#define OV3640_2048x1536   8

◆ OV3640_320x240

#define OV3640_320x240   1

◆ OV3640_352x288

#define OV3640_352x288   2

◆ OV3640_640x480

#define OV3640_640x480   3

◆ OV3640_800x600

#define OV3640_800x600   4

◆ OV5640

#define OV5640   11

◆ OV5640_1024x768

#define OV5640_1024x768   4

◆ OV5640_1280x960

#define OV5640_1280x960   5

◆ OV5640_1600x1200

#define OV5640_1600x1200   6

◆ OV5640_2048x1536

#define OV5640_2048x1536   7

◆ OV5640_2592x1944

#define OV5640_2592x1944   8

◆ OV5640_320x240

#define OV5640_320x240   0

◆ OV5640_352x288

#define OV5640_352x288   1

◆ OV5640_640x480

#define OV5640_640x480   2

◆ OV5640_800x480

#define OV5640_800x480   3

◆ OV5642

#define OV5642   3

◆ OV5642_1024x768

#define OV5642_1024x768   2

◆ OV5642_1280x960

#define OV5642_1280x960   3

◆ OV5642_1600x1200

#define OV5642_1600x1200   4

◆ OV5642_1920x1080

#define OV5642_1920x1080   7

◆ OV5642_2048x1536

#define OV5642_2048x1536   5

◆ OV5642_2592x1944

#define OV5642_2592x1944   6

◆ OV5642_320x240

#define OV5642_320x240   0

◆ OV5642_640x480

#define OV5642_640x480   1

◆ OV7660

#define OV7660   9

◆ OV7670

#define OV7670   0

◆ OV7675

#define OV7675   2

◆ OV7725

#define OV7725   8

◆ OV9650

#define OV9650   13

◆ OV9655

#define OV9655   6

◆ Overexposure

#define Overexposure   9

◆ PCLK_DELAY_MASK

#define PCLK_DELAY_MASK   0x08

◆ RAW

#define RAW   2

◆ Reddish

#define Reddish   3

◆ RWBIT

#define RWBIT   0x80

◆ Saturation0

#define Saturation0   4

◆ Saturation1

#define Saturation1   3

◆ Saturation2

#define Saturation2   2

◆ Saturation3

#define Saturation3   1

◆ Saturation4

#define Saturation4   0

◆ Saturation_1

#define Saturation_1   5

◆ Saturation_2

#define Saturation_2   6

◆ Saturation_3

#define Saturation_3   7

◆ Saturation_4

#define Saturation_4   8

◆ SENSOR_REG_TERM_16BIT

#define SENSOR_REG_TERM_16BIT   0xFFFF

◆ SENSOR_REG_TERM_8BIT

#define SENSOR_REG_TERM_8BIT   0xFF

◆ SENSOR_VAL_TERM_16BIT

#define SENSOR_VAL_TERM_16BIT   0xFFFF

◆ SENSOR_VAL_TERM_8BIT

#define SENSOR_VAL_TERM_8BIT   0xFF

◆ Sepia

#define Sepia   8

◆ Sharpness1

#define Sharpness1   0

◆ Sharpness2

#define Sharpness2   1

◆ Sharpness3

#define Sharpness3   2

◆ Sharpness4

#define Sharpness4   3

◆ Sharpness5

#define Sharpness5   4

◆ Sharpness6

#define Sharpness6   5

◆ Sharpness7

#define Sharpness7   6

◆ Sharpness8

#define Sharpness8   7

◆ Sharpness_auto

#define Sharpness_auto   8

◆ SHUTTER_MASK

#define SHUTTER_MASK   0x02

◆ Simple_AWB

#define Simple_AWB   1

◆ SINGLE_FIFO_READ

#define SINGLE_FIFO_READ   0x3D

◆ Solarize

#define Solarize   10

◆ Sunny

#define Sunny   1

◆ VER_HIGH_MASK

#define VER_HIGH_MASK   0xC0

◆ VER_LOW_MASK

#define VER_LOW_MASK   0x3F

◆ VSYNC_LEVEL_MASK

#define VSYNC_LEVEL_MASK   0x02

◆ VSYNC_MASK

#define VSYNC_MASK   0x01

◆ Yellowish

#define Yellowish   12