TOF based Presence Detector

Dependencies:   BLE_API X_NUCLEO_6180XA1 X_NUCLEO_IDB0XA1 mbed

Fork of BLE_HeartRate_IDB0XA1 by ST

Committer:
hux
Date:
Mon Aug 20 16:43:10 2018 +0000
Revision:
29:eceecbe28088
made in Shanghai

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hux 29:eceecbe28088 1 // get.h - get data from a characteristics
hux 29:eceecbe28088 2 //
hux 29:eceecbe28088 3 // Synopsis:
hux 29:eceecbe28088 4 //
hux 29:eceecbe28088 5 // Get data from a 'characteristic' into a 'data' variable
hux 29:eceecbe28088 6 //
hux 29:eceecbe28088 7 // get(characteristic,data)
hux 29:eceecbe28088 8 //
hux 29:eceecbe28088 9 // The 'get' function (overloaded function family) is implemented for all
hux 29:eceecbe28088 10 // types defined in "bricks/types.h".
hux 29:eceecbe28088 11 //
hux 29:eceecbe28088 12 // See also: CHARACTERISTIC, SET
hux 29:eceecbe28088 13 //
hux 29:eceecbe28088 14 #ifndef _GET_H_
hux 29:eceecbe28088 15 #define _GET_H_
hux 29:eceecbe28088 16
hux 29:eceecbe28088 17 #include "ble/BLE.h"
hux 29:eceecbe28088 18 #include "ble/Gap.h"
hux 29:eceecbe28088 19 #include "ble/GattClient.h"
hux 29:eceecbe28088 20 #include "bricks/o.h"
hux 29:eceecbe28088 21 #include "bricks/types.h"
hux 29:eceecbe28088 22 #include "bricks/characteristic.h"
hux 29:eceecbe28088 23
hux 29:eceecbe28088 24 inline void get(O&o, Characteristic<Bool> &chr, Bool &data)
hux 29:eceecbe28088 25 {
hux 29:eceecbe28088 26 uint16_t size = sizeof(Bool)/sizeof(uint8_t);
hux 29:eceecbe28088 27 o.gattServer().read(chr.getValueHandle(), (uint8_t*)&data,&size);
hux 29:eceecbe28088 28 }
hux 29:eceecbe28088 29
hux 29:eceecbe28088 30 inline void get(O&o, Characteristic<ObjectId> &chr, ObjectId &data)
hux 29:eceecbe28088 31 {
hux 29:eceecbe28088 32 uint16_t size = sizeof(ObjectId)/sizeof(uint8_t);
hux 29:eceecbe28088 33 o.gattServer().read(chr.getValueHandle(), (uint8_t*)&data,&size);
hux 29:eceecbe28088 34 }
hux 29:eceecbe28088 35
hux 29:eceecbe28088 36 inline void get(O&o, Characteristic<Buffer> &chr, Buffer &data)
hux 29:eceecbe28088 37 {
hux 29:eceecbe28088 38 uint16_t size = sizeof(Buffer)/sizeof(uint8_t);
hux 29:eceecbe28088 39 o.gattServer().read(chr.getValueHandle(), (uint8_t*)&data,&size);
hux 29:eceecbe28088 40 }
hux 29:eceecbe28088 41
hux 29:eceecbe28088 42 // we provide also some GET methods for GattCharacteristics. However the use
hux 29:eceecbe28088 43 // of these methods are more dangerous, because a GattCharacteristics can be
hux 29:eceecbe28088 44 // of any type and the compiler cannot help us to check !!!
hux 29:eceecbe28088 45
hux 29:eceecbe28088 46 inline void get(O&o,GattCharacteristic &chr, Bool &data)
hux 29:eceecbe28088 47 {
hux 29:eceecbe28088 48 uint16_t size = sizeof(Bool)/sizeof(uint8_t);
hux 29:eceecbe28088 49 o.gattServer().read(chr.getValueHandle(), (uint8_t*)&data, &size);
hux 29:eceecbe28088 50 }
hux 29:eceecbe28088 51
hux 29:eceecbe28088 52 #endif // _GET_H_