Run a K30 CO2 sensor on a Nordic nRF52DK Board
Fork of mbed-os-example-ble-BatteryLevel by
Diff: source/k30.h
- Revision:
- 61:a5d14d0a94a1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/source/k30.h Tue May 01 17:45:11 2018 +0000 @@ -0,0 +1,26 @@ +#ifndef __K30_SERVICE_H__ +#define __K30_SERVICE_H__ + +class K30Service { +public: + const static uint16_t K30_SERVICE_UUID = 0xA000; + const static uint16_t K30_VALUE_CHARACTERISTIC_UUID = 0xA001; + + K30Service(BLEDevice &_ble, float k30Initial) : + ble(_ble), k30Value(K30_VALUE_CHARACTERISTIC_UUID, &k30Initial, GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_NOTIFY) + { + GattCharacteristic *charTable[] = {&k30Value}; + GattService k30Service(K30Service::K30_SERVICE_UUID, charTable, sizeof(charTable) / sizeof(GattCharacteristic *)); + ble.addService(k30Service); + } + + void updateK30Value(float newValue) { + ble.updateCharacteristicValue(k30Value.getValueHandle(), (uint8_t *)&newValue, sizeof(float)); + } + +private: + BLEDevice &ble; + ReadOnlyGattCharacteristic<float> k30Value; +}; + +#endif /* #ifndef __K30_SERVICE_H__ */ \ No newline at end of file