ov7670 no fifo
OV7670.h@2:90b79650f69d, 2020-04-20 (annotated)
- Committer:
- rulla
- Date:
- Mon Apr 20 15:04:18 2020 +0000
- Revision:
- 2:90b79650f69d
new
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
rulla | 2:90b79650f69d | 1 | #pragma once |
rulla | 2:90b79650f69d | 2 | #include "mbed.h" |
rulla | 2:90b79650f69d | 3 | #include "OV7670reg.h" |
rulla | 2:90b79650f69d | 4 | // |
rulla | 2:90b79650f69d | 5 | // OV7670 |
rulla | 2:90b79650f69d | 6 | |
rulla | 2:90b79650f69d | 7 | class OV7670 |
rulla | 2:90b79650f69d | 8 | { |
rulla | 2:90b79650f69d | 9 | public: |
rulla | 2:90b79650f69d | 10 | |
rulla | 2:90b79650f69d | 11 | volatile int LineCounter ; |
rulla | 2:90b79650f69d | 12 | volatile int LastLines ; |
rulla | 2:90b79650f69d | 13 | volatile bool CaptureReq ; |
rulla | 2:90b79650f69d | 14 | volatile bool Busy ; |
rulla | 2:90b79650f69d | 15 | volatile bool Done ; |
rulla | 2:90b79650f69d | 16 | volatile int PixCounter; |
rulla | 2:90b79650f69d | 17 | void CaptureNext(void); |
rulla | 2:90b79650f69d | 18 | bool CaptureDone(void); |
rulla | 2:90b79650f69d | 19 | void WriteReg(int addr,char data); |
rulla | 2:90b79650f69d | 20 | void Reset(float frequ); |
rulla | 2:90b79650f69d | 21 | void test(void); |
rulla | 2:90b79650f69d | 22 | void Init(float frequ,int sizeX); |
rulla | 2:90b79650f69d | 23 | void Init2(void); |
rulla | 2:90b79650f69d | 24 | char ReadReg(int addr); |
rulla | 2:90b79650f69d | 25 | uint8_t ReadOneByte(void); |
rulla | 2:90b79650f69d | 26 | int ReadOneWord(void); |
rulla | 2:90b79650f69d | 27 | void ReadStart(void); |
rulla | 2:90b79650f69d | 28 | void ReadStop(void); |
rulla | 2:90b79650f69d | 29 | void VsyncHandler(void); |
rulla | 2:90b79650f69d | 30 | void HrefHandler(void); |
rulla | 2:90b79650f69d | 31 | void PclkHandler(void) ; |
rulla | 2:90b79650f69d | 32 | void wait_posedge(InterruptIn pin); |
rulla | 2:90b79650f69d | 33 | void wait_negedge(InterruptIn pin); |
rulla | 2:90b79650f69d | 34 | void shot(int sizeX, int sizeY,uint8_t *bank0); |
rulla | 2:90b79650f69d | 35 | |
rulla | 2:90b79650f69d | 36 | OV7670( |
rulla | 2:90b79650f69d | 37 | PinName sda,// Camera I2C port |
rulla | 2:90b79650f69d | 38 | PinName scl,// Camera I2C port |
rulla | 2:90b79650f69d | 39 | /* |
rulla | 2:90b79650f69d | 40 | PinName vs, // VSYNC |
rulla | 2:90b79650f69d | 41 | PinName hr, // HREF |
rulla | 2:90b79650f69d | 42 | PinName pic ,// /pclk |
rulla | 2:90b79650f69d | 43 | */ |
rulla | 2:90b79650f69d | 44 | PortName ports, // 8bit bus port |
rulla | 2:90b79650f69d | 45 | int masks, |
rulla | 2:90b79650f69d | 46 | PortName port, // 8bit bus port |
rulla | 2:90b79650f69d | 47 | int mask |
rulla | 2:90b79650f69d | 48 | ) : camera(sda,scl),sync(ports,masks),dataP(port,mask) |
rulla | 2:90b79650f69d | 49 | |
rulla | 2:90b79650f69d | 50 | { |
rulla | 2:90b79650f69d | 51 | |
rulla | 2:90b79650f69d | 52 | |
rulla | 2:90b79650f69d | 53 | |
rulla | 2:90b79650f69d | 54 | camera.stop() ; |
rulla | 2:90b79650f69d | 55 | camera.frequency(OV7670_I2CFREQ) ; |
rulla | 2:90b79650f69d | 56 | // vsync.fall(this,&OV7670::VsyncHandler) ; |
rulla | 2:90b79650f69d | 57 | // href.rise(callback(this, &OV7670::HrefHandler)) ; |
rulla | 2:90b79650f69d | 58 | // pclk.rise(this,&OV7670::PclkHandler) ; // ????????????? blocca tutto il programma |
rulla | 2:90b79650f69d | 59 | CaptureReq = false ; |
rulla | 2:90b79650f69d | 60 | Busy = false ; |
rulla | 2:90b79650f69d | 61 | Done = false ; |
rulla | 2:90b79650f69d | 62 | LineCounter = 0 ; |
rulla | 2:90b79650f69d | 63 | camera.start(); |
rulla | 2:90b79650f69d | 64 | } |
rulla | 2:90b79650f69d | 65 | protected: |
rulla | 2:90b79650f69d | 66 | I2C camera ; |
rulla | 2:90b79650f69d | 67 | //InterruptIn vsync,href,pclk; |
rulla | 2:90b79650f69d | 68 | PortIn sync; |
rulla | 2:90b79650f69d | 69 | /* |
rulla | 2:90b79650f69d | 70 | DigitalIn vsync; |
rulla | 2:90b79650f69d | 71 | DigitalIn href; |
rulla | 2:90b79650f69d | 72 | DigitalIn pclk; |
rulla | 2:90b79650f69d | 73 | */ |
rulla | 2:90b79650f69d | 74 | PortIn dataP; |
rulla | 2:90b79650f69d | 75 | }; |