BLE GATT-service implementation for high quantity sensor data from a MPU6050-accelerator/gyroscope

Dependencies:   BLE_API mbed nRF51822 MPU6050_lib

Revision:
4:a97e6917f731
Parent:
3:d72d9195dc26
Child:
5:ea4d280a0a2f
--- a/MPU6050Service.h	Thu Jun 25 14:35:26 2015 +0000
+++ b/MPU6050Service.h	Fri Jun 26 14:44:27 2015 +0000
@@ -14,7 +14,8 @@
 typedef struct
 {
     mpu6050SensorReading_t  data;
-    uint64_t                clock_us;
+    uint32_t                clock_us; // ~ 1h 11min 34s 967ms 296ns
+                                      // so we have to reset our clock approx. every hour
 } mpu6050SensorData_t;
 
 typedef enum
@@ -49,7 +50,7 @@
             BLE                            &ble, 
             const mpu6050SensorData_t      *initialData         = NULL, 
             const mpu6050MeasuringRange_t   measuringRange      = ACCEL_RANGE_2G | GYRO_RANGE_250, 
-            const uint64_t                  masterClock_us      = 0
+            const uint32_t                  masterClock_us      = 0
         ) :
             gattServer(ble.gattServer()),
             sensorDataCharacteristic
@@ -68,7 +69,7 @@
             masterClockCharacteristic
             (
                 UUID_MPU6050_MASTER_CLOCK_CHAR,
-                (uint64_t*)&masterClock_us,
+                (uint32_t*)&masterClock_us,
                 GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_WRITE_WITHOUT_RESPONSE // look above again
             )
         {
@@ -103,7 +104,7 @@
         GattServer                                             &gattServer; 
         ReadOnlyGattCharacteristic<mpu6050SensorData_t>         sensorDataCharacteristic;
         WriteOnlyGattCharacteristic<mpu6050MeasuringRange_t>    measuringRangeCharacteristic;
-        WriteOnlyGattCharacteristic<uint64_t>                   masterClockCharacteristic;
+        WriteOnlyGattCharacteristic<uint32_t>                   masterClockCharacteristic;
         
         union
         {