Dependencies: BLE_API mbed nRF51822
Fork of SensorModulePIR by
TemperatureMeasureService.h@0:eb280529b0ef, 2016-08-23 (annotated)
- 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?
User | Revision | Line number | New 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__ */ |