Default_Castum_AppFOTA4_Working

Dependencies:   mbed BLE_API nRF51822

Revision:
5:ac98ff227ad7
Parent:
4:3a065a4e3ca6
Child:
6:85f68f27170c
--- a/main.cpp	Fri Jan 30 01:44:15 2015 +0000
+++ b/main.cpp	Fri Jan 30 10:45:47 2015 +0000
@@ -25,8 +25,8 @@
 #define D_ATOMWEAR  4  // Atomwear  
 //==============================
 // Compile Options:
-#define D_BLE_UART      0       // Include BLE UART functionality? (20150129: There may be a clash between BLE_UART and FOTA)
-#define D_PING_SEC      9//1       // Ping Rate in Seconds
+#define D_BLE_UART  1           // Include BLE UART functionality?
+#define D_PING_SEC  1           // Ping Rate in Seconds
 
 #define D_PCB    D_MKIT         // Select target PCB
 //#define D_PCB    D_EK           // Select target PCB
@@ -39,7 +39,7 @@
 
 //============================== Process PCB Options:
 #if D_PCB==D_MKIT
-    const char *pcDeviceName    = "FOTA4r4m";
+    const char *pcDeviceName    = "FOTA4r5m";
     const char *pcPingBLE       = "m4\n";       // May need "\n" to push BLE Tx
     const char *pcPingUART      = "u4\n";
 
@@ -61,7 +61,7 @@
     #define D_OPERATION_LED   "mkit: LED1=Ticker+Button1, LED2=Button2"
  
 #elif D_PCB==D_EK
-    const char *pcDeviceName = "FOTA4r4e";
+    const char *pcDeviceName = "FOTA4r5e";
     const char *pcPingBLE  = "e4\n";            // May need "\n" to push BLE Tx
 
     #define DEBUG(...) {}                       //Serial Debug not connected 
@@ -82,7 +82,7 @@
     #define D_OPERATION_LED   "EK: LED0=Ticker+Button0, LED1=Button1"
 
  #elif D_PCB==D_BEACON
-    const char *pcDeviceName = "FOTA4r4b";
+    const char *pcDeviceName = "FOTA4r5b";
     const char *pcPingBLE  = "b4\n";            // May need "\n" to push BLE Tx
  
     #define DEBUG(...) {}                       //Serial Debug not connected 
@@ -102,10 +102,10 @@
     #define D_0_LED_TICKER    { bLRout=((uTicker1++)&0x01);}    // LED Follows Ticker (May also follow a button)
     #define D_1_LED_BUTTON    { bLGout = bB1in;}                // LED Follows Button
     #define D_2_LED_BUTTON    { bLBout = bB2in;}                // LED Follows Button
-    #define D_OPERATION_LED   "Beacon: RED=Ticker, Green=SW1, Blue=SW2"
+    #define D_OPERATION_LED   "Beacon: Red=Ticker, Green=SW1, Blue=SW2"
   
 #elif D_PCB==D_ATOMWEAR     //  USBSerial=None, ButtonLED=atomwear, LEDx=Buttonx, LEDw=Buttony|Ticker
-    const char *pcDeviceName = "FOTA4r4a";
+    const char *pcDeviceName = "FOTA4r5a";
     const char *pcPingBLE  = "a\n";            // May need "\n" to push BLE Tx
  
     #define DEBUG(...) {}                       //Serial Debug not connected 
@@ -176,6 +176,7 @@
         default:                                     DEBUG("UNKNOWN"); break;
     }
     DEBUG("), Restarting Advertising\n", tHandle, eReason );//PR: Occurs properly when click disconnect in App nRFToolbox:HRM
+    ble.startAdvertising(); // restart advertising //20150130: Thanks to Wayne Keenan (waynek) for spotting this missing line!!
 }
 
 void onDataWritten(const GattCharacteristicWriteCBParams *params)
@@ -200,6 +201,7 @@
     ticker1.attach(onTicker1, D_PING_SEC); //Ping Rate
 
     DEBUG("BLE Init %s\n", pcDeviceName);
+    DEBUG("After FOTA loading any unused IO pins may hold previous state, initialize all pins or reset to clear\n");
     ble.init();
     ble.onDisconnection(onDisconnect);
     ble.onDataWritten(onDataWritten);
@@ -219,7 +221,6 @@
 //?    DFUService dfu(ble); // Included implicitely by ble.init() for FOTA platforms, but doing explicitly may be desired for some cases
 
 #if D_BLE_UART==1
-#error BLE_UART
     UARTService uartService(ble);   //Setup BLE UART
     uartServicePtr = &uartService;
 #endif