pxt-calliope/libs/bluetooth/BLEHF2Service.h

54 lines
1.1 KiB
C
Raw Normal View History

#ifndef BLE_HF2_SERVICE_H
#define BLE_HF2_SERVICE_H
#include "MicroBitConfig.h"
#include "ble/BLE.h"
#include "MicroBitThermometer.h"
#include "EventModel.h"
#include "pxt.h"
#define HF2_ID 9501
#define BLEHF2_FLAG_SERIAL_OUT 0x80
#define BLEHF2_FLAG_SERIAL_ERR 0xC0
#define BLEHF2_DATA_LENGTH 19
// UUIDs for our service and characteristics
extern const uint8_t BLEHF2ServiceUUID[];
extern const uint8_t BLEHF2TxCharacteristicUUID[];
struct BLEHF2Packet {
uint8_t command;
uint8_t data[BLEHF2_DATA_LENGTH];
};
class BLEHF2Service
{
public:
/**
* Constructor.
* Create a representation of the TemperatureService
* @param _ble The instance of a BLE device that we're running on.
*/
BLEHF2Service(BLEDevice &_ble);
/**
* Sends text
*/
void sendSerial(const char *data, int len, bool isError);
private:
// Bluetooth stack we're running on.
BLEDevice &ble;
// memory for buffers.
BLEHF2Packet txCharacteristicMessage;
// Handles to access each characteristic when they are held by Soft Device.
GattAttribute::Handle_t txCharacteristicHandle;
};
#endif