DesignForAmputee hw 5 project

Dependencies:   mbed BLE_API nRF51822

Revision:
3:436ef162bf2d
Parent:
1:dbfe14952cdc
Child:
4:0ebd5e43da47
Child:
6:d540386708d1
--- a/main.cpp	Thu Nov 06 05:29:55 2014 +0000
+++ b/main.cpp	Thu Nov 06 06:56:04 2014 +0000
@@ -3,17 +3,24 @@
  
 #include "UARTService.h"
  
-#define NEED_CONSOLE_OUTPUT 0 /* Set this if you need debug messages on the console;
+#define NEED_CONSOLE_OUTPUT 1 /* Set this if you need debug messages on the console;
                                * it will have an impact on code-size and power consumption. */
- 
+
+Serial pc(USBTX, USBRX);
+
 #if NEED_CONSOLE_OUTPUT
-#define DEBUG(...) { printf(__VA_ARGS__); }
+#define DEBUG(...) { pc.printf(__VA_ARGS__); }
 #else
 #define DEBUG(...) /* nothing */
 #endif /* #if NEED_CONSOLE_OUTPUT */
  
 BLEDevice  ble;
 DigitalOut led1(LED1);
+DigitalOut led2(LED2);
+
+DigitalOut powerSwitch(P0_0);
+ 
+AnalogIn tempPin(P0_2);
  
 UARTService *uartServicePtr;
  
@@ -27,8 +34,20 @@
 void onDataWritten(const GattCharacteristicWriteCBParams *params)
 {
     if ((uartServicePtr != NULL) && (params->charHandle == uartServicePtr->getTXCharacteristicHandle())) {
+        float temp = tempPin.read(); // temperature, not temporary
+
         uint16_t bytesRead = params->len;
         DEBUG("received %u bytes\n\r", bytesRead);
+        DEBUG("first byte received: %u\n\r", params->data[0]);
+        uint8_t on = '1';
+        uint8_t off = '0';
+        if (params->data[0] == on) {
+            led2 = 1;
+            powerSwitch = 1;
+        } else if (params->data[0] == off) {
+            led2 = 0;
+            powerSwitch = 0;
+        }
         ble.updateCharacteristicValue(uartServicePtr->getRXCharacteristicHandle(), params->data, bytesRead);
     }
 }
@@ -41,6 +60,8 @@
 int main(void)
 {
     led1 = 1;
+    led2 = 0;
+    powerSwitch = 0;
     Ticker ticker;
     ticker.attach(periodicCallback, 1);