mirror of
https://github.com/felis/USB_Host_Shield_2.0.git
synced 2024-03-22 11:31:26 +01:00
Fix all demos, fix all wrong uses of virtual keyword, some spacing cleanup.
This commit is contained in:
parent
80230570cc
commit
196a0b69be
63 changed files with 425 additions and 258 deletions
18
BTD.h
18
BTD.h
|
@ -214,13 +214,13 @@ public:
|
||||||
* Used to pass acldata to the Bluetooth service.
|
* Used to pass acldata to the Bluetooth service.
|
||||||
* @param ACLData Pointer to the incoming acldata.
|
* @param ACLData Pointer to the incoming acldata.
|
||||||
*/
|
*/
|
||||||
virtual void ACLData(uint8_t* ACLData);
|
virtual void ACLData(uint8_t* ACLData){};
|
||||||
/** Used to run the different state machines in the Bluetooth service. */
|
/** Used to run the different state machines in the Bluetooth service. */
|
||||||
virtual void Run();
|
virtual void Run(){};
|
||||||
/** Used to reset the Bluetooth service. */
|
/** Used to reset the Bluetooth service. */
|
||||||
virtual void Reset();
|
virtual void Reset(){};
|
||||||
/** Used to disconnect both the L2CAP Channel and the HCI Connection for the Bluetooth service. */
|
/** Used to disconnect both the L2CAP Channel and the HCI Connection for the Bluetooth service. */
|
||||||
virtual void disconnect();
|
virtual void disconnect(){};
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -243,7 +243,7 @@ public:
|
||||||
* @param lowspeed Speed of the device.
|
* @param lowspeed Speed of the device.
|
||||||
* @return 0 on success.
|
* @return 0 on success.
|
||||||
*/
|
*/
|
||||||
virtual uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed);
|
uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed);
|
||||||
/**
|
/**
|
||||||
* Initialize the Bluetooth dongle.
|
* Initialize the Bluetooth dongle.
|
||||||
* @param parent Hub number.
|
* @param parent Hub number.
|
||||||
|
@ -251,17 +251,17 @@ public:
|
||||||
* @param lowspeed Speed of the device.
|
* @param lowspeed Speed of the device.
|
||||||
* @return 0 on success.
|
* @return 0 on success.
|
||||||
*/
|
*/
|
||||||
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
||||||
/**
|
/**
|
||||||
* Release the USB device.
|
* Release the USB device.
|
||||||
* @return 0 on success.
|
* @return 0 on success.
|
||||||
*/
|
*/
|
||||||
virtual uint8_t Release();
|
uint8_t Release();
|
||||||
/**
|
/**
|
||||||
* Poll the USB Input endpoints and run the state machines.
|
* Poll the USB Input endpoints and run the state machines.
|
||||||
* @return 0 on success.
|
* @return 0 on success.
|
||||||
*/
|
*/
|
||||||
virtual uint8_t Poll();
|
uint8_t Poll();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the device address.
|
* Get the device address.
|
||||||
|
@ -315,7 +315,7 @@ public:
|
||||||
* @param proto Interface Protocol.
|
* @param proto Interface Protocol.
|
||||||
* @param ep Endpoint Descriptor.
|
* @param ep Endpoint Descriptor.
|
||||||
*/
|
*/
|
||||||
virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
|
void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
|
||||||
/**@}*/
|
/**@}*/
|
||||||
|
|
||||||
/** Disconnects both the L2CAP Channel and the HCI Connection for all Bluetooth services. */
|
/** Disconnects both the L2CAP Channel and the HCI Connection for all Bluetooth services. */
|
||||||
|
|
8
BTHID.h
8
BTHID.h
|
@ -41,13 +41,13 @@ public:
|
||||||
* Used to pass acldata to the services.
|
* Used to pass acldata to the services.
|
||||||
* @param ACLData Incoming acldata.
|
* @param ACLData Incoming acldata.
|
||||||
*/
|
*/
|
||||||
virtual void ACLData(uint8_t* ACLData);
|
void ACLData(uint8_t* ACLData);
|
||||||
/** Used to run part of the state machine. */
|
/** Used to run part of the state machine. */
|
||||||
virtual void Run();
|
void Run();
|
||||||
/** Use this to reset the service. */
|
/** Use this to reset the service. */
|
||||||
virtual void Reset();
|
void Reset();
|
||||||
/** Used this to disconnect the devices. */
|
/** Used this to disconnect the devices. */
|
||||||
virtual void disconnect();
|
void disconnect();
|
||||||
/**@}*/
|
/**@}*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
8
PS3BT.h
8
PS3BT.h
|
@ -45,13 +45,13 @@ public:
|
||||||
* Used to pass acldata to the services.
|
* Used to pass acldata to the services.
|
||||||
* @param ACLData Incoming acldata.
|
* @param ACLData Incoming acldata.
|
||||||
*/
|
*/
|
||||||
virtual void ACLData(uint8_t* ACLData);
|
void ACLData(uint8_t* ACLData);
|
||||||
/** Used to run part of the state machine. */
|
/** Used to run part of the state machine. */
|
||||||
virtual void Run();
|
void Run();
|
||||||
/** Use this to reset the service. */
|
/** Use this to reset the service. */
|
||||||
virtual void Reset();
|
void Reset();
|
||||||
/** Used this to disconnect any of the controllers. */
|
/** Used this to disconnect any of the controllers. */
|
||||||
virtual void disconnect();
|
void disconnect();
|
||||||
/**@}*/
|
/**@}*/
|
||||||
|
|
||||||
/** @name PS3 Controller functions */
|
/** @name PS3 Controller functions */
|
||||||
|
|
6
PS3USB.h
6
PS3USB.h
|
@ -74,17 +74,17 @@ public:
|
||||||
* @param lowspeed Speed of the device.
|
* @param lowspeed Speed of the device.
|
||||||
* @return 0 on success.
|
* @return 0 on success.
|
||||||
*/
|
*/
|
||||||
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
||||||
/**
|
/**
|
||||||
* Release the USB device.
|
* Release the USB device.
|
||||||
* @return 0 on success.
|
* @return 0 on success.
|
||||||
*/
|
*/
|
||||||
virtual uint8_t Release();
|
uint8_t Release();
|
||||||
/**
|
/**
|
||||||
* Poll the USB Input endpoins and run the state machines.
|
* Poll the USB Input endpoins and run the state machines.
|
||||||
* @return 0 on success.
|
* @return 0 on success.
|
||||||
*/
|
*/
|
||||||
virtual uint8_t Poll();
|
uint8_t Poll();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the device address.
|
* Get the device address.
|
||||||
|
|
4
PSBuzz.h
4
PSBuzz.h
|
@ -143,14 +143,14 @@ protected:
|
||||||
* @param len The length of the incoming data.
|
* @param len The length of the incoming data.
|
||||||
* @param buf Pointer to the data buffer.
|
* @param buf Pointer to the data buffer.
|
||||||
*/
|
*/
|
||||||
virtual void ParseHIDData(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf);
|
void ParseHIDData(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when a device is successfully initialized.
|
* Called when a device is successfully initialized.
|
||||||
* Use attachOnInit(void (*funcOnInit)(void)) to call your own function.
|
* 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.
|
* This is useful for instance if you want to set the LEDs in a specific way.
|
||||||
*/
|
*/
|
||||||
virtual uint8_t OnInitSuccessful();
|
uint8_t OnInitSuccessful();
|
||||||
/**@}*/
|
/**@}*/
|
||||||
|
|
||||||
/** Used to reset the different buffers to their default values */
|
/** Used to reset the different buffers to their default values */
|
||||||
|
|
22
SPP.h
22
SPP.h
|
@ -83,13 +83,13 @@ public:
|
||||||
* Used to pass acldata to the services.
|
* Used to pass acldata to the services.
|
||||||
* @param ACLData Incoming acldata.
|
* @param ACLData Incoming acldata.
|
||||||
*/
|
*/
|
||||||
virtual void ACLData(uint8_t* ACLData);
|
void ACLData(uint8_t* ACLData);
|
||||||
/** Used to establish the connection automatically. */
|
/** Used to establish the connection automatically. */
|
||||||
virtual void Run();
|
void Run();
|
||||||
/** Use this to reset the service. */
|
/** Use this to reset the service. */
|
||||||
virtual void Reset();
|
void Reset();
|
||||||
/** Used this to disconnect the virtual serial port. */
|
/** Used this to disconnect the virtual serial port. */
|
||||||
virtual void disconnect();
|
void disconnect();
|
||||||
/**@}*/
|
/**@}*/
|
||||||
|
|
||||||
/** @name Serial port profile (SPP) Print functions */
|
/** @name Serial port profile (SPP) Print functions */
|
||||||
|
@ -97,7 +97,7 @@ public:
|
||||||
* Get number of bytes waiting to be read.
|
* Get number of bytes waiting to be read.
|
||||||
* @return Return the number of bytes ready to be read.
|
* @return Return the number of bytes ready to be read.
|
||||||
*/
|
*/
|
||||||
virtual int available(void);
|
int available(void);
|
||||||
|
|
||||||
/** Send out all bytes in the buffer. */
|
/** Send out all bytes in the buffer. */
|
||||||
virtual void flush(void) {
|
virtual void flush(void) {
|
||||||
|
@ -107,12 +107,12 @@ public:
|
||||||
* Used to read the next value in the buffer without advancing to the next one.
|
* Used to read the next value in the buffer without advancing to the next one.
|
||||||
* @return Return the byte. Will return -1 if no bytes are available.
|
* @return Return the byte. Will return -1 if no bytes are available.
|
||||||
*/
|
*/
|
||||||
virtual int peek(void);
|
int peek(void);
|
||||||
/**
|
/**
|
||||||
* Used to read the buffer.
|
* Used to read the buffer.
|
||||||
* @return Return the byte. Will return -1 if no bytes are available.
|
* @return Return the byte. Will return -1 if no bytes are available.
|
||||||
*/
|
*/
|
||||||
virtual int read(void);
|
int read(void);
|
||||||
|
|
||||||
#if defined(ARDUINO) && ARDUINO >=100
|
#if defined(ARDUINO) && ARDUINO >=100
|
||||||
/**
|
/**
|
||||||
|
@ -120,14 +120,14 @@ public:
|
||||||
* @param data The byte to write.
|
* @param data The byte to write.
|
||||||
* @return Return the number of bytes written.
|
* @return Return the number of bytes written.
|
||||||
*/
|
*/
|
||||||
virtual size_t write(uint8_t data);
|
size_t write(uint8_t data);
|
||||||
/**
|
/**
|
||||||
* Writes the bytes to send to a buffer. The message is send when either send() or after Usb.Task() is called.
|
* Writes the bytes to send to a buffer. The message is send when either send() or after Usb.Task() is called.
|
||||||
* @param data The data array to send.
|
* @param data The data array to send.
|
||||||
* @param size Size of the data.
|
* @param size Size of the data.
|
||||||
* @return Return the number of bytes written.
|
* @return Return the number of bytes written.
|
||||||
*/
|
*/
|
||||||
virtual size_t write(const uint8_t* data, size_t size);
|
size_t write(const uint8_t* data, size_t size);
|
||||||
/** Pull in write(const char *str) from Print */
|
/** Pull in write(const char *str) from Print */
|
||||||
using Print::write;
|
using Print::write;
|
||||||
#else
|
#else
|
||||||
|
@ -135,13 +135,13 @@ public:
|
||||||
* Writes the byte to send to a buffer. The message is send when either send() or after Usb.Task() is called.
|
* Writes the byte to send to a buffer. The message is send when either send() or after Usb.Task() is called.
|
||||||
* @param data The byte to write.
|
* @param data The byte to write.
|
||||||
*/
|
*/
|
||||||
virtual void write(uint8_t data);
|
void write(uint8_t data);
|
||||||
/**
|
/**
|
||||||
* Writes the bytes to send to a buffer. The message is send when either send() or after Usb.Task() is called.
|
* Writes the bytes to send to a buffer. The message is send when either send() or after Usb.Task() is called.
|
||||||
* @param data The data array to send.
|
* @param data The data array to send.
|
||||||
* @param size Size of the data.
|
* @param size Size of the data.
|
||||||
*/
|
*/
|
||||||
virtual void write(const uint8_t* data, size_t size);
|
void write(const uint8_t* data, size_t size);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** Discard all the bytes in the buffer. */
|
/** Discard all the bytes in the buffer. */
|
||||||
|
|
8
Wii.h
8
Wii.h
|
@ -59,13 +59,13 @@ public:
|
||||||
* Used to pass acldata to the services.
|
* Used to pass acldata to the services.
|
||||||
* @param ACLData Incoming acldata.
|
* @param ACLData Incoming acldata.
|
||||||
*/
|
*/
|
||||||
virtual void ACLData(uint8_t* ACLData);
|
void ACLData(uint8_t* ACLData);
|
||||||
/** Used to run part of the state machine. */
|
/** Used to run part of the state machine. */
|
||||||
virtual void Run();
|
void Run();
|
||||||
/** Use this to reset the service. */
|
/** Use this to reset the service. */
|
||||||
virtual void Reset();
|
void Reset();
|
||||||
/** Used this to disconnect any of the controllers. */
|
/** Used this to disconnect any of the controllers. */
|
||||||
virtual void disconnect();
|
void disconnect();
|
||||||
/**@}*/
|
/**@}*/
|
||||||
|
|
||||||
/** @name Wii Controller functions */
|
/** @name Wii Controller functions */
|
||||||
|
|
|
@ -65,17 +65,17 @@ public:
|
||||||
* @param lowspeed Speed of the device.
|
* @param lowspeed Speed of the device.
|
||||||
* @return 0 on success.
|
* @return 0 on success.
|
||||||
*/
|
*/
|
||||||
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
||||||
/**
|
/**
|
||||||
* Release the USB device.
|
* Release the USB device.
|
||||||
* @return 0 on success.
|
* @return 0 on success.
|
||||||
*/
|
*/
|
||||||
virtual uint8_t Release();
|
uint8_t Release();
|
||||||
/**
|
/**
|
||||||
* Poll the USB Input endpoins and run the state machines.
|
* Poll the USB Input endpoins and run the state machines.
|
||||||
* @return 0 on success.
|
* @return 0 on success.
|
||||||
*/
|
*/
|
||||||
virtual uint8_t Poll();
|
uint8_t Poll();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the device address.
|
* Get the device address.
|
||||||
|
|
|
@ -71,7 +71,7 @@ public:
|
||||||
* @param lowspeed Speed of the device.
|
* @param lowspeed Speed of the device.
|
||||||
* @return 0 on success.
|
* @return 0 on success.
|
||||||
*/
|
*/
|
||||||
virtual uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed);
|
uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed);
|
||||||
/**
|
/**
|
||||||
* Initialize the Xbox wireless receiver.
|
* Initialize the Xbox wireless receiver.
|
||||||
* @param parent Hub number.
|
* @param parent Hub number.
|
||||||
|
@ -79,17 +79,17 @@ public:
|
||||||
* @param lowspeed Speed of the device.
|
* @param lowspeed Speed of the device.
|
||||||
* @return 0 on success.
|
* @return 0 on success.
|
||||||
*/
|
*/
|
||||||
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
||||||
/**
|
/**
|
||||||
* Release the USB device.
|
* Release the USB device.
|
||||||
* @return 0 on success.
|
* @return 0 on success.
|
||||||
*/
|
*/
|
||||||
virtual uint8_t Release();
|
uint8_t Release();
|
||||||
/**
|
/**
|
||||||
* Poll the USB Input endpoins and run the state machines.
|
* Poll the USB Input endpoins and run the state machines.
|
||||||
* @return 0 on success.
|
* @return 0 on success.
|
||||||
*/
|
*/
|
||||||
virtual uint8_t Poll();
|
uint8_t Poll();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the device address.
|
* Get the device address.
|
||||||
|
|
|
@ -71,17 +71,17 @@ public:
|
||||||
* @param lowspeed Speed of the device.
|
* @param lowspeed Speed of the device.
|
||||||
* @return 0 on success.
|
* @return 0 on success.
|
||||||
*/
|
*/
|
||||||
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
||||||
/**
|
/**
|
||||||
* Release the USB device.
|
* Release the USB device.
|
||||||
* @return 0 on success.
|
* @return 0 on success.
|
||||||
*/
|
*/
|
||||||
virtual uint8_t Release();
|
uint8_t Release();
|
||||||
/**
|
/**
|
||||||
* Poll the USB Input endpoins and run the state machines.
|
* Poll the USB Input endpoins and run the state machines.
|
||||||
* @return 0 on success.
|
* @return 0 on success.
|
||||||
*/
|
*/
|
||||||
virtual uint8_t Poll();
|
uint8_t Poll();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the device address.
|
* Get the device address.
|
||||||
|
|
8
adk.h
8
adk.h
|
@ -96,9 +96,9 @@ public:
|
||||||
|
|
||||||
|
|
||||||
// USBDeviceConfig implementation
|
// USBDeviceConfig implementation
|
||||||
virtual uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed);
|
uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed);
|
||||||
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
||||||
virtual uint8_t Release();
|
uint8_t Release();
|
||||||
|
|
||||||
virtual uint8_t Poll() {
|
virtual uint8_t Poll() {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -117,7 +117,7 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
//UsbConfigXtracter implementation
|
//UsbConfigXtracter implementation
|
||||||
virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
|
void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
|
||||||
}; //class ADK : public USBDeviceConfig ...
|
}; //class ADK : public USBDeviceConfig ...
|
||||||
|
|
||||||
/* get ADK protocol version */
|
/* get ADK protocol version */
|
||||||
|
|
12
cdcacm.h
12
cdcacm.h
|
@ -127,7 +127,9 @@ class ACM;
|
||||||
|
|
||||||
class CDCAsyncOper {
|
class CDCAsyncOper {
|
||||||
public:
|
public:
|
||||||
virtual uint8_t OnInit(ACM *pacm) = 0;
|
|
||||||
|
virtual uint8_t OnInit(ACM *pacm) {
|
||||||
|
};
|
||||||
//virtual void OnDataRcvd(ACM *pacm, uint8_t nbytes, uint8_t *dataptr) = 0;
|
//virtual void OnDataRcvd(ACM *pacm, uint8_t nbytes, uint8_t *dataptr) = 0;
|
||||||
//virtual void OnDisconnected(ACM *pacm) = 0;
|
//virtual void OnDisconnected(ACM *pacm) = 0;
|
||||||
};
|
};
|
||||||
|
@ -173,9 +175,9 @@ public:
|
||||||
uint8_t SndData(uint16_t nbytes, uint8_t *dataptr);
|
uint8_t SndData(uint16_t nbytes, uint8_t *dataptr);
|
||||||
|
|
||||||
// USBDeviceConfig implementation
|
// USBDeviceConfig implementation
|
||||||
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
||||||
virtual uint8_t Release();
|
uint8_t Release();
|
||||||
virtual uint8_t Poll();
|
uint8_t Poll();
|
||||||
|
|
||||||
virtual uint8_t GetAddress() {
|
virtual uint8_t GetAddress() {
|
||||||
return bAddress;
|
return bAddress;
|
||||||
|
@ -186,7 +188,7 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
// UsbConfigXtracter implementation
|
// UsbConfigXtracter implementation
|
||||||
virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
|
void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // __CDCACM_H__
|
#endif // __CDCACM_H__
|
||||||
|
|
16
cdcftdi.h
16
cdcftdi.h
|
@ -78,8 +78,12 @@ class FTDI;
|
||||||
|
|
||||||
class FTDIAsyncOper {
|
class FTDIAsyncOper {
|
||||||
public:
|
public:
|
||||||
virtual uint8_t OnInit(FTDI *pftdi) = 0;
|
|
||||||
virtual uint8_t OnRelease(FTDI *pftdi) = 0;
|
virtual uint8_t OnInit(FTDI *pftdi) {
|
||||||
|
};
|
||||||
|
|
||||||
|
virtual uint8_t OnRelease(FTDI *pftdi) {
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -119,16 +123,16 @@ public:
|
||||||
uint8_t SndData(uint16_t nbytes, uint8_t *dataptr);
|
uint8_t SndData(uint16_t nbytes, uint8_t *dataptr);
|
||||||
|
|
||||||
// USBDeviceConfig implementation
|
// USBDeviceConfig implementation
|
||||||
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
||||||
virtual uint8_t Release();
|
uint8_t Release();
|
||||||
virtual uint8_t Poll();
|
uint8_t Poll();
|
||||||
|
|
||||||
virtual uint8_t GetAddress() {
|
virtual uint8_t GetAddress() {
|
||||||
return bAddress;
|
return bAddress;
|
||||||
};
|
};
|
||||||
|
|
||||||
// UsbConfigXtracter implementation
|
// UsbConfigXtracter implementation
|
||||||
virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
|
void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
|
||||||
|
|
||||||
virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid) {
|
virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid) {
|
||||||
return (vid == FTDI_VID && pid == FTDI_PID);
|
return (vid == FTDI_VID && pid == FTDI_PID);
|
||||||
|
|
|
@ -57,14 +57,6 @@ e-mail : support@circuitsathome.com
|
||||||
#define kCONTROL_DTR 0x01
|
#define kCONTROL_DTR 0x01
|
||||||
#define kCONTROL_RTS 0x02
|
#define kCONTROL_RTS 0x02
|
||||||
|
|
||||||
enum tXO_State {
|
|
||||||
kXOnSent = -2,
|
|
||||||
kXOffSent = -1,
|
|
||||||
kXO_Idle = 0,
|
|
||||||
kXOffNeeded = 1,
|
|
||||||
kXOnNeeded = 2
|
|
||||||
};
|
|
||||||
|
|
||||||
#define kStateTransientMask 0x74
|
#define kStateTransientMask 0x74
|
||||||
#define kBreakError 0x04
|
#define kBreakError 0x04
|
||||||
#define kFrameError 0x10
|
#define kFrameError 0x10
|
||||||
|
@ -104,6 +96,17 @@ enum tXO_State {
|
||||||
#define RESET_DOWNSTREAM_DATA_PIPE 0x08
|
#define RESET_DOWNSTREAM_DATA_PIPE 0x08
|
||||||
#define RESET_UPSTREAM_DATA_PIPE 0x09
|
#define RESET_UPSTREAM_DATA_PIPE 0x09
|
||||||
|
|
||||||
|
|
||||||
|
#define PL_MAX_ENDPOINTS 4
|
||||||
|
|
||||||
|
enum tXO_State {
|
||||||
|
kXOnSent = -2,
|
||||||
|
kXOffSent = -1,
|
||||||
|
kXO_Idle = 0,
|
||||||
|
kXOffNeeded = 1,
|
||||||
|
kXOnNeeded = 2
|
||||||
|
};
|
||||||
|
|
||||||
enum pl2303_type {
|
enum pl2303_type {
|
||||||
unknown,
|
unknown,
|
||||||
type_1, /* don't know the difference between type 0 and */
|
type_1, /* don't know the difference between type 0 and */
|
||||||
|
@ -113,8 +116,6 @@ enum pl2303_type {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#define PL_MAX_ENDPOINTS 4
|
|
||||||
|
|
||||||
class PL2303 : public ACM {
|
class PL2303 : public ACM {
|
||||||
uint16_t wPLType; // Type of chip
|
uint16_t wPLType; // Type of chip
|
||||||
|
|
||||||
|
@ -122,7 +123,7 @@ public:
|
||||||
PL2303(USB *pusb, CDCAsyncOper *pasync);
|
PL2303(USB *pusb, CDCAsyncOper *pasync);
|
||||||
|
|
||||||
// USBDeviceConfig implementation
|
// USBDeviceConfig implementation
|
||||||
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
||||||
//virtual uint8_t Release();
|
//virtual uint8_t Release();
|
||||||
//virtual uint8_t Poll();
|
//virtual uint8_t Poll();
|
||||||
//virtual uint8_t GetAddress() { return bAddress; };
|
//virtual uint8_t GetAddress() { return bAddress; };
|
||||||
|
|
|
@ -24,7 +24,9 @@ class UsbConfigXtracter {
|
||||||
public:
|
public:
|
||||||
//virtual void ConfigXtract(const USB_CONFIGURATION_DESCRIPTOR *conf) = 0;
|
//virtual void ConfigXtract(const USB_CONFIGURATION_DESCRIPTOR *conf) = 0;
|
||||||
//virtual void InterfaceXtract(uint8_t conf, const USB_INTERFACE_DESCRIPTOR *iface) = 0;
|
//virtual void InterfaceXtract(uint8_t conf, const USB_INTERFACE_DESCRIPTOR *iface) = 0;
|
||||||
virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep) = 0;
|
|
||||||
|
virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep) {
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
#define CP_MASK_COMPARE_CLASS 1
|
#define CP_MASK_COMPARE_CLASS 1
|
||||||
|
@ -63,7 +65,7 @@ public:
|
||||||
UseOr = true;
|
UseOr = true;
|
||||||
}
|
}
|
||||||
ConfigDescParser(UsbConfigXtracter *xtractor);
|
ConfigDescParser(UsbConfigXtracter *xtractor);
|
||||||
virtual void Parse(const uint16_t len, const uint8_t *pbuf, const uint16_t &offset);
|
void Parse(const uint16_t len, const uint8_t *pbuf, const uint16_t &offset);
|
||||||
};
|
};
|
||||||
|
|
||||||
template <const uint8_t CLASS_ID, const uint8_t SUBCLASS_ID, const uint8_t PROTOCOL_ID, const uint8_t MASK>
|
template <const uint8_t CLASS_ID, const uint8_t SUBCLASS_ID, const uint8_t PROTOCOL_ID, const uint8_t MASK>
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
|
@ -30,7 +31,9 @@ MouseRptParser mousePrs;
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
if (Usb.Init() == -1) {
|
if (Usb.Init() == -1) {
|
||||||
Serial.print(F("\r\nOSC did not start"));
|
Serial.print(F("\r\nOSC did not start"));
|
||||||
while (1); // Halt
|
while (1); // Halt
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
|
@ -24,7 +25,9 @@ boolean printAngle;
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
if (Usb.Init() == -1) {
|
if (Usb.Init() == -1) {
|
||||||
Serial.print(F("\r\nOSC did not start"));
|
Serial.print(F("\r\nOSC did not start"));
|
||||||
while (1); //halt
|
while (1); //halt
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
|
@ -28,7 +29,9 @@ void setup() {
|
||||||
}
|
}
|
||||||
|
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
if (Usb.Init() == -1) {
|
if (Usb.Init() == -1) {
|
||||||
Serial.print(F("\r\nOSC did not start"));
|
Serial.print(F("\r\nOSC did not start"));
|
||||||
while (1); //halt
|
while (1); //halt
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
|
@ -33,7 +34,9 @@ String output = ""; // We will store the data in this string
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200); // This wil lprint the debugging from the libraries
|
Serial.begin(115200); // This wil lprint the debugging from the libraries
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
if (Usb.Init() == -1) {
|
if (Usb.Init() == -1) {
|
||||||
Serial.print(F("\r\nOSC did not start"));
|
Serial.print(F("\r\nOSC did not start"));
|
||||||
while (1); //halt
|
while (1); //halt
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
|
@ -29,7 +30,9 @@ uint8_t oldL2Value, oldR2Value;
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
if (Usb.Init() == -1) {
|
if (Usb.Init() == -1) {
|
||||||
Serial.print(F("\r\nOSC did not start"));
|
Serial.print(F("\r\nOSC did not start"));
|
||||||
while (1); // Halt
|
while (1); // Halt
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
|
@ -23,7 +24,9 @@ boolean firstMessage = true;
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
if (Usb.Init() == -1) {
|
if (Usb.Init() == -1) {
|
||||||
Serial.print(F("\r\nOSC did not start"));
|
Serial.print(F("\r\nOSC did not start"));
|
||||||
while (1); //halt
|
while (1); //halt
|
||||||
|
|
|
@ -6,9 +6,10 @@
|
||||||
|
|
||||||
#include <SPP.h>
|
#include <SPP.h>
|
||||||
#include <usbhub.h>
|
#include <usbhub.h>
|
||||||
// Satisfy IDE, which only needs to see the include statement in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
|
@ -26,7 +27,9 @@ void setup() {
|
||||||
SerialBT[i] = new SPP(&Btd); // This will set the name to the default: "Arduino" and the pin to "0000" for all connections
|
SerialBT[i] = new SPP(&Btd); // This will set the name to the default: "Arduino" and the pin to "0000" for all connections
|
||||||
|
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
if (Usb.Init() == -1) {
|
if (Usb.Init() == -1) {
|
||||||
Serial.print(F("\r\nOSC did not start"));
|
Serial.print(F("\r\nOSC did not start"));
|
||||||
while (1); // Halt
|
while (1); // Halt
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
|
@ -23,7 +24,9 @@ bool printAngle;
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
if (Usb.Init() == -1) {
|
if (Usb.Init() == -1) {
|
||||||
Serial.print(F("\r\nOSC did not start"));
|
Serial.print(F("\r\nOSC did not start"));
|
||||||
while (1); //halt
|
while (1); //halt
|
||||||
|
|
|
@ -16,6 +16,7 @@ Otherwise, wire up a IR LED yourself.
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef WIICAMERA // Used to check if WIICAMERA is defined
|
#ifndef WIICAMERA // Used to check if WIICAMERA is defined
|
||||||
|
@ -35,7 +36,9 @@ uint8_t printObjects;
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
if (Usb.Init() == -1) {
|
if (Usb.Init() == -1) {
|
||||||
Serial.print(F("\r\nOSC did not start"));
|
Serial.print(F("\r\nOSC did not start"));
|
||||||
while (1); //halt
|
while (1); //halt
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
|
@ -28,7 +29,9 @@ void setup() {
|
||||||
}
|
}
|
||||||
|
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
if (Usb.Init() == -1) {
|
if (Usb.Init() == -1) {
|
||||||
Serial.print(F("\r\nOSC did not start"));
|
Serial.print(F("\r\nOSC did not start"));
|
||||||
while (1); //halt
|
while (1); //halt
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
|
@ -21,7 +22,9 @@ WII Wii(&Btd, PAIR); // This will start an inquiry and then pair with your Wiimo
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
if (Usb.Init() == -1) {
|
if (Usb.Init() == -1) {
|
||||||
Serial.print(F("\r\nOSC did not start"));
|
Serial.print(F("\r\nOSC did not start"));
|
||||||
while (1); //halt
|
while (1); //halt
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
class KbdRptParser : public KeyboardReportParser
|
class KbdRptParser : public KeyboardReportParser
|
||||||
|
@ -10,11 +11,11 @@ class KbdRptParser : public KeyboardReportParser
|
||||||
void PrintKey(uint8_t mod, uint8_t key);
|
void PrintKey(uint8_t mod, uint8_t key);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void OnControlKeysChanged(uint8_t before, uint8_t after);
|
void OnControlKeysChanged(uint8_t before, uint8_t after);
|
||||||
|
|
||||||
virtual void OnKeyDown (uint8_t mod, uint8_t key);
|
void OnKeyDown (uint8_t mod, uint8_t key);
|
||||||
virtual void OnKeyUp (uint8_t mod, uint8_t key);
|
void OnKeyUp (uint8_t mod, uint8_t key);
|
||||||
virtual void OnKeyPressed(uint8_t key);
|
void OnKeyPressed(uint8_t key);
|
||||||
};
|
};
|
||||||
|
|
||||||
void KbdRptParser::PrintKey(uint8_t m, uint8_t key)
|
void KbdRptParser::PrintKey(uint8_t m, uint8_t key)
|
||||||
|
@ -105,7 +106,9 @@ KbdRptParser Prs;
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin( 115200 );
|
Serial.begin( 115200 );
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
Serial.println("Start");
|
Serial.println("Start");
|
||||||
|
|
||||||
if (Usb.Init() == -1)
|
if (Usb.Init() == -1)
|
||||||
|
|
|
@ -1,16 +1,21 @@
|
||||||
#include <hidboot.h>
|
#include <hidboot.h>
|
||||||
#include <usbhub.h>
|
#include <usbhub.h>
|
||||||
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
|
#ifdef dobogusinclude
|
||||||
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
class MouseRptParser : public MouseReportParser
|
class MouseRptParser : public MouseReportParser
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
virtual void OnMouseMove (MOUSEINFO *mi);
|
void OnMouseMove(MOUSEINFO *mi);
|
||||||
virtual void OnLeftButtonUp (MOUSEINFO *mi);
|
void OnLeftButtonUp(MOUSEINFO *mi);
|
||||||
virtual void OnLeftButtonDown (MOUSEINFO *mi);
|
void OnLeftButtonDown(MOUSEINFO *mi);
|
||||||
virtual void OnRightButtonUp (MOUSEINFO *mi);
|
void OnRightButtonUp(MOUSEINFO *mi);
|
||||||
virtual void OnRightButtonDown (MOUSEINFO *mi);
|
void OnRightButtonDown(MOUSEINFO *mi);
|
||||||
virtual void OnMiddleButtonUp (MOUSEINFO *mi);
|
void OnMiddleButtonUp(MOUSEINFO *mi);
|
||||||
virtual void OnMiddleButtonDown (MOUSEINFO *mi);
|
void OnMiddleButtonDown(MOUSEINFO *mi);
|
||||||
};
|
};
|
||||||
void MouseRptParser::OnMouseMove(MOUSEINFO *mi)
|
void MouseRptParser::OnMouseMove(MOUSEINFO *mi)
|
||||||
{
|
{
|
||||||
|
@ -49,11 +54,10 @@ class KbdRptParser : public KeyboardReportParser
|
||||||
void PrintKey(uint8_t mod, uint8_t key);
|
void PrintKey(uint8_t mod, uint8_t key);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void OnControlKeysChanged(uint8_t before, uint8_t after);
|
void OnControlKeysChanged(uint8_t before, uint8_t after);
|
||||||
|
void OnKeyDown (uint8_t mod, uint8_t key);
|
||||||
virtual void OnKeyDown (uint8_t mod, uint8_t key);
|
void OnKeyUp (uint8_t mod, uint8_t key);
|
||||||
virtual void OnKeyUp (uint8_t mod, uint8_t key);
|
void OnKeyPressed(uint8_t key);
|
||||||
virtual void OnKeyPressed(uint8_t key);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void KbdRptParser::PrintKey(uint8_t m, uint8_t key)
|
void KbdRptParser::PrintKey(uint8_t m, uint8_t key)
|
||||||
|
@ -148,7 +152,9 @@ MouseRptParser MousePrs;
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin( 115200 );
|
Serial.begin( 115200 );
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
Serial.println("Start");
|
Serial.println("Start");
|
||||||
|
|
||||||
if (Usb.Init() == -1)
|
if (Usb.Init() == -1)
|
||||||
|
|
|
@ -3,18 +3,19 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
class MouseRptParser : public MouseReportParser
|
class MouseRptParser : public MouseReportParser
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
virtual void OnMouseMove (MOUSEINFO *mi);
|
void OnMouseMove (MOUSEINFO *mi);
|
||||||
virtual void OnLeftButtonUp (MOUSEINFO *mi);
|
void OnLeftButtonUp (MOUSEINFO *mi);
|
||||||
virtual void OnLeftButtonDown (MOUSEINFO *mi);
|
void OnLeftButtonDown (MOUSEINFO *mi);
|
||||||
virtual void OnRightButtonUp (MOUSEINFO *mi);
|
void OnRightButtonUp (MOUSEINFO *mi);
|
||||||
virtual void OnRightButtonDown (MOUSEINFO *mi);
|
void OnRightButtonDown (MOUSEINFO *mi);
|
||||||
virtual void OnMiddleButtonUp (MOUSEINFO *mi);
|
void OnMiddleButtonUp (MOUSEINFO *mi);
|
||||||
virtual void OnMiddleButtonDown (MOUSEINFO *mi);
|
void OnMiddleButtonDown (MOUSEINFO *mi);
|
||||||
};
|
};
|
||||||
void MouseRptParser::OnMouseMove(MOUSEINFO *mi)
|
void MouseRptParser::OnMouseMove(MOUSEINFO *mi)
|
||||||
{
|
{
|
||||||
|
@ -59,7 +60,9 @@ MouseRptParser Prs;
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin( 115200 );
|
Serial.begin( 115200 );
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
Serial.println("Start");
|
Serial.println("Start");
|
||||||
|
|
||||||
if (Usb.Init() == -1)
|
if (Usb.Init() == -1)
|
||||||
|
|
|
@ -1,6 +1,11 @@
|
||||||
#include <hid.h>
|
#include <hid.h>
|
||||||
#include <hiduniversal.h>
|
#include <hiduniversal.h>
|
||||||
#include <usbhub.h>
|
#include <usbhub.h>
|
||||||
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
|
#ifdef dobogusinclude
|
||||||
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "hidjoystickrptparser.h"
|
#include "hidjoystickrptparser.h"
|
||||||
|
|
||||||
|
@ -12,7 +17,9 @@ JoystickReportParser Joy(&JoyEvents);
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
Serial.println("Start");
|
Serial.println("Start");
|
||||||
|
|
||||||
if (Usb.Init() == -1)
|
if (Usb.Init() == -1)
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
class HIDUniversal2 : public HIDUniversal
|
class HIDUniversal2 : public HIDUniversal
|
||||||
|
@ -14,7 +15,7 @@ public:
|
||||||
HIDUniversal2(USB *usb) : HIDUniversal(usb) {};
|
HIDUniversal2(USB *usb) : HIDUniversal(usb) {};
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual uint8_t OnInitSuccessful();
|
uint8_t OnInitSuccessful();
|
||||||
};
|
};
|
||||||
|
|
||||||
uint8_t HIDUniversal2::OnInitSuccessful()
|
uint8_t HIDUniversal2::OnInitSuccessful()
|
||||||
|
@ -54,7 +55,9 @@ UniversalReportParser Uni;
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin( 115200 );
|
Serial.begin( 115200 );
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
Serial.println("Start");
|
Serial.println("Start");
|
||||||
|
|
||||||
if (Usb.Init() == -1)
|
if (Usb.Init() == -1)
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
|
@ -19,7 +20,9 @@ JoystickReportParser Joy(&JoyEvents);
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin( 115200 );
|
Serial.begin( 115200 );
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
Serial.println("Start");
|
Serial.println("Start");
|
||||||
|
|
||||||
if (Usb.Init() == -1)
|
if (Usb.Init() == -1)
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
|
@ -21,7 +22,9 @@ ScaleReportParser Scale(&ScaleEvents);
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin( 115200 );
|
Serial.begin( 115200 );
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
Serial.println("Start");
|
Serial.println("Start");
|
||||||
|
|
||||||
if (Usb.Init() == -1)
|
if (Usb.Init() == -1)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#if !defined(__SCALERPTPARSER_H__)
|
#if !defined(__SCALERPTPARSER_H__)
|
||||||
#define __SCALERPTPARSER_H__
|
#define __SCALERPTPARSER_H__
|
||||||
|
|
||||||
#include <Max_LCD.h>
|
#include <max_LCD.h>
|
||||||
#include <hid.h>
|
#include <hid.h>
|
||||||
|
|
||||||
/* Scale status constants */
|
/* Scale status constants */
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
|
@ -20,7 +21,9 @@ uint8_t state = 0;
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
if (Usb.Init() == -1) {
|
if (Usb.Init() == -1) {
|
||||||
Serial.print(F("\r\nOSC did not start"));
|
Serial.print(F("\r\nOSC did not start"));
|
||||||
while (1); //halt
|
while (1); //halt
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
|
@ -19,7 +20,9 @@ uint8_t oldL2Value, oldR2Value;
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
if (Usb.Init() == -1) {
|
if (Usb.Init() == -1) {
|
||||||
Serial.print(F("\r\nOSC did not start"));
|
Serial.print(F("\r\nOSC did not start"));
|
||||||
while (1); // Halt
|
while (1); // Halt
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
|
@ -16,7 +17,9 @@ PSBuzz Buzz(&Usb);
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
if (Usb.Init() == -1) {
|
if (Usb.Init() == -1) {
|
||||||
Serial.print(F("\r\nOSC did not start"));
|
Serial.print(F("\r\nOSC did not start"));
|
||||||
while (1); // Halt
|
while (1); // Halt
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
|
@ -49,7 +50,9 @@ void PrintAddress(uint8_t addr)
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin( 115200 );
|
Serial.begin( 115200 );
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
Serial.println("Start");
|
Serial.println("Start");
|
||||||
|
|
||||||
if (Usb.Init() == -1)
|
if (Usb.Init() == -1)
|
||||||
|
@ -336,7 +339,7 @@ void printunkdescr( uint8_t* descr_ptr )
|
||||||
|
|
||||||
|
|
||||||
/* Print a string from Program Memory directly to save RAM */
|
/* Print a string from Program Memory directly to save RAM */
|
||||||
void printProgStr(const prog_char str[])
|
void printProgStr(prog_char str[])
|
||||||
{
|
{
|
||||||
char c;
|
char c;
|
||||||
if(!str) return;
|
if(!str) return;
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
|
@ -17,7 +18,9 @@ XBOXOLD Xbox(&Usb);
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
if (Usb.Init() == -1) {
|
if (Usb.Init() == -1) {
|
||||||
Serial.print(F("\r\nOSC did not start"));
|
Serial.print(F("\r\nOSC did not start"));
|
||||||
while (1); // halt
|
while (1); // halt
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
|
@ -16,7 +17,9 @@ XBOXRECV Xbox(&Usb);
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
if (Usb.Init() == -1) {
|
if (Usb.Init() == -1) {
|
||||||
Serial.print(F("\r\nOSC did not start"));
|
Serial.print(F("\r\nOSC did not start"));
|
||||||
while (1); //halt
|
while (1); //halt
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
|
@ -15,7 +16,9 @@ XBOXUSB Xbox(&Usb);
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
if (Usb.Init() == -1) {
|
if (Usb.Init() == -1) {
|
||||||
Serial.print(F("\r\nOSC did not start"));
|
Serial.print(F("\r\nOSC did not start"));
|
||||||
while (1); //halt
|
while (1); //halt
|
||||||
|
|
|
@ -6,12 +6,13 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
class ACMAsyncOper : public CDCAsyncOper
|
class ACMAsyncOper : public CDCAsyncOper
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual uint8_t OnInit(ACM *pacm);
|
uint8_t OnInit(ACM *pacm);
|
||||||
};
|
};
|
||||||
|
|
||||||
uint8_t ACMAsyncOper::OnInit(ACM *pacm)
|
uint8_t ACMAsyncOper::OnInit(ACM *pacm)
|
||||||
|
@ -48,7 +49,9 @@ ACM Acm(&Usb, &AsyncOper);
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin( 115200 );
|
Serial.begin( 115200 );
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
Serial.println("Start");
|
Serial.println("Start");
|
||||||
|
|
||||||
if (Usb.Init() == -1)
|
if (Usb.Init() == -1)
|
||||||
|
|
|
@ -2,6 +2,27 @@
|
||||||
// The code for the Android application is heavily based on this guide: http://allaboutee.com/2011/12/31/arduino-adk-board-blink-an-led-with-your-phone-code-and-explanation/ by Miguel
|
// The code for the Android application is heavily based on this guide: http://allaboutee.com/2011/12/31/arduino-adk-board-blink-an-led-with-your-phone-code-and-explanation/ by Miguel
|
||||||
#include <adk.h>
|
#include <adk.h>
|
||||||
|
|
||||||
|
//
|
||||||
|
// CAUTION! WARNING! ATTENTION! VORSICHT! ADVARSEL! ¡CUIDADO! ВНИМАНИЕ!
|
||||||
|
//
|
||||||
|
// Pin 13 is occupied by the SCK pin on various Arduino boards,
|
||||||
|
// including Uno, Duemilanove, etc., so use a different pin for those boards.
|
||||||
|
//
|
||||||
|
// CAUTION! WARNING! ATTENTION! VORSICHT! ADVARSEL! ¡CUIDADO! ВНИМАНИЕ!
|
||||||
|
//
|
||||||
|
#if defined(LED_BUILTIN)
|
||||||
|
#define LED LED_BUILTIN // Use built in LED
|
||||||
|
#else
|
||||||
|
#define LED 9 // Set to something here that makes sense for your board.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
|
#ifdef dobogusinclude
|
||||||
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
ADK adk(&Usb, "TKJElectronics", // Manufacturer Name
|
ADK adk(&Usb, "TKJElectronics", // Manufacturer Name
|
||||||
"ArduinoBlinkLED", // Model Name
|
"ArduinoBlinkLED", // Model Name
|
||||||
|
@ -10,14 +31,14 @@ ADK adk(&Usb, "TKJElectronics", // Manufacturer Name
|
||||||
"http://www.tkjelectronics.dk/uploads/ArduinoBlinkLED.apk", // URL (web page to visit if no installed apps support the accessory)
|
"http://www.tkjelectronics.dk/uploads/ArduinoBlinkLED.apk", // URL (web page to visit if no installed apps support the accessory)
|
||||||
"123456789"); // Serial Number (optional)
|
"123456789"); // Serial Number (optional)
|
||||||
|
|
||||||
#define LED LED_BUILTIN // Use built in LED - note that pin 13 is occupied by the SCK pin on a normal Arduino (Uno, Duemilanove etc.), so use a different pin
|
|
||||||
|
|
||||||
uint32_t timer;
|
uint32_t timer;
|
||||||
boolean connected;
|
boolean connected;
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
if (Usb.Init() == -1) {
|
if (Usb.Init() == -1) {
|
||||||
Serial.print("\r\nOSCOKIRQ failed to assert");
|
Serial.print("\r\nOSCOKIRQ failed to assert");
|
||||||
while (1); // halt
|
while (1); // halt
|
||||||
|
|
|
@ -4,6 +4,11 @@
|
||||||
#include <adk.h>
|
#include <adk.h>
|
||||||
#include <hidboot.h>
|
#include <hidboot.h>
|
||||||
#include <usbhub.h>
|
#include <usbhub.h>
|
||||||
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
|
#ifdef dobogusinclude
|
||||||
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
USBHub Hub1(&Usb);
|
USBHub Hub1(&Usb);
|
||||||
|
@ -22,8 +27,8 @@ class KbdRptParser : public KeyboardReportParser
|
||||||
{
|
{
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void OnKeyDown (uint8_t mod, uint8_t key);
|
void OnKeyDown (uint8_t mod, uint8_t key);
|
||||||
virtual void OnKeyPressed(uint8_t key);
|
void OnKeyPressed(uint8_t key);
|
||||||
};
|
};
|
||||||
|
|
||||||
void KbdRptParser::OnKeyDown(uint8_t mod, uint8_t key)
|
void KbdRptParser::OnKeyDown(uint8_t mod, uint8_t key)
|
||||||
|
@ -64,7 +69,9 @@ KbdRptParser Prs;
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
Serial.println("\r\nADK demo start");
|
Serial.println("\r\nADK demo start");
|
||||||
|
|
||||||
if (Usb.Init() == -1) {
|
if (Usb.Init() == -1) {
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#include <adk.h>
|
#include <adk.h>
|
||||||
#include <usbhub.h>
|
#include <usbhub.h>
|
||||||
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
|
#ifdef dobogusinclude
|
||||||
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
USBHub hub0(&Usb);
|
USBHub hub0(&Usb);
|
||||||
|
@ -16,9 +21,6 @@ uint8_t b, b1;
|
||||||
#define LED1_RED 3
|
#define LED1_RED 3
|
||||||
#define BUTTON1 2
|
#define BUTTON1 2
|
||||||
|
|
||||||
void setup();
|
|
||||||
void loop();
|
|
||||||
|
|
||||||
void init_buttons()
|
void init_buttons()
|
||||||
{
|
{
|
||||||
pinMode(BUTTON1, INPUT);
|
pinMode(BUTTON1, INPUT);
|
||||||
|
@ -37,7 +39,9 @@ void init_leds()
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
Serial.println("\r\nADK demo start");
|
Serial.println("\r\nADK demo start");
|
||||||
|
|
||||||
if (Usb.Init() == -1) {
|
if (Usb.Init() == -1) {
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#include <adk.h>
|
#include <adk.h>
|
||||||
#include <usbhub.h>
|
#include <usbhub.h>
|
||||||
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
|
#ifdef dobogusinclude
|
||||||
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
//USBHub Hub(&Usb);
|
//USBHub Hub(&Usb);
|
||||||
|
@ -14,7 +19,9 @@ ADK adk(&Usb,"Circuits@Home, ltd.",
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
Serial.println("\r\nADK demo start");
|
Serial.println("\r\nADK demo start");
|
||||||
|
|
||||||
if (Usb.Init() == -1) {
|
if (Usb.Init() == -1) {
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#include <adk.h>
|
#include <adk.h>
|
||||||
#include <usbhub.h>
|
#include <usbhub.h>
|
||||||
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
|
#ifdef dobogusinclude
|
||||||
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
|
|
||||||
|
@ -13,7 +18,9 @@ ADK adk(&Usb,"Circuits@Home, ltd.",
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
Serial.println("\r\nADK demo start");
|
Serial.println("\r\nADK demo start");
|
||||||
|
|
||||||
if (Usb.Init() == -1) {
|
if (Usb.Init() == -1) {
|
||||||
|
|
|
@ -5,12 +5,13 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
class FTDIAsync : public FTDIAsyncOper
|
class FTDIAsync : public FTDIAsyncOper
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual uint8_t OnInit(FTDI *pftdi);
|
uint8_t OnInit(FTDI *pftdi);
|
||||||
};
|
};
|
||||||
|
|
||||||
uint8_t FTDIAsync::OnInit(FTDI *pftdi)
|
uint8_t FTDIAsync::OnInit(FTDI *pftdi)
|
||||||
|
@ -42,7 +43,9 @@ uint32_t next_time;
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin( 115200 );
|
Serial.begin( 115200 );
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
Serial.println("Start");
|
Serial.println("Start");
|
||||||
|
|
||||||
if (Usb.Init() == -1)
|
if (Usb.Init() == -1)
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
|
@ -45,7 +46,9 @@ void PrintAddress(uint8_t addr)
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin( 115200 );
|
Serial.begin( 115200 );
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
Serial.println("Start");
|
Serial.println("Start");
|
||||||
|
|
||||||
if (Usb.Init() == -1)
|
if (Usb.Init() == -1)
|
||||||
|
@ -332,7 +335,7 @@ void printunkdescr( uint8_t* descr_ptr )
|
||||||
|
|
||||||
|
|
||||||
/* Print a string from Program Memory directly to save RAM */
|
/* Print a string from Program Memory directly to save RAM */
|
||||||
void printProgStr(const prog_char str[])
|
void printProgStr(prog_char str[])
|
||||||
{
|
{
|
||||||
char c;
|
char c;
|
||||||
if(!str) return;
|
if(!str) return;
|
||||||
|
|
|
@ -4,6 +4,11 @@
|
||||||
// pinout: D[4-7] -> GPOUT[4-7], RS-> GPOUT[2], E ->GPOUT[3]
|
// pinout: D[4-7] -> GPOUT[4-7], RS-> GPOUT[2], E ->GPOUT[3]
|
||||||
|
|
||||||
#include <max_LCD.h>
|
#include <max_LCD.h>
|
||||||
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
|
#ifdef dobogusinclude
|
||||||
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
USB Usb;
|
USB Usb;
|
||||||
Max_LCD lcd(&Usb);
|
Max_LCD lcd(&Usb);
|
||||||
|
|
|
@ -7,12 +7,13 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
class PLAsyncOper : public CDCAsyncOper
|
class PLAsyncOper : public CDCAsyncOper
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual uint8_t OnInit(ACM *pacm);
|
uint8_t OnInit(ACM *pacm);
|
||||||
};
|
};
|
||||||
|
|
||||||
uint8_t PLAsyncOper::OnInit(ACM *pacm)
|
uint8_t PLAsyncOper::OnInit(ACM *pacm)
|
||||||
|
@ -50,7 +51,9 @@ PL2303 Pl(&Usb, &AsyncOper);
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin( 115200 );
|
Serial.begin( 115200 );
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
Serial.println("Start");
|
Serial.println("Start");
|
||||||
|
|
||||||
if (Usb.Init() == -1)
|
if (Usb.Init() == -1)
|
||||||
|
|
|
@ -8,11 +8,12 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
class PLAsyncOper : public CDCAsyncOper {
|
class PLAsyncOper : public CDCAsyncOper {
|
||||||
public:
|
public:
|
||||||
virtual uint8_t OnInit(ACM *pacm);
|
uint8_t OnInit(ACM *pacm);
|
||||||
};
|
};
|
||||||
|
|
||||||
uint8_t PLAsyncOper::OnInit(ACM *pacm) {
|
uint8_t PLAsyncOper::OnInit(ACM *pacm) {
|
||||||
|
@ -49,7 +50,9 @@ uint32_t read_delay;
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
Serial.println("Start");
|
Serial.println("Start");
|
||||||
|
|
||||||
if(Usb.Init() == -1)
|
if(Usb.Init() == -1)
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* This sample code demonstrates the normal use of a TinyGPS object.
|
/* This sample code demonstrates the normal use of a TinyGPS object.
|
||||||
|
@ -24,7 +25,7 @@
|
||||||
class PLAsyncOper : public CDCAsyncOper
|
class PLAsyncOper : public CDCAsyncOper
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual uint8_t OnInit(ACM *pacm);
|
uint8_t OnInit(ACM *pacm);
|
||||||
};
|
};
|
||||||
|
|
||||||
uint8_t PLAsyncOper::OnInit(ACM *pacm)
|
uint8_t PLAsyncOper::OnInit(ACM *pacm)
|
||||||
|
@ -68,7 +69,9 @@ void setup()
|
||||||
{
|
{
|
||||||
|
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
|
|
||||||
Serial.print("Testing TinyGPS library v. "); Serial.println(TinyGPS::library_version());
|
Serial.print("Testing TinyGPS library v. "); Serial.println(TinyGPS::library_version());
|
||||||
Serial.println("by Mikal Hart");
|
Serial.println("by Mikal Hart");
|
||||||
|
|
|
@ -8,12 +8,13 @@
|
||||||
// Satisfy IDE, which only needs to see the include statment in the ino.
|
// Satisfy IDE, which only needs to see the include statment in the ino.
|
||||||
#ifdef dobogusinclude
|
#ifdef dobogusinclude
|
||||||
#include <spi4teensy3.h>
|
#include <spi4teensy3.h>
|
||||||
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
class PLAsyncOper : public CDCAsyncOper
|
class PLAsyncOper : public CDCAsyncOper
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual uint8_t OnInit(ACM *pacm);
|
uint8_t OnInit(ACM *pacm);
|
||||||
};
|
};
|
||||||
|
|
||||||
uint8_t PLAsyncOper::OnInit(ACM *pacm)
|
uint8_t PLAsyncOper::OnInit(ACM *pacm)
|
||||||
|
@ -50,7 +51,9 @@ PL2303 Pl(&Usb, &AsyncOper);
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin( 115200 );
|
Serial.begin( 115200 );
|
||||||
|
#if !defined(__MIPSEL__)
|
||||||
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
|
||||||
|
#endif
|
||||||
Serial.println("Start");
|
Serial.println("Start");
|
||||||
|
|
||||||
if (Usb.Init() == -1)
|
if (Usb.Init() == -1)
|
||||||
|
|
|
@ -36,7 +36,7 @@ public:
|
||||||
byteTotal = 0;
|
byteTotal = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
virtual void Parse(const LEN_TYPE len, const uint8_t *pbuf, const OFFSET_TYPE &offset);
|
void Parse(const LEN_TYPE len, const uint8_t *pbuf, const OFFSET_TYPE &offset);
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class BASE_CLASS, class LEN_TYPE, class OFFSET_TYPE>
|
template <class BASE_CLASS, class LEN_TYPE, class OFFSET_TYPE>
|
||||||
|
|
5
hid.h
5
hid.h
|
@ -156,7 +156,7 @@ protected:
|
||||||
void PrintEndpointDescriptor(const USB_ENDPOINT_DESCRIPTOR* ep_ptr);
|
void PrintEndpointDescriptor(const USB_ENDPOINT_DESCRIPTOR* ep_ptr);
|
||||||
void PrintHidDescriptor(const USB_HID_DESCRIPTOR *pDesc);
|
void PrintHidDescriptor(const USB_HID_DESCRIPTOR *pDesc);
|
||||||
|
|
||||||
virtual HIDReportParser* GetReportParser(uint8_t id);
|
virtual HIDReportParser* GetReportParser(uint8_t id) {};
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
@ -166,7 +166,8 @@ public:
|
||||||
const USB* GetUsb() {
|
const USB* GetUsb() {
|
||||||
return pUsb;
|
return pUsb;
|
||||||
};
|
};
|
||||||
virtual bool SetReportParser(uint8_t id, HIDReportParser *prs);
|
|
||||||
|
virtual bool SetReportParser(uint8_t id, HIDReportParser *prs) {};
|
||||||
|
|
||||||
uint8_t SetProtocol(uint8_t iface, uint8_t protocol);
|
uint8_t SetProtocol(uint8_t iface, uint8_t protocol);
|
||||||
uint8_t GetProtocol(uint8_t iface, uint8_t* dataptr);
|
uint8_t GetProtocol(uint8_t iface, uint8_t* dataptr);
|
||||||
|
|
21
hidboot.cpp
21
hidboot.cpp
|
@ -157,27 +157,6 @@ void KeyboardReportParser::Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t
|
||||||
prevState.bInfo[i] = buf[i];
|
prevState.bInfo[i] = buf[i];
|
||||||
};
|
};
|
||||||
|
|
||||||
uint8_t KeyboardReportParser::HandleLockingKeys(HID *hid, uint8_t key) {
|
|
||||||
uint8_t old_keys = kbdLockingKeys.bLeds;
|
|
||||||
|
|
||||||
switch (key) {
|
|
||||||
case UHS_HID_BOOT_KEY_NUM_LOCK:
|
|
||||||
kbdLockingKeys.kbdLeds.bmNumLock = ~kbdLockingKeys.kbdLeds.bmNumLock;
|
|
||||||
break;
|
|
||||||
case UHS_HID_BOOT_KEY_CAPS_LOCK:
|
|
||||||
kbdLockingKeys.kbdLeds.bmCapsLock = ~kbdLockingKeys.kbdLeds.bmCapsLock;
|
|
||||||
break;
|
|
||||||
case UHS_HID_BOOT_KEY_SCROLL_LOCK:
|
|
||||||
kbdLockingKeys.kbdLeds.bmScrollLock = ~kbdLockingKeys.kbdLeds.bmScrollLock;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (old_keys != kbdLockingKeys.bLeds && hid)
|
|
||||||
return (hid->SetReport(0, 0/*hid->GetIface()*/, 2, 0, 1, &kbdLockingKeys.bLeds));
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
const uint8_t KeyboardReportParser::numKeys[10] PROGMEM = {'!', '@', '#', '$', '%', '^', '&', '*', '(', ')'};
|
const uint8_t KeyboardReportParser::numKeys[10] PROGMEM = {'!', '@', '#', '$', '%', '^', '&', '*', '(', ')'};
|
||||||
const uint8_t KeyboardReportParser::symKeysUp[12] PROGMEM = {'_', '+', '{', '}', '|', '~', ':', '"', '~', '<', '>', '?'};
|
const uint8_t KeyboardReportParser::symKeysUp[12] PROGMEM = {'_', '+', '{', '}', '|', '~', ':', '"', '~', '<', '>', '?'};
|
||||||
const uint8_t KeyboardReportParser::symKeysLo[12] PROGMEM = {'-', '=', '[', ']', '\\', ' ', ';', '\'', '`', ',', '.', '/'};
|
const uint8_t KeyboardReportParser::symKeysLo[12] PROGMEM = {'-', '=', '[', ']', '\\', ' ', ';', '\'', '`', ',', '.', '/'};
|
||||||
|
|
33
hidboot.h
33
hidboot.h
|
@ -56,7 +56,7 @@ class MouseReportParser : public HIDReportParser {
|
||||||
} prevState;
|
} prevState;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual void Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf);
|
void Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
@ -144,10 +144,30 @@ public:
|
||||||
kbdLockingKeys.bLeds = 0;
|
kbdLockingKeys.bLeds = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
virtual void Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf);
|
void Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual uint8_t HandleLockingKeys(HID* hid, uint8_t key);
|
|
||||||
|
virtual uint8_t HandleLockingKeys(HID* hid, uint8_t key) {
|
||||||
|
uint8_t old_keys = kbdLockingKeys.bLeds;
|
||||||
|
|
||||||
|
switch(key) {
|
||||||
|
case UHS_HID_BOOT_KEY_NUM_LOCK:
|
||||||
|
kbdLockingKeys.kbdLeds.bmNumLock = ~kbdLockingKeys.kbdLeds.bmNumLock;
|
||||||
|
break;
|
||||||
|
case UHS_HID_BOOT_KEY_CAPS_LOCK:
|
||||||
|
kbdLockingKeys.kbdLeds.bmCapsLock = ~kbdLockingKeys.kbdLeds.bmCapsLock;
|
||||||
|
break;
|
||||||
|
case UHS_HID_BOOT_KEY_SCROLL_LOCK:
|
||||||
|
kbdLockingKeys.kbdLeds.bmScrollLock = ~kbdLockingKeys.kbdLeds.bmScrollLock;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(old_keys != kbdLockingKeys.bLeds && hid)
|
||||||
|
return (hid->SetReport(0, 0/*hid->GetIface()*/, 2, 0, 1, &kbdLockingKeys.bLeds));
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
};
|
||||||
|
|
||||||
virtual void OnControlKeysChanged(uint8_t before, uint8_t after) {
|
virtual void OnControlKeysChanged(uint8_t before, uint8_t after) {
|
||||||
};
|
};
|
||||||
|
@ -204,15 +224,16 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
// USBDeviceConfig implementation
|
// USBDeviceConfig implementation
|
||||||
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
||||||
virtual uint8_t Release();
|
uint8_t Release();
|
||||||
virtual uint8_t Poll();
|
uint8_t Poll();
|
||||||
|
|
||||||
virtual uint8_t GetAddress() {
|
virtual uint8_t GetAddress() {
|
||||||
return bAddress;
|
return bAddress;
|
||||||
};
|
};
|
||||||
|
|
||||||
// UsbConfigXtracter implementation
|
// UsbConfigXtracter implementation
|
||||||
|
// Method should be defined here if virtual.
|
||||||
virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
|
virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
|
||||||
|
|
||||||
virtual boolean DEVCLASSOK(uint8_t klass) {
|
virtual boolean DEVCLASSOK(uint8_t klass) {
|
||||||
|
|
|
@ -111,6 +111,7 @@ protected:
|
||||||
|
|
||||||
uint16_t totalSize; // Report size in bits
|
uint16_t totalSize; // Report size in bits
|
||||||
|
|
||||||
|
// Method should be defined here if virtual.
|
||||||
virtual uint8_t ParseItem(uint8_t **pp, uint16_t *pcntdn);
|
virtual uint8_t ParseItem(uint8_t **pp, uint16_t *pcntdn);
|
||||||
|
|
||||||
UsagePageFunc pfUsage;
|
UsagePageFunc pfUsage;
|
||||||
|
@ -132,7 +133,7 @@ public:
|
||||||
theSkipper.Initialize(&theBuffer);
|
theSkipper.Initialize(&theBuffer);
|
||||||
};
|
};
|
||||||
|
|
||||||
virtual void Parse(const uint16_t len, const uint8_t *pbuf, const uint16_t &offset);
|
void Parse(const uint16_t len, const uint8_t *pbuf, const uint16_t &offset);
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
enErrorSuccess = 0
|
enErrorSuccess = 0
|
||||||
|
@ -156,6 +157,7 @@ class ReportDescParser2 : public ReportDescParserBase {
|
||||||
uint8_t bLen; // Report length
|
uint8_t bLen; // Report length
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
// Method should be defined here if virtual.
|
||||||
virtual uint8_t ParseItem(uint8_t **pp, uint16_t *pcntdn);
|
virtual uint8_t ParseItem(uint8_t **pp, uint16_t *pcntdn);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -167,6 +169,7 @@ public:
|
||||||
|
|
||||||
class UniversalReportParser : public HIDReportParser {
|
class UniversalReportParser : public HIDReportParser {
|
||||||
public:
|
public:
|
||||||
|
// Method should be defined here if virtual.
|
||||||
virtual void Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf);
|
virtual void Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -69,7 +69,7 @@ protected:
|
||||||
uint16_t PID, VID; // PID and VID of connected device
|
uint16_t PID, VID; // PID and VID of connected device
|
||||||
|
|
||||||
// HID implementation
|
// HID implementation
|
||||||
virtual HIDReportParser* GetReportParser(uint8_t id);
|
HIDReportParser* GetReportParser(uint8_t id);
|
||||||
|
|
||||||
virtual uint8_t OnInitSuccessful() {
|
virtual uint8_t OnInitSuccessful() {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -83,12 +83,12 @@ public:
|
||||||
HIDUniversal(USB *p);
|
HIDUniversal(USB *p);
|
||||||
|
|
||||||
// HID implementation
|
// HID implementation
|
||||||
virtual bool SetReportParser(uint8_t id, HIDReportParser *prs);
|
bool SetReportParser(uint8_t id, HIDReportParser *prs);
|
||||||
|
|
||||||
// USBDeviceConfig implementation
|
// USBDeviceConfig implementation
|
||||||
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
||||||
virtual uint8_t Release();
|
uint8_t Release();
|
||||||
virtual uint8_t Poll();
|
uint8_t Poll();
|
||||||
|
|
||||||
virtual uint8_t GetAddress() {
|
virtual uint8_t GetAddress() {
|
||||||
return bAddress;
|
return bAddress;
|
||||||
|
@ -99,7 +99,7 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
// UsbConfigXtracter implementation
|
// UsbConfigXtracter implementation
|
||||||
virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
|
void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // __HIDUNIVERSAL_H__
|
#endif // __HIDUNIVERSAL_H__
|
||||||
|
|
10
masstorage.h
10
masstorage.h
|
@ -519,18 +519,18 @@ public:
|
||||||
uint16_t GetSectorSize(uint8_t lun);
|
uint16_t GetSectorSize(uint8_t lun);
|
||||||
|
|
||||||
// USBDeviceConfig implementation
|
// USBDeviceConfig implementation
|
||||||
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
||||||
virtual uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed);
|
uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed);
|
||||||
|
|
||||||
virtual uint8_t Release();
|
uint8_t Release();
|
||||||
virtual uint8_t Poll();
|
uint8_t Poll();
|
||||||
|
|
||||||
virtual uint8_t GetAddress() {
|
virtual uint8_t GetAddress() {
|
||||||
return bAddress;
|
return bAddress;
|
||||||
};
|
};
|
||||||
|
|
||||||
// UsbConfigXtracter implementation
|
// UsbConfigXtracter implementation
|
||||||
virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
|
void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
|
||||||
|
|
||||||
virtual boolean DEVCLASSOK(uint8_t klass) {
|
virtual boolean DEVCLASSOK(uint8_t klass) {
|
||||||
return (klass == USB_CLASS_MASS_STORAGE);
|
return (klass == USB_CLASS_MASS_STORAGE);
|
||||||
|
|
|
@ -88,10 +88,10 @@ public:
|
||||||
void command(uint8_t);
|
void command(uint8_t);
|
||||||
|
|
||||||
#if defined(ARDUINO) && ARDUINO >=100
|
#if defined(ARDUINO) && ARDUINO >=100
|
||||||
virtual size_t write(uint8_t);
|
size_t write(uint8_t);
|
||||||
using Print::write;
|
using Print::write;
|
||||||
#else
|
#else
|
||||||
virtual void write(uint8_t);
|
void write(uint8_t);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
8
usbhub.h
8
usbhub.h
|
@ -191,10 +191,10 @@ public:
|
||||||
|
|
||||||
void PrintHubStatus();
|
void PrintHubStatus();
|
||||||
|
|
||||||
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
|
||||||
virtual uint8_t Release();
|
uint8_t Release();
|
||||||
virtual uint8_t Poll();
|
uint8_t Poll();
|
||||||
virtual void ResetHubPort(uint8_t port);
|
void ResetHubPort(uint8_t port);
|
||||||
|
|
||||||
virtual uint8_t GetAddress() {
|
virtual uint8_t GetAddress() {
|
||||||
return bAddress;
|
return bAddress;
|
||||||
|
|
Loading…
Reference in a new issue