Button initiated config service

Dependencies:   BLE_API_EddystoneConfigService_2 mbed nRF51822

Fork of BLE_EddystoneBeaconConfigService_3 by URIBeacon

Revision:
39:2c73bc1ff4f5
Parent:
38:8fdb16f67e7c
Child:
40:6f39aee31205
--- a/EddystoneConfigService.h	Wed Sep 09 22:00:54 2015 +0000
+++ b/EddystoneConfigService.h	Thu Sep 10 17:06:18 2015 +0000
@@ -50,7 +50,7 @@
 */
 class EddystoneConfigService
 {
-public:
+public:    
     /**
      * @brief Transmission Power Modes for UriBeacon
      */
@@ -88,17 +88,28 @@
     static const uint8_t FRAME_SIZE_UID = 20; // includes RFU bytes
 
     struct Params_t {
+        // Config Data
+        bool          isConfigured;  // Flag for configuration being complete, True = configured, false = not configured. Reset at instantiation, used for external callbacks. 
         uint8_t       lockedState;
         Lock_t        lock;
-        uint8_t        uriDataLength;
-        UriData_t     uriData;
         uint8_t       flags;
         PowerLevels_t advPowerLevels; // Current value of AdvertisedPowerLevels
         uint8_t       txPowerMode;    // Firmware power levels used with setTxPower()
         uint16_t      beaconPeriod;
+        // TLM Frame Data
         uint8_t       tlmVersion;     // version of TLM packet
+        bool          tlmEnabled;
+        uint8_t       tlmBeaconPeriod; // how often to broadcat TLM frame, in minutes.  
+        // URI Frame Data
+        uint8_t       uriDataLength;
+        UriData_t     uriData;
+        bool          uriEnabled;
+        uint8_t       uriBeaconPeriod; // how often to broadcast URIFrame, in # of adv frames
+        // UID Frame Data
         UIDNamespaceID_t uidNamespaceID; // UUID type, Namespace ID, 10B
         UIDInstanceID_t  uidInstanceID;  // UUID type, Instance ID,  6B
+        bool          uidEnabled;
+        uint8_t       uidBeaconPeriod;   // how often to broadcast UID Frame, in # of adv frames
     };
 
     /**
@@ -203,7 +214,10 @@
         initSucceeded = true;
     }
 
-    bool configuredSuccessfully(void) const {
+    /*
+    * Check if eddystone initialized successfully
+    */
+    bool initSuccessfully(void) const {
         return initSucceeded;
     }