Jordan Brack / SmartWheelsPublic

Dependencies:   TSI USBDevice mbed-dev

Fork of SmartWheels by haofan Zheng

Committer:
hazheng
Date:
Tue Feb 21 20:00:41 2017 +0000
Revision:
25:6f63053cee81
Parent:
13:7dcb1642ef99
Added formal version of OV7725RegBuf class.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hazheng 12:256c303ad09d 1 #pragma once
hazheng 12:256c303ad09d 2 #ifndef OV7725_REG_BUF_H
hazheng 12:256c303ad09d 3 #define OV7725_REG_BUF_H
hazheng 12:256c303ad09d 4
hazheng 12:256c303ad09d 5 #include <mbed.h>
hazheng 12:256c303ad09d 6 #include "OV7725RegAddr.h"
hazheng 12:256c303ad09d 7
hazheng 25:6f63053cee81 8 #define WRITE_DEFAULT_REG_ON
hazheng 25:6f63053cee81 9 #define WRITE_ORIGIN_REG_ON
hazheng 25:6f63053cee81 10
hazheng 25:6f63053cee81 11 namespace SW
hazheng 25:6f63053cee81 12 {
hazheng 25:6f63053cee81 13 class Core;
hazheng 25:6f63053cee81 14 }
hazheng 25:6f63053cee81 15
hazheng 12:256c303ad09d 16 class OV7725RegBuf
hazheng 12:256c303ad09d 17 {
hazheng 12:256c303ad09d 18 public:
hazheng 25:6f63053cee81 19 OV7725RegBuf(SW::Core & core);
hazheng 25:6f63053cee81 20
hazheng 12:256c303ad09d 21 ~OV7725RegBuf();
hazheng 12:256c303ad09d 22
hazheng 12:256c303ad09d 23 uint8_t * GetData();
hazheng 12:256c303ad09d 24
hazheng 13:7dcb1642ef99 25 static bool IsAddressReserved(const uint8_t addr);
hazheng 12:256c303ad09d 26
hazheng 25:6f63053cee81 27 //Blocking method. Do not use during the running state!!
hazheng 25:6f63053cee81 28 void SCCBWrite(const uint8_t RegAddr, uint8_t Data);
hazheng 25:6f63053cee81 29
hazheng 25:6f63053cee81 30 //Blocking method. Do not use during the running state!!
hazheng 25:6f63053cee81 31 uint8_t SCCBRead(const uint8_t RegAddr);
hazheng 25:6f63053cee81 32
hazheng 25:6f63053cee81 33 //Blocking method. Do not use during the running state!!
hazheng 25:6f63053cee81 34 void ReadRegisters();
hazheng 25:6f63053cee81 35
hazheng 25:6f63053cee81 36 #ifdef WRITE_DEFAULT_REG_ON
hazheng 25:6f63053cee81 37 void WriteDefaultRegisters();
hazheng 25:6f63053cee81 38 #endif
hazheng 25:6f63053cee81 39
hazheng 25:6f63053cee81 40 #ifdef WRITE_ORIGIN_REG_ON
hazheng 25:6f63053cee81 41 void WriteOriginalRegisters();
hazheng 25:6f63053cee81 42 #endif
hazheng 25:6f63053cee81 43
hazheng 12:256c303ad09d 44 private:
hazheng 25:6f63053cee81 45 uint8_t * m_data;
hazheng 25:6f63053cee81 46
hazheng 25:6f63053cee81 47 SW::Core & m_core;
hazheng 25:6f63053cee81 48
hazheng 25:6f63053cee81 49 I2C m_sccbCtrl;
hazheng 12:256c303ad09d 50 };
hazheng 12:256c303ad09d 51
hazheng 12:256c303ad09d 52 #endif //OV7725_REG_BUF_H