]> Pileus Git - ~andy/csm213a-hw/commitdiff
Add debug LED
authorAndy Spencer <andy753421@gmail.com>
Sun, 9 Feb 2014 20:24:39 +0000 (20:24 +0000)
committerAndy Spencer <andy753421@gmail.com>
Sun, 9 Feb 2014 20:24:39 +0000 (20:24 +0000)
yue/main.cpp

index e08c06da9e2bc652a1c10647481d5e80574e2579..c82b9ca40887e2fc47bd3ce6ac775c9709c252e8 100644 (file)
@@ -22,6 +22,7 @@
 #define LGT_SNS_DEFAULT   1.0\r
 #define TCH_SNS_DEFAULT   1.0\r
 #define A2D_SNS_DEFAULT   1.0\r
+#define LED_OUT_DEFAULT   0.5\r
 \r
 #define MIN_RATE          1E-4  // 1 kHz\r
 #define MAX_RATE          10.0  // 0.1 Hz\r
@@ -75,14 +76,17 @@ typedef struct {
 } command_t;\r
 \r
 // Define Devices & Pins\r
-MMA8451Q  accSensor(PTE25, PTE24, MMA8451_I2C_ADDRESS);\r
-MAG3110   magSensor(PTE25, PTE24);\r
-TSISensor tchSensor;\r
-AnalogIn  lgtSensor(PTE22);\r
-AnalogIn  a2dSensor(A0);\r
+MMA8451Q   accSensor(PTE25, PTE24, MMA8451_I2C_ADDRESS);\r
+MAG3110    magSensor(PTE25, PTE24);\r
+TSISensor  tchSensor;\r
+AnalogIn   lgtSensor(PTE22);\r
+AnalogIn   a2dSensor(A0);\r
 \r
-Serial serial(USBTX, USBRX);\r
-Ticker clock1;\r
+DigitalOut led1(LED1);\r
+DigitalOut led2(LED2);\r
+\r
+Serial     serial(USBTX, USBRX);\r
+Ticker     clock1;\r
 \r
 // Global Variables\r
 // Initial interval: in seconds\r
@@ -91,12 +95,14 @@ float magTmr = MAG_SNS_DEFAULT;
 float tchTmr = TCH_SNS_DEFAULT;\r
 float lgtTmr = LGT_SNS_DEFAULT;\r
 float a2dTmr = A2D_SNS_DEFAULT;\r
+float ledTmr = LED_OUT_DEFAULT;\r
 \r
 bool accEnable = true;\r
 bool magEnable = false;\r
 bool lgtEnable = false;\r
 bool tchEnable = false;\r
 bool a2dEnable = false;\r
+bool ledEnable = true;\r
 \r
 bool useStr = true;\r
 bool useHex = false;\r
@@ -233,14 +239,16 @@ void clock1_interrupt(void){
     static int lgtCnt;\r
     static int tchCnt;\r
     static int a2dCnt;\r
+    static int ledCnt;\r
 \r
     accCnt++;\r
     magCnt++;\r
     lgtCnt++;\r
     tchCnt++;\r
     a2dCnt++;\r
+    ledCnt++;\r
 \r
-    // TODO: send data through Serial\r
+    // Send data through Serial\r
     if (accEnable && (accCnt<0 || accCnt>=accTmr/TIME_ACCURACY)){\r
         sendAccInfo();\r
         accCnt = 0;\r
@@ -262,6 +270,12 @@ void clock1_interrupt(void){
         a2dCnt = 0;\r
     }\r
 \r
+    // Toggel LED for debugging\r
+    if (ledEnable && (ledCnt<0 || ledCnt>=ledTmr/TIME_ACCURACY)){\r
+        led1   = !led1;\r
+       ledCnt = 0;\r
+    }\r
+\r
     sdma_flush();\r
 }\r
 \r