SmartWheels self-driving race car. Designed for NXP Cup. Uses FRDM-KL25Z, area-scan camera, and simple image processing to detect and navigate any NXP spec track.

Dependencies:   TSI USBDevice mbed-dev

Fork of SmartWheels by haofan Zheng

Committer:
hazheng
Date:
Tue Feb 21 20:36:38 2017 +0000
Revision:
26:5814404856e2
Parent:
25:6f63053cee81
Child:
27:c68f711e5b67
Finished camera initialization, and some test code for camera.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hazheng 3:c8867972ffc7 1 #pragma once
hazheng 3:c8867972ffc7 2 #include "mbed.h"
hazheng 3:c8867972ffc7 3 #include <vector>
hazheng 3:c8867972ffc7 4
hazheng 13:7dcb1642ef99 5 #include "OV7725RegBuf.h"
hazheng 13:7dcb1642ef99 6
hazheng 26:5814404856e2 7 #define CAMERA_PIXEL_WIDTH 160
hazheng 26:5814404856e2 8 #define CAMERA_PIXEL_HEIGHT 120
hazheng 3:c8867972ffc7 9
hazheng 13:7dcb1642ef99 10 namespace SW
hazheng 13:7dcb1642ef99 11 {
hazheng 13:7dcb1642ef99 12 class Core;
hazheng 13:7dcb1642ef99 13 }
hazheng 13:7dcb1642ef99 14
hazheng 3:c8867972ffc7 15 class Camera
hazheng 3:c8867972ffc7 16 {
hazheng 3:c8867972ffc7 17 public:
hazheng 3:c8867972ffc7 18
hazheng 13:7dcb1642ef99 19 Camera(SW::Core & core);
hazheng 3:c8867972ffc7 20
hazheng 3:c8867972ffc7 21 ~Camera();
hazheng 3:c8867972ffc7 22
hazheng 26:5814404856e2 23 void Update(float deltaTime);
hazheng 26:5814404856e2 24
hazheng 3:c8867972ffc7 25 bool HasPicture() const;
hazheng 3:c8867972ffc7 26
hazheng 3:c8867972ffc7 27 const unsigned char * GetPicture() const;
hazheng 3:c8867972ffc7 28
hazheng 26:5814404856e2 29 void StartReceivingPic();
hazheng 26:5814404856e2 30
hazheng 26:5814404856e2 31 void StopReceivingPic();
hazheng 26:5814404856e2 32
hazheng 3:c8867972ffc7 33 private:
hazheng 3:c8867972ffc7 34
hazheng 13:7dcb1642ef99 35 Camera();
hazheng 13:7dcb1642ef99 36
hazheng 13:7dcb1642ef99 37 SW::Core & m_core;
hazheng 13:7dcb1642ef99 38
hazheng 3:c8867972ffc7 39 InterruptIn m_pClock;
hazheng 3:c8867972ffc7 40
hazheng 3:c8867972ffc7 41 InterruptIn m_href;
hazheng 3:c8867972ffc7 42
hazheng 3:c8867972ffc7 43 InterruptIn m_vsnyc;
hazheng 3:c8867972ffc7 44
hazheng 3:c8867972ffc7 45 bool m_hasPic;
hazheng 13:7dcb1642ef99 46
hazheng 25:6f63053cee81 47 OV7725RegBuf * m_regBuf;
hazheng 26:5814404856e2 48
hazheng 26:5814404856e2 49 float m_debugOutputTimer;
hazheng 3:c8867972ffc7 50 };