OV7670 without FIFO, SCCB protocol rewritten.
Fork of ov7670s by
ov7670s.h@2:7fa4be5a4952, 2017-09-26 (annotated)
- Committer:
- josephjins11
- Date:
- Tue Sep 26 09:17:55 2017 +0000
- Revision:
- 2:7fa4be5a4952
- Parent:
- 0:2530e24fafa1
hi
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sylvainkritter | 0:2530e24fafa1 | 1 | #pragma once |
sylvainkritter | 0:2530e24fafa1 | 2 | #include "mbed.h" |
josephjins11 | 2:7fa4be5a4952 | 3 | //#include "global.h" |
sylvainkritter | 0:2530e24fafa1 | 4 | #include "ov7670sreg.h" |
josephjins11 | 2:7fa4be5a4952 | 5 | //#include "SDFileSystem.h" |
sylvainkritter | 0:2530e24fafa1 | 6 | #include "SPI_TFT_ILI9341.h" |
sylvainkritter | 0:2530e24fafa1 | 7 | #include "FastPWM.h" |
sylvainkritter | 0:2530e24fafa1 | 8 | |
sylvainkritter | 0:2530e24fafa1 | 9 | |
sylvainkritter | 0:2530e24fafa1 | 10 | #define OV7670_WRITE (0x42) |
sylvainkritter | 0:2530e24fafa1 | 11 | #define OV7670_READ (0x43) |
sylvainkritter | 0:2530e24fafa1 | 12 | #define OV7670_REGMAX (201) |
sylvainkritter | 0:2530e24fafa1 | 13 | #define OV7670_I2CFREQ (100) //us half period |
sylvainkritter | 0:2530e24fafa1 | 14 | #define CAMERA_CLK_PERIOD 0.35//micro second 0.35 |
sylvainkritter | 0:2530e24fafa1 | 15 | |
sylvainkritter | 0:2530e24fafa1 | 16 | extern const int tmarray ; |
sylvainkritter | 0:2530e24fafa1 | 17 | extern char desfile[25]; |
sylvainkritter | 0:2530e24fafa1 | 18 | extern Serial pc; |
sylvainkritter | 0:2530e24fafa1 | 19 | extern Timer Time; |
sylvainkritter | 0:2530e24fafa1 | 20 | extern bool Done; |
sylvainkritter | 0:2530e24fafa1 | 21 | extern bool Doneaff; |
sylvainkritter | 0:2530e24fafa1 | 22 | extern bool volatile captur; |
sylvainkritter | 0:2530e24fafa1 | 23 | extern unsigned char bank[]; |
sylvainkritter | 0:2530e24fafa1 | 24 | extern unsigned char bankf[]; |
sylvainkritter | 0:2530e24fafa1 | 25 | extern SPI_TFT_ILI9341 TFT; |
sylvainkritter | 0:2530e24fafa1 | 26 | extern FILE *fp; |
sylvainkritter | 0:2530e24fafa1 | 27 | |
sylvainkritter | 0:2530e24fafa1 | 28 | |
sylvainkritter | 0:2530e24fafa1 | 29 | |
sylvainkritter | 0:2530e24fafa1 | 30 | class OV7670 |
sylvainkritter | 0:2530e24fafa1 | 31 | { |
sylvainkritter | 0:2530e24fafa1 | 32 | public: |
sylvainkritter | 0:2530e24fafa1 | 33 | |
sylvainkritter | 0:2530e24fafa1 | 34 | OV7670( |
sylvainkritter | 0:2530e24fafa1 | 35 | PinName siod, // Camera I2C port data |
sylvainkritter | 0:2530e24fafa1 | 36 | PinName sioc, // Camera I2C port clock |
sylvainkritter | 0:2530e24fafa1 | 37 | PinName xclk, // XCLK |
sylvainkritter | 0:2530e24fafa1 | 38 | //PinName vs, // VSYNC |
sylvainkritter | 0:2530e24fafa1 | 39 | //PinName hr, // HREF |
sylvainkritter | 0:2530e24fafa1 | 40 | // PinName pclk, // Pixelclock |
sylvainkritter | 0:2530e24fafa1 | 41 | PortName port, |
sylvainkritter | 0:2530e24fafa1 | 42 | int mask, |
sylvainkritter | 0:2530e24fafa1 | 43 | /* |
sylvainkritter | 0:2530e24fafa1 | 44 | VSYNC |
sylvainkritter | 0:2530e24fafa1 | 45 | HREF |
sylvainkritter | 0:2530e24fafa1 | 46 | Pixelclock |
sylvainkritter | 0:2530e24fafa1 | 47 | PinName d7, // D7 |
sylvainkritter | 0:2530e24fafa1 | 48 | PinName d6, // D6 |
sylvainkritter | 0:2530e24fafa1 | 49 | PinName d5, // D5 |
sylvainkritter | 0:2530e24fafa1 | 50 | PinName d4, // D4 |
sylvainkritter | 0:2530e24fafa1 | 51 | PinName d3, // D3 |
sylvainkritter | 0:2530e24fafa1 | 52 | PinName d2, // D2 |
sylvainkritter | 0:2530e24fafa1 | 53 | PinName d1, // D1 |
sylvainkritter | 0:2530e24fafa1 | 54 | PinName d0, // D0 */ |
sylvainkritter | 0:2530e24fafa1 | 55 | PinName rst // /RESET |
sylvainkritter | 0:2530e24fafa1 | 56 | ); |
sylvainkritter | 0:2530e24fafa1 | 57 | |
sylvainkritter | 0:2530e24fafa1 | 58 | void InitQQVGA() ; |
sylvainkritter | 0:2530e24fafa1 | 59 | void WriteBy(int addr); // write to camera |
sylvainkritter | 0:2530e24fafa1 | 60 | void WriteReg2(int data); // write to camera |
sylvainkritter | 0:2530e24fafa1 | 61 | void WriteReg(int subad,int data); // write to camera |
sylvainkritter | 0:2530e24fafa1 | 62 | int ReadReg(int subad); // read from camera |
sylvainkritter | 0:2530e24fafa1 | 63 | int ReadBy(void); |
sylvainkritter | 0:2530e24fafa1 | 64 | void Reset(void); // reset reg camera |
sylvainkritter | 0:2530e24fafa1 | 65 | void Start(void); |
sylvainkritter | 0:2530e24fafa1 | 66 | void End (void); |
sylvainkritter | 0:2530e24fafa1 | 67 | void CaptureNext(void); |
sylvainkritter | 0:2530e24fafa1 | 68 | void capture(void); |
sylvainkritter | 0:2530e24fafa1 | 69 | unsigned char reverse(unsigned char b); |
sylvainkritter | 0:2530e24fafa1 | 70 | void exrgbf(int j); |
sylvainkritter | 0:2530e24fafa1 | 71 | int ar(float a); |
sylvainkritter | 0:2530e24fafa1 | 72 | int Init(char *format, int n); |
sylvainkritter | 0:2530e24fafa1 | 73 | int PixelCounter ; |
sylvainkritter | 0:2530e24fafa1 | 74 | |
sylvainkritter | 0:2530e24fafa1 | 75 | |
sylvainkritter | 0:2530e24fafa1 | 76 | |
sylvainkritter | 0:2530e24fafa1 | 77 | private: |
sylvainkritter | 0:2530e24fafa1 | 78 | DigitalInOut _siod; |
sylvainkritter | 0:2530e24fafa1 | 79 | DigitalOut _sioc; |
sylvainkritter | 0:2530e24fafa1 | 80 | FastPWM _xclk; |
sylvainkritter | 0:2530e24fafa1 | 81 | // DigitalIn _pclk; |
sylvainkritter | 0:2530e24fafa1 | 82 | //DigitalIn _vs; |
sylvainkritter | 0:2530e24fafa1 | 83 | //DigitalIn _hr; |
sylvainkritter | 0:2530e24fafa1 | 84 | PortIn data; |
sylvainkritter | 0:2530e24fafa1 | 85 | /* |
sylvainkritter | 0:2530e24fafa1 | 86 | DigitalIn _vs; |
sylvainkritter | 0:2530e24fafa1 | 87 | DigitalIn _hr; |
sylvainkritter | 0:2530e24fafa1 | 88 | DigitalIn _pclk; |
sylvainkritter | 0:2530e24fafa1 | 89 | DigitalIn d7; |
sylvainkritter | 0:2530e24fafa1 | 90 | DigitalIn d6; |
sylvainkritter | 0:2530e24fafa1 | 91 | DigitalIn d5; |
sylvainkritter | 0:2530e24fafa1 | 92 | DigitalIn d4; |
sylvainkritter | 0:2530e24fafa1 | 93 | DigitalIn d3; |
sylvainkritter | 0:2530e24fafa1 | 94 | DigitalIn d2; |
sylvainkritter | 0:2530e24fafa1 | 95 | DigitalIn d1; |
sylvainkritter | 0:2530e24fafa1 | 96 | DigitalIn d0; |
sylvainkritter | 0:2530e24fafa1 | 97 | */ |
sylvainkritter | 0:2530e24fafa1 | 98 | DigitalOut _rst; |
sylvainkritter | 0:2530e24fafa1 | 99 | }; |