Dependencies:   BLE_API mbed nRF51822

Fork of SensorModulePIR by ModoSmart

Committer:
waltercolitti
Date:
Tue Aug 23 15:48:00 2016 +0000
Revision:
0:eb280529b0ef
Child:
2:cb698f3be3f1
First commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
waltercolitti 0:eb280529b0ef 1 #ifndef __BLE_TEMPERATURE_MEASURE_SERVICE_H__
waltercolitti 0:eb280529b0ef 2 #define __BLE_TEMPERATURE_MEASURE_SERVICE_H__
waltercolitti 0:eb280529b0ef 3
waltercolitti 0:eb280529b0ef 4 class TemperatureMeasureService {
waltercolitti 0:eb280529b0ef 5 public:
waltercolitti 0:eb280529b0ef 6 const static uint16_t TEMPERATURE_MEASURE_SERVICE_UUID = 0xA002;
waltercolitti 0:eb280529b0ef 7 const static uint16_t TEMPERATURE_CHARACTERISTIC_UUID = 0xA003;
waltercolitti 0:eb280529b0ef 8
waltercolitti 0:eb280529b0ef 9 TemperatureMeasureService(BLEDevice &_ble, float temperature) :
waltercolitti 0:eb280529b0ef 10 ble(_ble),
waltercolitti 0:eb280529b0ef 11 temperatureValue(TEMPERATURE_CHARACTERISTIC_UUID, &temperature, GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_NOTIFY)
waltercolitti 0:eb280529b0ef 12 {
waltercolitti 0:eb280529b0ef 13 GattCharacteristic *charTable[] = {&temperatureValue};
waltercolitti 0:eb280529b0ef 14 GattService getTemperatureService(TEMPERATURE_MEASURE_SERVICE_UUID, charTable, sizeof(charTable) / sizeof(GattCharacteristic *));
waltercolitti 0:eb280529b0ef 15 ble.addService(getTemperatureService);
waltercolitti 0:eb280529b0ef 16 }
waltercolitti 0:eb280529b0ef 17
waltercolitti 0:eb280529b0ef 18 GattAttribute::Handle_t getValueHandle() const {
waltercolitti 0:eb280529b0ef 19 return temperatureValue.getValueHandle();
waltercolitti 0:eb280529b0ef 20 }
waltercolitti 0:eb280529b0ef 21
waltercolitti 0:eb280529b0ef 22 void updateTemperature(uint8_t newTemp) {
waltercolitti 0:eb280529b0ef 23 ble.gattServer().write(temperatureValue.getValueHandle(), &newTemp, 1);
waltercolitti 0:eb280529b0ef 24 }
waltercolitti 0:eb280529b0ef 25
waltercolitti 0:eb280529b0ef 26 public:
waltercolitti 0:eb280529b0ef 27 BLEDevice &ble;
waltercolitti 0:eb280529b0ef 28 ReadWriteGattCharacteristic<float> temperatureValue;
waltercolitti 0:eb280529b0ef 29 };
waltercolitti 0:eb280529b0ef 30
waltercolitti 0:eb280529b0ef 31 #endif /* #ifndef __BLE_TEMPERATURE_MEASURE_SERVICE_H__ */