OV7670 + 23LC1024 + Bluetooth

Dependencies:   FastPWM MODSERIAL mbed

Committer:
sampullman
Date:
Tue Jul 23 06:36:50 2013 +0000
Revision:
2:a7f5fa80a385
Parent:
1:6e4d2cff76e8
Fixed OV7670.cpp file name

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sampullman 0:f309a2b2f27b 1 #include "mbed.h"
sampullman 0:f309a2b2f27b 2 #include "OV7670reg.h"
sampullman 0:f309a2b2f27b 3 #include "FastPWM.h"
sampullman 1:6e4d2cff76e8 4 #include "spi_ram.h"
sampullman 0:f309a2b2f27b 5
sampullman 0:f309a2b2f27b 6 #define OV7670_WRITE (0x42)
sampullman 0:f309a2b2f27b 7 #define OV7670_READ (0x43)
sampullman 0:f309a2b2f27b 8 #define OV7670_WRITEWAIT (20)
sampullman 0:f309a2b2f27b 9 #define OV7670_NOACK (0)
sampullman 0:f309a2b2f27b 10 #define OV7670_REGMAX (201)
sampullman 0:f309a2b2f27b 11 #define OV7670_I2CFREQ (50000)
sampullman 0:f309a2b2f27b 12
sampullman 0:f309a2b2f27b 13 //
sampullman 0:f309a2b2f27b 14 // OV7670 Camera board test (no FIFO)
sampullman 0:f309a2b2f27b 15 //
sampullman 0:f309a2b2f27b 16 class OV7670 {
sampullman 0:f309a2b2f27b 17 public:
sampullman 0:f309a2b2f27b 18 I2C camera;
sampullman 0:f309a2b2f27b 19 PinName xclkPin;
sampullman 0:f309a2b2f27b 20 PortIn data, inPort;
sampullman 1:6e4d2cff76e8 21 SPI spi;
sampullman 1:6e4d2cff76e8 22 SRAM ram;
sampullman 1:6e4d2cff76e8 23 int size;
sampullman 0:f309a2b2f27b 24
sampullman 0:f309a2b2f27b 25 OV7670(
sampullman 0:f309a2b2f27b 26 PinName sda, // Camera I2C port
sampullman 0:f309a2b2f27b 27 PinName scl, // Camera I2C port
sampullman 0:f309a2b2f27b 28 PinName xclk,// Camera XCLK
sampullman 0:f309a2b2f27b 29 PinName pclkPin,// PCLK
sampullman 0:f309a2b2f27b 30 PinName vs, // VSYNC
sampullman 0:f309a2b2f27b 31 PinName hr, // HREF
sampullman 0:f309a2b2f27b 32
sampullman 0:f309a2b2f27b 33 PortName port, // 8bit bus port
sampullman 0:f309a2b2f27b 34 int mask // 0000 0111 4000 0111 1000 0000 0000 0000 = 0x07878000
sampullman 0:f309a2b2f27b 35 );
sampullman 0:f309a2b2f27b 36
sampullman 0:f309a2b2f27b 37 void Init();
sampullman 0:f309a2b2f27b 38
sampullman 0:f309a2b2f27b 39 // write to camera
sampullman 0:f309a2b2f27b 40 void WriteReg(int addr, int data);
sampullman 0:f309a2b2f27b 41
sampullman 0:f309a2b2f27b 42 // read from camera
sampullman 0:f309a2b2f27b 43 int ReadReg(int addr);
sampullman 0:f309a2b2f27b 44
sampullman 0:f309a2b2f27b 45 void Reset(void);
sampullman 0:f309a2b2f27b 46
sampullman 0:f309a2b2f27b 47 void InitQQVGA();
sampullman 0:f309a2b2f27b 48
sampullman 0:f309a2b2f27b 49 void scopeTest(Serial *host);
sampullman 0:f309a2b2f27b 50
sampullman 1:6e4d2cff76e8 51 // Capture image to external SRAM. Returns number of bytes received
sampullman 1:6e4d2cff76e8 52 int captureImage();
sampullman 1:6e4d2cff76e8 53
sampullman 1:6e4d2cff76e8 54 void sendImage(Serial *dest, int numBytes);
sampullman 0:f309a2b2f27b 55
sampullman 0:f309a2b2f27b 56 };