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

Revision:
36:7e747e19f660
Parent:
35:ac4fcca21560
Child:
37:7074a6118d03
--- a/Hardwares/ArduCAM.h	Mon Mar 13 02:43:53 2017 +0000
+++ b/Hardwares/ArduCAM.h	Tue Mar 14 22:23:15 2017 +0000
@@ -5,12 +5,48 @@
 #include <mbed.h>
 #include "PinAssignment.h"
 
+#define RESOLUTION_WIDTH 160
+#define RESOLUTION_HEIGHT 120
+
+//=====Must pick one and only one here!=====
+#define ARDUCAM_SHIELD_OV2640
+//#define ARDUCAM_SHIELD_OV7725
+//#define ARDUCAM_MINI_OV2640
+//==========================================
+
+#if defined(ARDUCAM_SHIELD_OV2640) || defined(ARDUCAM_SHIELD_OV7725)
+    #define ARDUCAM_SHIELD
+#elif defined(ARDUCAM_MINI_OV2640)
+    #define ARDUCAM_MINI
+#else
+    #error Must pick one and only one ArduCam type!
+#endif
+
+#if defined(ARDUCAM_SHIELD_OV2640) || defined(ARDUCAM_MINI_OV2640)
+    #define ARDUCAM_OV2640
+#elif defined(ARDUCAM_SHIELD_OV7725)
+    #define ARDUCAM_OV7725
+#else
+    #error Must pick one and only one ArduCam type!
+#endif
+
+#if defined(ARDUCAM_OV2640)
+    #include "OV2640RegProg.h"
+    using namespace OV2640Prog;
+#elif defined(ARDUCAM_OV7725)
+    #include "OV7725RegProg.h"
+    using namespace OV7725Prog;
+#endif
+
+#if defined(ARDUCAM_SHIELD)
+    #define ARDUCHIP_VER_NUM        0x61
+#elif defined(ARDUCAM_MINI)
+    #define ARDUCHIP_VER_NUM        0x55
+#endif
+
 #define ARDUCHIP_TEST1          0x00  //TEST register
 #define ARDUCHIP_TEST_MSG       0x72
 
-//#define ARDUCHIP_VER_NUM        0x55
-#define ARDUCHIP_VER_NUM        0x61
-
 #define ARDUCHIP_CAP_CTRL       0x01  //Capture Control Register
 
 #define ARDUCHIP_MODE           0x02  //Mode register