Pull request for i.a. sensor buffer template

Dependencies:   BLE_API MPU6050 mbed nRF51822

Committer:
Pieter Maljaars
Date:
Tue Oct 16 22:01:14 2018 +0200
Revision:
8:d1f5c8801d59
Parent:
6:ed0dc0647c01
Child:
9:e9d6a9758cf7
Advertise with 128bit UUID

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pietermaljaars 6:ed0dc0647c01 1 #ifndef __ACCELERATION_SERVICE_H__
pietermaljaars 6:ed0dc0647c01 2 #define __ACCELERATION_SERVICE_H__
pietermaljaars 6:ed0dc0647c01 3
pietermaljaars 6:ed0dc0647c01 4 #include "ble/BLE.h"
pietermaljaars 6:ed0dc0647c01 5
pietermaljaars 6:ed0dc0647c01 6 #define UUID_ACCELERATION_CHAR "5D34E2F0-3DD2-07AC-38F2-BBAD120EF853"
pietermaljaars 6:ed0dc0647c01 7 #define UUID_ACCELERATION_SERVICE "5D34E2F0-3DD2-07AC-38F1-BBAD120EF853"
pietermaljaars 6:ed0dc0647c01 8
pietermaljaars 6:ed0dc0647c01 9 /**
pietermaljaars 6:ed0dc0647c01 10 * @class AccelerationService
pietermaljaars 6:ed0dc0647c01 11 * @brief BLE Acceleration Service. This service displays the acceleration
pietermaljaars 6:ed0dc0647c01 12 */
pietermaljaars 6:ed0dc0647c01 13 class AccelerationService {
pietermaljaars 6:ed0dc0647c01 14 public:
pietermaljaars 6:ed0dc0647c01 15 /**
pietermaljaars 6:ed0dc0647c01 16 * @param[in] _ble
pietermaljaars 6:ed0dc0647c01 17 * BLE object for the underlying controller.
pietermaljaars 6:ed0dc0647c01 18 */
pietermaljaars 6:ed0dc0647c01 19 AccelerationService(BLE &_ble) :
pietermaljaars 6:ed0dc0647c01 20 ble(_ble),
pietermaljaars 6:ed0dc0647c01 21 accelerationIndex(0),
pietermaljaars 6:ed0dc0647c01 22 accelerationCharacteristic(UUID(UUID_ACCELERATION_CHAR), &temp, GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_NOTIFY) {
pietermaljaars 6:ed0dc0647c01 23 //accelerationCharacteristic(0x1234, &temp, GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_NOTIFY) {
pietermaljaars 6:ed0dc0647c01 24
pietermaljaars 6:ed0dc0647c01 25 GattCharacteristic *charTable[] = {&accelerationCharacteristic};
pietermaljaars 6:ed0dc0647c01 26 GattService AccelerationService(UUID(UUID_ACCELERATION_SERVICE), charTable, sizeof(charTable) / sizeof(GattCharacteristic *));
pietermaljaars 6:ed0dc0647c01 27
pietermaljaars 6:ed0dc0647c01 28 ble.addService(AccelerationService);
pietermaljaars 6:ed0dc0647c01 29 }
pietermaljaars 6:ed0dc0647c01 30
pietermaljaars 6:ed0dc0647c01 31 /**
pietermaljaars 6:ed0dc0647c01 32 * @brief Update the temperature with a new value. Valid values lie between -2732 and above.
pietermaljaars 6:ed0dc0647c01 33 *
pietermaljaars 6:ed0dc0647c01 34 * @param newTemp
pietermaljaars 6:ed0dc0647c01 35 * Update to temperature.
pietermaljaars 6:ed0dc0647c01 36 */
pietermaljaars 6:ed0dc0647c01 37 void addAcceleration(int16_t *newAccel) {
pietermaljaars 6:ed0dc0647c01 38 /*
pietermaljaars 6:ed0dc0647c01 39 temperature = newTemp;
pietermaljaars 6:ed0dc0647c01 40 uint16_t temp = (uint16_t)temperature;
pietermaljaars 6:ed0dc0647c01 41 ble.gattServer().write(accelerationCharacteristic.getValueHandle(), (const uint8_t*)&temp, sizeof(temperature));
pietermaljaars 6:ed0dc0647c01 42 */
pietermaljaars 6:ed0dc0647c01 43 }
pietermaljaars 6:ed0dc0647c01 44
Pieter Maljaars 8:d1f5c8801d59 45
pietermaljaars 6:ed0dc0647c01 46 protected:
pietermaljaars 6:ed0dc0647c01 47 /**
pietermaljaars 6:ed0dc0647c01 48 * A reference to the underlying BLE instance that this object is attached to.
pietermaljaars 6:ed0dc0647c01 49 * The services and characteristics will be registered in this BLE instance.
pietermaljaars 6:ed0dc0647c01 50 */
pietermaljaars 6:ed0dc0647c01 51 BLE &ble;
pietermaljaars 6:ed0dc0647c01 52
pietermaljaars 6:ed0dc0647c01 53 /**
pietermaljaars 6:ed0dc0647c01 54 * The current temperature represented as 0.1 degrees Celsius.
pietermaljaars 6:ed0dc0647c01 55 */
pietermaljaars 6:ed0dc0647c01 56 //int16_t acceleration[30][3];
pietermaljaars 6:ed0dc0647c01 57 int16_t temp;
pietermaljaars 6:ed0dc0647c01 58
pietermaljaars 6:ed0dc0647c01 59 uint16_t accelerationIndex;
pietermaljaars 6:ed0dc0647c01 60 /**
pietermaljaars 6:ed0dc0647c01 61 * A ReadOnlyGattCharacteristic that allows access to the peer device to the
pietermaljaars 6:ed0dc0647c01 62 * temperature value through BLE.
pietermaljaars 6:ed0dc0647c01 63 */
pietermaljaars 6:ed0dc0647c01 64 ReadOnlyGattCharacteristic<int16_t> accelerationCharacteristic;
pietermaljaars 6:ed0dc0647c01 65 };
pietermaljaars 6:ed0dc0647c01 66
Pieter Maljaars 8:d1f5c8801d59 67 #endif /* #ifndef __ACCELERATION_SERVICE_H__*/