summaryrefslogtreecommitdiff
path: root/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/BTHID.h
diff options
context:
space:
mode:
Diffstat (limited to 'tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/BTHID.h')
-rw-r--r--tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/BTHID.h155
1 files changed, 0 insertions, 155 deletions
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/BTHID.h b/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/BTHID.h
deleted file mode 100644
index 1a7d8687c7..0000000000
--- a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/BTHID.h
+++ /dev/null
@@ -1,155 +0,0 @@
-/* Copyright (C) 2013 Kristian Lauszus, TKJ Electronics. All rights reserved.
-
- This software may be distributed and modified under the terms of the GNU
- General Public License version 2 (GPL2) as published by the Free Software
- Foundation and appearing in the file GPL2.TXT included in the packaging of
- this file. Please note that GPL2 Section 2[b] requires that all works based
- on this software must also be made publicly available under the terms of
- the GPL2 ("Copyleft").
-
- Contact information
- -------------------
-
- Kristian Lauszus, TKJ Electronics
- Web : http://www.tkjelectronics.com
- e-mail : kristianl@tkjelectronics.com
- */
-
-#ifndef _bthid_h_
-#define _bthid_h_
-
-#include "BTD.h"
-#include "hidboot.h"
-
-#define KEYBOARD_PARSER_ID 0
-#define MOUSE_PARSER_ID 1
-#define NUM_PARSERS 2
-
-/** This BluetoothService class implements support for Bluetooth HID devices. */
-class BTHID : public BluetoothService {
-public:
- /**
- * Constructor for the BTHID class.
- * @param p Pointer to the BTD class instance.
- * @param pair Set this to true in order to pair with the device. If the argument is omitted then it will not pair with it. One can use ::PAIR to set it to true.
- * @param pin Write the pin to BTD#btdPin. If argument is omitted, then "0000" will be used.
- */
- BTHID(BTD *p, bool pair = false, const char *pin = "0000");
-
- /** @name BluetoothService implementation */
- /** Used this to disconnect the devices. */
- void disconnect();
- /**@}*/
-
- /**
- * Get HIDReportParser.
- * @param id ID of parser.
- * @return Returns the corresponding HIDReportParser. Returns NULL if id is not valid.
- */
- HIDReportParser *GetReportParser(uint8_t id) {
- if (id >= NUM_PARSERS)
- return NULL;
- return pRptParser[id];
- };
-
- /**
- * Set HIDReportParser to be used.
- * @param id Id of parser.
- * @param prs Pointer to HIDReportParser.
- * @return Returns true if the HIDReportParser is set. False otherwise.
- */
- bool SetReportParser(uint8_t id, HIDReportParser *prs) {
- if (id >= NUM_PARSERS)
- return false;
- pRptParser[id] = prs;
- return true;
- };
-
- /**
- * Set HID protocol mode.
- * @param mode HID protocol to use. Either HID_BOOT_PROTOCOL or HID_RPT_PROTOCOL.
- */
- void setProtocolMode(uint8_t mode) {
- protocolMode = mode;
- };
-
- /**
- * Used to set the leds on a keyboard.
- * @param data See KBDLEDS in hidboot.h
- */
- void setLeds(uint8_t data);
-
- /** True if a device is connected */
- bool connected;
-
- /** Call this to start the paring sequence with a device */
- void pair(void) {
- if(pBtd)
- pBtd->pairWithHID();
- };
-
-protected:
- /** @name BluetoothService implementation */
- /**
- * Used to pass acldata to the services.
- * @param ACLData Incoming acldata.
- */
- void ACLData(uint8_t* ACLData);
- /** Used to run part of the state machine. */
- void Run();
- /** Use this to reset the service. */
- void Reset();
- /**
- * Called when a device is successfully initialized.
- * Use attachOnInit(void (*funcOnInit)(void)) to call your own function.
- * This is useful for instance if you want to set the LEDs in a specific way.
- */
- void onInit() {
- if(pFuncOnInit)
- pFuncOnInit(); // Call the user function
- OnInitBTHID();
- };
- /**@}*/
-
- /** @name Overridable functions */
- /**
- * Used to parse Bluetooth HID data to any class that inherits this class.
- * @param len The length of the incoming data.
- * @param buf Pointer to the data buffer.
- */
- virtual void ParseBTHIDData(uint8_t len, uint8_t *buf) {
- return;
- };
- /** Called when a device is connected */
- virtual void OnInitBTHID() {
- return;
- };
- /** Used to reset any buffers in the class that inherits this */
- virtual void ResetBTHID() {
- return;
- }
- /**@}*/
-
- /** L2CAP source CID for HID_Control */
- uint8_t control_scid[2];
-
- /** L2CAP source CID for HID_Interrupt */
- uint8_t interrupt_scid[2];
-
-private:
- HIDReportParser *pRptParser[NUM_PARSERS]; // Pointer to HIDReportParsers.
-
- /** Set report protocol. */
- void setProtocol();
- uint8_t protocolMode;
-
- void L2CAP_task(); // L2CAP state machine
-
- bool activeConnection; // Used to indicate if it already has established a connection
-
- /* Variables used for L2CAP communication */
- uint8_t control_dcid[2]; // L2CAP device CID for HID_Control - Always 0x0070
- uint8_t interrupt_dcid[2]; // L2CAP device CID for HID_Interrupt - Always 0x0071
- uint8_t l2cap_state;
-};
-#endif