a beter verjin

Dependencies:   m3pi mbed ADJD-S371_ColourSens

Fork of TestColorSensor by Kyle Chiang

Revision:
7:10e1ec0e8179
Parent:
5:3dd9b0a35aee
--- a/main.cpp	Tue Dec 03 07:40:47 2013 +0000
+++ b/main.cpp	Sat Dec 14 08:18:00 2013 +0000
@@ -2,14 +2,18 @@
 #include "m3pi.h"
 #include <ADJDColourSensor.h>
 
-#define RED 49 //((const unsigned char *)"1")
-#define GREEN 50 //((const unsigned char *) "2")
-#define BLUE 51 //((const unsigned char *) "3")
-#define BROWN 52 //((cont unsigned char *) "4")
-#define BLACK 53 // ((const unsigned char *) "5")
-#define YELLOW 54
-#define WHITE 55
-#define TEST 56 // ((const unsigned char *) "6")
+#define RED 97 //((const unsigned char *)"1")
+#define GREEN 98 //((const unsigned char *) "2")
+#define BLUE 99 //((const unsigned char *) "3")
+#define BROWN 100 //((cont unsigned char *) "4")
+#define BLACK 101 // ((const unsigned char *) "5")
+#define YELLOW 102
+#define WHITE 103
+#define TEST 104 // ((const unsigned char *) "6")
+#define SET_PARAMETERS 105
+#define GET_PARAMETERS 106
+#define OPTIMIZE_PARAMETERS 107
+#define GET_TIMING 108
 #define NUM_OF_WEIGHTS 7
 #define NUM_OF_TESTS 25
 
@@ -225,6 +229,22 @@
     sendData(color, redWeights, greenWeights, blueWeights, brownWeights, blackWeights, yellowWeights, whiteWeights);
 }
 
+void setParameters() {
+    int r_cap, g_cap, b_cap, c_cap, r_int, g_int, b_int, c_int;
+    bt.scanf("%d,%d,%d,%d,%x,%x,%x,%x\r", &r_cap, &g_cap, &b_cap, &c_cap, &r_int, &g_int, &b_int, &c_int);
+    colorSensor.setCapacitors(r_cap, g_cap, b_cap, c_cap);
+    colorSensor.setIntegrationTimeSlot(r_int, g_int, b_int, c_int);
+}
+
+void getParameters() {
+    bt.printf("%d,%d,%d,%d,%x,%x,%x,%x\r", colorSensor.redCap(), colorSensor.greenCap(), colorSensor.blueCap(), colorSensor.clearCap(), colorSensor.redInt(), colorSensor.greenInt(), colorSensor.blueInt(), colorSensor.clearInt());
+}
+
+void optimizeParameters() {
+    int redDes, greenDes, blueDes, clearDes;
+    bt.scanf("%d,%d,%d,%d\r", &redDes, &greenDes, &blueDes, &clearDes);
+    colorSensor.optimise(redDes, greenDes, blueDes, clearDes);
+}
 
 
 int main() {
@@ -295,6 +315,15 @@
         case TEST:
             measure(redWeights,greenWeights, blueWeights, brownWeights, blackWeights, yellowWeights, whiteWeights);
             break;
+        case SET_PARAMETERS:
+            setParameters();
+            break;
+        case GET_PARAMETERS:
+            getParameters();
+            break;
+        case OPTIMIZE_PARAMETERS:
+            optimizeParameters();
+            break;
         default:
             break;
         }