Send continuous stream to mobile

Dependencies:   MPU9250

Fork of pdiot-ble-notify-array by Andrew Bates

Files at this revision

API Documentation at this revision

Comitter:
andrewbates11
Date:
Tue Oct 03 08:46:39 2017 +0000
Parent:
45:d38acaddede4
Child:
47:4905acf20758
Commit message:
sends 12 bytes each button press

Changed in this revision

mbed-os.lib Show annotated file Show diff for this revision Revisions of this file
source/ButtonService.h Show annotated file Show diff for this revision Revisions of this file
--- a/mbed-os.lib	Fri Sep 29 17:15:25 2017 +0100
+++ b/mbed-os.lib	Tue Oct 03 08:46:39 2017 +0000
@@ -1,1 +1,1 @@
-https://github.com/ARMmbed/mbed-os/#5499db1e815b035c2039b6f1e7cbcbf1fd7e0f19
+https://github.com/ARMmbed/mbed-os/#ca661f9d28526ca8f874b05432493a489c9671ea
--- a/source/ButtonService.h	Fri Sep 29 17:15:25 2017 +0100
+++ b/source/ButtonService.h	Tue Oct 03 08:46:39 2017 +0000
@@ -23,7 +23,7 @@
     const static uint16_t BUTTON_STATE_CHARACTERISTIC_UUID = 0xA001;
 
     ButtonService(BLE &_ble, bool buttonPressedInitial) :
-        ble(_ble), buttonState(BUTTON_STATE_CHARACTERISTIC_UUID, &buttonPressedInitial, GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_NOTIFY)
+        ble(_ble), buttonState(BUTTON_STATE_CHARACTERISTIC_UUID, (uint8_t []){0,0}, GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_NOTIFY)
     {
         GattCharacteristic *charTable[] = {&buttonState};
         GattService         buttonService(ButtonService::BUTTON_SERVICE_UUID, charTable, sizeof(charTable) / sizeof(GattCharacteristic *));
@@ -31,12 +31,42 @@
     }
 
     void updateButtonState(bool newState) {
-        ble.gattServer().write(buttonState.getValueHandle(), (uint8_t *)&newState, sizeof(bool));
+        uint8_t v[12] = {0};
+        if (newState) {
+            v[0] = 0;
+            v[1] = 1;
+            v[2] = 2;
+            v[3] = 3;
+            v[4] = 4;
+            v[5] = 5;
+            v[6] = 0;
+            v[7] = 1;
+            v[8] = 2;
+            v[9] = 3;
+            v[10] = 4;
+            v[11] = 5;
+            }
+        else {
+            v[0] = 6;
+            v[1] = 7;
+            v[2] = 8;
+            v[3] = 9;
+            v[4] = 10;
+            v[5] = 11;
+            v[6] = 6;
+            v[7] = 7;
+            v[8] = 8;
+            v[9] = 9;
+            v[10] = 10;
+            v[11] = 11;
+            }
+        //ble.gattServer().write(buttonState.getValueHandle(), (uint8_t *)v, sizeof(v));
+        ble.updateCharacteristicValue(buttonState.getValueHandle(), (uint8_t *)v ,sizeof(v));
     }
 
 private:
     BLE                              &ble;
-    ReadOnlyGattCharacteristic<bool>  buttonState;
+    ReadOnlyArrayGattCharacteristic<uint8_t, sizeof(uint8_t[12])>  buttonState;
 };
 
 #endif /* #ifndef __BLE_BUTTON_SERVICE_H__ */