3e0c9b43a2
* change simulator svg
* change radio image
* Remove google fonts cdn
* change color of 'advanced' button
* font fix
* font fix 2
* display fix
* change fullsceen simulator bg
* Continuous servo
* handle continuous state
* adding shims
* update rendering for continuous servos
* fixing sim
* fix sig
* typo
* fix sim
* bump pxt
* bump pxt
* rerun travis
* Input blocks revision
- add Button and Pin event types
- merge onPinPressed & onPinReleased in new onPinEvent function
- create new onButtonEvent function
* update input blocks in docs and tests
* remove device_pin_release block
* Hide DAL.x behind Enum
* bring back deprecated blocks, but hide them
* shims and locales files
* fix input.input. typing
* remove buildpr
* bump V3
* update simulator aspect ratio
* add Loudness Block
* revoke loudness block
* Adds soundLevel
To be replaced by pxt-common-packages when DAL is updated.
* Remove P0 & P3 from AnalogPin
* Fix Sound and replace AnalogPin.P0
* remove approved extensions
* V4 Updates from remote Repo
* locales
* add storage functions
* fix storage functions
* fix int/float values
* decrease decimal precision
* reorder blocks
* Update BLE Settings and Storage Blocks
* Fetch MicroBit changes up to v4.0.18
* Update timing for LED Matrix usage
* use 32kb ram (mini v2)
* resize gatt table
* Revert "use 32kb ram (mini v2)"
This reverts commit 4b15592f0f
.
* fix missleading indentation
* add support for 32kb and 16kb ram
* only MIT extensions in preferredRepos
* remove extensions without MIT License file
* add updated extensions
* add extensions with MIT license
Co-authored-by: Juri <gitkraken@juriwolf.de>
Co-authored-by: Juri <info@juriwolf.de>
116 lines
2.8 KiB
C++
116 lines
2.8 KiB
C++
#ifndef BLE_HF2_SERVICE_H
|
|
#define BLE_HF2_SERVICE_H
|
|
|
|
#include "MicroBitConfig.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];
|
|
};
|
|
|
|
//================================================================
|
|
#if MICROBIT_CODAL
|
|
//================================================================
|
|
|
|
#include "MicroBitBLEManager.h"
|
|
#include "MicroBitBLEService.h"
|
|
|
|
class BLEHF2Service : public MicroBitBLEService
|
|
{
|
|
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;
|
|
|
|
// Index for each charactersitic in arrays of handles and UUIDs
|
|
typedef enum mbbs_cIdx
|
|
{
|
|
mbbs_cIdxMESSAGE,
|
|
mbbs_cIdxCOUNT
|
|
} mbbs_cIdx;
|
|
|
|
// UUIDs for our service and characteristics
|
|
static const uint8_t service_base_uuid[ 16];
|
|
static const uint8_t char_base_uuid[ 16];
|
|
static const uint16_t serviceUUID;
|
|
static const uint16_t charUUID[ mbbs_cIdxCOUNT];
|
|
|
|
// Data for each characteristic when they are held by Soft Device.
|
|
MicroBitBLEChar chars[ mbbs_cIdxCOUNT];
|
|
|
|
public:
|
|
|
|
int characteristicCount() { return mbbs_cIdxCOUNT; };
|
|
MicroBitBLEChar *characteristicPtr( int idx) { return &chars[ idx]; };
|
|
};
|
|
|
|
//================================================================
|
|
#else // MICROBIT_CODAL
|
|
//================================================================
|
|
|
|
#include "ble/BLE.h"
|
|
|
|
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 // MICROBIT_CODAL
|
|
//================================================================
|
|
|
|
#endif
|