summaryrefslogtreecommitdiff
path: root/sensor/patchedBLE/src/BLEHIDDevice.h
diff options
context:
space:
mode:
Diffstat (limited to 'sensor/patchedBLE/src/BLEHIDDevice.h')
-rw-r--r--sensor/patchedBLE/src/BLEHIDDevice.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/sensor/patchedBLE/src/BLEHIDDevice.h b/sensor/patchedBLE/src/BLEHIDDevice.h
new file mode 100644
index 0000000..319fd42
--- /dev/null
+++ b/sensor/patchedBLE/src/BLEHIDDevice.h
@@ -0,0 +1,75 @@
+/*
+ * BLEHIDDevice.h
+ *
+ * Created on: Jan 03, 2018
+ * Author: chegewara
+ */
+
+#ifndef _BLEHIDDEVICE_H_
+#define _BLEHIDDEVICE_H_
+
+#include "sdkconfig.h"
+#if defined(CONFIG_BT_ENABLED)
+
+#include "BLECharacteristic.h"
+#include "BLEService.h"
+#include "BLEDescriptor.h"
+#include "BLE2902.h"
+#include "HIDTypes.h"
+
+#define GENERIC_HID 960
+#define HID_KEYBOARD 961
+#define HID_MOUSE 962
+#define HID_JOYSTICK 963
+#define HID_GAMEPAD 964
+#define HID_TABLET 965
+#define HID_CARD_READER 966
+#define HID_DIGITAL_PEN 967
+#define HID_BARCODE 968
+
+class BLEHIDDevice {
+public:
+ BLEHIDDevice(BLEServer*);
+ virtual ~BLEHIDDevice();
+
+ void reportMap(uint8_t* map, uint16_t);
+ void startServices();
+
+ BLEService* deviceInfo();
+ BLEService* hidService();
+ BLEService* batteryService();
+
+ BLECharacteristic* manufacturer();
+ void manufacturer(std::string name);
+ //BLECharacteristic* pnp();
+ void pnp(uint8_t sig, uint16_t vid, uint16_t pid, uint16_t version);
+ //BLECharacteristic* hidInfo();
+ void hidInfo(uint8_t country, uint8_t flags);
+ //BLECharacteristic* batteryLevel();
+ void setBatteryLevel(uint8_t level);
+
+
+ //BLECharacteristic* reportMap();
+ BLECharacteristic* hidControl();
+ BLECharacteristic* inputReport(uint8_t reportID);
+ BLECharacteristic* outputReport(uint8_t reportID);
+ BLECharacteristic* featureReport(uint8_t reportID);
+ BLECharacteristic* protocolMode();
+ BLECharacteristic* bootInput();
+ BLECharacteristic* bootOutput();
+
+private:
+ BLEService* m_deviceInfoService; //0x180a
+ BLEService* m_hidService; //0x1812
+ BLEService* m_batteryService = 0; //0x180f
+
+ BLECharacteristic* m_manufacturerCharacteristic; //0x2a29
+ BLECharacteristic* m_pnpCharacteristic; //0x2a50
+ BLECharacteristic* m_hidInfoCharacteristic; //0x2a4a
+ BLECharacteristic* m_reportMapCharacteristic; //0x2a4b
+ BLECharacteristic* m_hidControlCharacteristic; //0x2a4c
+ BLECharacteristic* m_protocolModeCharacteristic; //0x2a4e
+ BLECharacteristic* m_batteryLevelCharacteristic; //0x2a19
+};
+#endif // CONFIG_BT_ENABLED
+#endif /* _BLEHIDDEVICE_H_ */