diff --git a/BTD.h b/BTD.h index 3a639abb..c992b935 100755 --- a/BTD.h +++ b/BTD.h @@ -214,13 +214,13 @@ public: * Used to pass acldata to the Bluetooth service. * @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. */ - virtual void Run(); + virtual void Run(){}; /** 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. */ - virtual void disconnect(); + virtual void disconnect(){}; }; /** @@ -243,7 +243,7 @@ public: * @param lowspeed Speed of the device. * @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. * @param parent Hub number. @@ -251,17 +251,17 @@ public: * @param lowspeed Speed of the device. * @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. * @return 0 on success. */ - virtual uint8_t Release(); + uint8_t Release(); /** * Poll the USB Input endpoints and run the state machines. * @return 0 on success. */ - virtual uint8_t Poll(); + uint8_t Poll(); /** * Get the device address. @@ -315,7 +315,7 @@ public: * @param proto Interface Protocol. * @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. */ diff --git a/BTHID.h b/BTHID.h index 2419e58b..9ca67665 100644 --- a/BTHID.h +++ b/BTHID.h @@ -41,13 +41,13 @@ public: * Used to pass acldata to the services. * @param ACLData Incoming acldata. */ - virtual void ACLData(uint8_t* ACLData); + void ACLData(uint8_t* ACLData); /** Used to run part of the state machine. */ - virtual void Run(); + void Run(); /** Use this to reset the service. */ - virtual void Reset(); + void Reset(); /** Used this to disconnect the devices. */ - virtual void disconnect(); + void disconnect(); /**@}*/ /** diff --git a/PS3BT.h b/PS3BT.h index d07a4577..537bf47e 100644 --- a/PS3BT.h +++ b/PS3BT.h @@ -45,13 +45,13 @@ public: * Used to pass acldata to the services. * @param ACLData Incoming acldata. */ - virtual void ACLData(uint8_t* ACLData); + void ACLData(uint8_t* ACLData); /** Used to run part of the state machine. */ - virtual void Run(); + void Run(); /** Use this to reset the service. */ - virtual void Reset(); + void Reset(); /** Used this to disconnect any of the controllers. */ - virtual void disconnect(); + void disconnect(); /**@}*/ /** @name PS3 Controller functions */ diff --git a/PS3USB.h b/PS3USB.h index 5bbbdf2e..35604f0c 100644 --- a/PS3USB.h +++ b/PS3USB.h @@ -74,17 +74,17 @@ public: * @param lowspeed Speed of the device. * @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. * @return 0 on success. */ - virtual uint8_t Release(); + uint8_t Release(); /** * Poll the USB Input endpoins and run the state machines. * @return 0 on success. */ - virtual uint8_t Poll(); + uint8_t Poll(); /** * Get the device address. diff --git a/PSBuzz.h b/PSBuzz.h index 1d7859d2..13456e5c 100644 --- a/PSBuzz.h +++ b/PSBuzz.h @@ -143,14 +143,14 @@ protected: * @param len The length of the incoming data. * @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. * 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. */ - virtual uint8_t OnInitSuccessful(); + uint8_t OnInitSuccessful(); /**@}*/ /** Used to reset the different buffers to their default values */ diff --git a/SPP.h b/SPP.h index d9f6761c..b9c55dbe 100644 --- a/SPP.h +++ b/SPP.h @@ -83,13 +83,13 @@ public: * Used to pass acldata to the services. * @param ACLData Incoming acldata. */ - virtual void ACLData(uint8_t* ACLData); + void ACLData(uint8_t* ACLData); /** Used to establish the connection automatically. */ - virtual void Run(); + void Run(); /** Use this to reset the service. */ - virtual void Reset(); + void Reset(); /** Used this to disconnect the virtual serial port. */ - virtual void disconnect(); + void disconnect(); /**@}*/ /** @name Serial port profile (SPP) Print functions */ @@ -97,7 +97,7 @@ public: * Get number of bytes waiting 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. */ virtual void flush(void) { @@ -107,12 +107,12 @@ public: * 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. */ - virtual int peek(void); + int peek(void); /** * Used to read the buffer. * @return Return the byte. Will return -1 if no bytes are available. */ - virtual int read(void); + int read(void); #if defined(ARDUINO) && ARDUINO >=100 /** @@ -120,14 +120,14 @@ public: * @param data The byte to write. * @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. * @param data The data array to send. * @param size Size of the data. * @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 */ using Print::write; #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. * @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. * @param data The data array to send. * @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 /** Discard all the bytes in the buffer. */ diff --git a/Wii.h b/Wii.h index 848dec93..d37a6da3 100755 --- a/Wii.h +++ b/Wii.h @@ -59,13 +59,13 @@ public: * Used to pass acldata to the services. * @param ACLData Incoming acldata. */ - virtual void ACLData(uint8_t* ACLData); + void ACLData(uint8_t* ACLData); /** Used to run part of the state machine. */ - virtual void Run(); + void Run(); /** Use this to reset the service. */ - virtual void Reset(); + void Reset(); /** Used this to disconnect any of the controllers. */ - virtual void disconnect(); + void disconnect(); /**@}*/ /** @name Wii Controller functions */ diff --git a/XBOXOLD.h b/XBOXOLD.h index b3c0ccb2..5ea237d9 100644 --- a/XBOXOLD.h +++ b/XBOXOLD.h @@ -65,17 +65,17 @@ public: * @param lowspeed Speed of the device. * @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. * @return 0 on success. */ - virtual uint8_t Release(); + uint8_t Release(); /** * Poll the USB Input endpoins and run the state machines. * @return 0 on success. */ - virtual uint8_t Poll(); + uint8_t Poll(); /** * Get the device address. diff --git a/XBOXRECV.h b/XBOXRECV.h index c3964991..32bd6e7a 100644 --- a/XBOXRECV.h +++ b/XBOXRECV.h @@ -71,7 +71,7 @@ public: * @param lowspeed Speed of the device. * @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. * @param parent Hub number. @@ -79,17 +79,17 @@ public: * @param lowspeed Speed of the device. * @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. * @return 0 on success. */ - virtual uint8_t Release(); + uint8_t Release(); /** * Poll the USB Input endpoins and run the state machines. * @return 0 on success. */ - virtual uint8_t Poll(); + uint8_t Poll(); /** * Get the device address. diff --git a/XBOXUSB.h b/XBOXUSB.h index aed330a2..fc3fdc8f 100644 --- a/XBOXUSB.h +++ b/XBOXUSB.h @@ -71,17 +71,17 @@ public: * @param lowspeed Speed of the device. * @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. * @return 0 on success. */ - virtual uint8_t Release(); + uint8_t Release(); /** * Poll the USB Input endpoins and run the state machines. * @return 0 on success. */ - virtual uint8_t Poll(); + uint8_t Poll(); /** * Get the device address. diff --git a/adk.h b/adk.h index 542078bb..aa9a7ebb 100644 --- a/adk.h +++ b/adk.h @@ -96,9 +96,9 @@ public: // USBDeviceConfig implementation - virtual uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed); - virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed); - virtual uint8_t Release(); + uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed); + uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed); + uint8_t Release(); virtual uint8_t Poll() { return 0; @@ -117,7 +117,7 @@ public: }; //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 ... /* get ADK protocol version */ diff --git a/cdcacm.h b/cdcacm.h index 4a2a1362..c0b6fd07 100644 --- a/cdcacm.h +++ b/cdcacm.h @@ -127,7 +127,9 @@ class ACM; class CDCAsyncOper { 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 OnDisconnected(ACM *pacm) = 0; }; @@ -173,9 +175,9 @@ public: uint8_t SndData(uint16_t nbytes, uint8_t *dataptr); // USBDeviceConfig implementation - virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed); - virtual uint8_t Release(); - virtual uint8_t Poll(); + uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed); + uint8_t Release(); + uint8_t Poll(); virtual uint8_t GetAddress() { return bAddress; @@ -186,7 +188,7 @@ public: }; // 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__ diff --git a/cdcftdi.h b/cdcftdi.h index fbb7396d..0bb1008c 100644 --- a/cdcftdi.h +++ b/cdcftdi.h @@ -78,8 +78,12 @@ class FTDI; class FTDIAsyncOper { 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); // USBDeviceConfig implementation - virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed); - virtual uint8_t Release(); - virtual uint8_t Poll(); + uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed); + uint8_t Release(); + uint8_t Poll(); virtual uint8_t GetAddress() { return bAddress; }; // 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) { return (vid == FTDI_VID && pid == FTDI_PID); diff --git a/cdcprolific.h b/cdcprolific.h index bfa92fe3..ce203fbe 100644 --- a/cdcprolific.h +++ b/cdcprolific.h @@ -19,69 +19,61 @@ e-mail : support@circuitsathome.com #include "cdcacm.h" -#define PL_VID 0x067B -#define PL_PID ( 0x2303 || 0x0609 ) +#define PL_VID 0x067B +#define PL_PID ( 0x2303 || 0x0609 ) -//#define PL_PID 0x0609 +//#define PL_PID 0x0609 -#define PROLIFIC_REV_H 0x0202 -#define PROLIFIC_REV_X 0x0300 -#define PROLIFIC_REV_HX_CHIP_D 0x0400 -#define PROLIFIC_REV_1 0x0001 +#define PROLIFIC_REV_H 0x0202 +#define PROLIFIC_REV_X 0x0300 +#define PROLIFIC_REV_HX_CHIP_D 0x0400 +#define PROLIFIC_REV_1 0x0001 -#define kXOnChar '\x11' -#define kXOffChar '\x13' +#define kXOnChar '\x11' +#define kXOffChar '\x13' -#define SPECIAL_SHIFT (5) -#define SPECIAL_MASK ((1< diff --git a/examples/Bluetooth/BTHID/BTHID.ino b/examples/Bluetooth/BTHID/BTHID.ino index fcfd686a..7f083321 100644 --- a/examples/Bluetooth/BTHID/BTHID.ino +++ b/examples/Bluetooth/BTHID/BTHID.ino @@ -11,6 +11,7 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif USB Usb; @@ -30,7 +31,9 @@ MouseRptParser mousePrs; void setup() { 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 +#endif if (Usb.Init() == -1) { Serial.print(F("\r\nOSC did not start")); while (1); // Halt diff --git a/examples/Bluetooth/PS3BT/PS3BT.ino b/examples/Bluetooth/PS3BT/PS3BT.ino index 982eb384..47e7d3fe 100644 --- a/examples/Bluetooth/PS3BT/PS3BT.ino +++ b/examples/Bluetooth/PS3BT/PS3BT.ino @@ -9,6 +9,7 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif USB Usb; @@ -24,7 +25,9 @@ boolean printAngle; void setup() { 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 +#endif if (Usb.Init() == -1) { Serial.print(F("\r\nOSC did not start")); while (1); //halt diff --git a/examples/Bluetooth/PS3Multi/PS3Multi.ino b/examples/Bluetooth/PS3Multi/PS3Multi.ino index 23e8cd9a..a630640a 100644 --- a/examples/Bluetooth/PS3Multi/PS3Multi.ino +++ b/examples/Bluetooth/PS3Multi/PS3Multi.ino @@ -10,6 +10,7 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif USB Usb; @@ -28,7 +29,9 @@ void setup() { } 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 +#endif if (Usb.Init() == -1) { Serial.print(F("\r\nOSC did not start")); while (1); //halt diff --git a/examples/Bluetooth/PS3SPP/PS3SPP.ino b/examples/Bluetooth/PS3SPP/PS3SPP.ino index 440ea79e..40c23ea1 100644 --- a/examples/Bluetooth/PS3SPP/PS3SPP.ino +++ b/examples/Bluetooth/PS3SPP/PS3SPP.ino @@ -15,6 +15,7 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif USB Usb; @@ -33,7 +34,9 @@ String output = ""; // We will store the data in this string void setup() { 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 +#endif if (Usb.Init() == -1) { Serial.print(F("\r\nOSC did not start")); while (1); //halt diff --git a/examples/Bluetooth/PS4BT/PS4BT.ino b/examples/Bluetooth/PS4BT/PS4BT.ino index e47cfae0..b6ee3b1d 100644 --- a/examples/Bluetooth/PS4BT/PS4BT.ino +++ b/examples/Bluetooth/PS4BT/PS4BT.ino @@ -10,6 +10,7 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif USB Usb; @@ -29,7 +30,9 @@ uint8_t oldL2Value, oldR2Value; void setup() { 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 +#endif if (Usb.Init() == -1) { Serial.print(F("\r\nOSC did not start")); while (1); // Halt diff --git a/examples/Bluetooth/SPP/SPP.ino b/examples/Bluetooth/SPP/SPP.ino index d8276b7b..90cf94ba 100644 --- a/examples/Bluetooth/SPP/SPP.ino +++ b/examples/Bluetooth/SPP/SPP.ino @@ -9,6 +9,7 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif USB Usb; @@ -23,7 +24,9 @@ boolean firstMessage = true; void setup() { 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 +#endif if (Usb.Init() == -1) { Serial.print(F("\r\nOSC did not start")); while (1); //halt diff --git a/examples/Bluetooth/SPPMulti/SPPMulti.ino b/examples/Bluetooth/SPPMulti/SPPMulti.ino index 0304257e..e4cf16f5 100644 --- a/examples/Bluetooth/SPPMulti/SPPMulti.ino +++ b/examples/Bluetooth/SPPMulti/SPPMulti.ino @@ -6,9 +6,10 @@ #include #include -// 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 #include +#include #endif 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 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 +#endif if (Usb.Init() == -1) { Serial.print(F("\r\nOSC did not start")); while (1); // Halt diff --git a/examples/Bluetooth/Wii/Wii.ino b/examples/Bluetooth/Wii/Wii.ino index f4d68a62..1f9fa020 100644 --- a/examples/Bluetooth/Wii/Wii.ino +++ b/examples/Bluetooth/Wii/Wii.ino @@ -9,6 +9,7 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif USB Usb; @@ -23,7 +24,9 @@ bool printAngle; void setup() { 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 +#endif if (Usb.Init() == -1) { Serial.print(F("\r\nOSC did not start")); while (1); //halt diff --git a/examples/Bluetooth/WiiIRCamera/WiiIRCamera.ino b/examples/Bluetooth/WiiIRCamera/WiiIRCamera.ino index e7ca456b..4eadbc95 100644 --- a/examples/Bluetooth/WiiIRCamera/WiiIRCamera.ino +++ b/examples/Bluetooth/WiiIRCamera/WiiIRCamera.ino @@ -16,6 +16,7 @@ Otherwise, wire up a IR LED yourself. // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif #ifndef WIICAMERA // Used to check if WIICAMERA is defined @@ -35,7 +36,9 @@ uint8_t printObjects; void setup() { 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 +#endif if (Usb.Init() == -1) { Serial.print(F("\r\nOSC did not start")); while (1); //halt diff --git a/examples/Bluetooth/WiiMulti/WiiMulti.ino b/examples/Bluetooth/WiiMulti/WiiMulti.ino index 08444f10..d3f15fca 100644 --- a/examples/Bluetooth/WiiMulti/WiiMulti.ino +++ b/examples/Bluetooth/WiiMulti/WiiMulti.ino @@ -10,6 +10,7 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif USB Usb; @@ -28,7 +29,9 @@ void setup() { } 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 +#endif if (Usb.Init() == -1) { Serial.print(F("\r\nOSC did not start")); while (1); //halt diff --git a/examples/Bluetooth/WiiUProController/WiiUProController.ino b/examples/Bluetooth/WiiUProController/WiiUProController.ino index 59c4f1dc..870cd13b 100644 --- a/examples/Bluetooth/WiiUProController/WiiUProController.ino +++ b/examples/Bluetooth/WiiUProController/WiiUProController.ino @@ -9,6 +9,7 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif USB Usb; @@ -21,7 +22,9 @@ WII Wii(&Btd, PAIR); // This will start an inquiry and then pair with your Wiimo void setup() { 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 +#endif if (Usb.Init() == -1) { Serial.print(F("\r\nOSC did not start")); while (1); //halt diff --git a/examples/HID/USBHIDBootKbd/USBHIDBootKbd.ino b/examples/HID/USBHIDBootKbd/USBHIDBootKbd.ino index b5944f0a..0c0a0fca 100644 --- a/examples/HID/USBHIDBootKbd/USBHIDBootKbd.ino +++ b/examples/HID/USBHIDBootKbd/USBHIDBootKbd.ino @@ -3,6 +3,7 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif class KbdRptParser : public KeyboardReportParser @@ -10,11 +11,11 @@ class KbdRptParser : public KeyboardReportParser void PrintKey(uint8_t mod, uint8_t key); 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); - virtual void OnKeyUp (uint8_t mod, uint8_t key); - virtual void OnKeyPressed(uint8_t key); + void OnKeyDown (uint8_t mod, uint8_t key); + void OnKeyUp (uint8_t mod, uint8_t key); + void OnKeyPressed(uint8_t key); }; void KbdRptParser::PrintKey(uint8_t m, uint8_t key) @@ -105,7 +106,9 @@ KbdRptParser Prs; void setup() { Serial.begin( 115200 ); - while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection +#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 +#endif Serial.println("Start"); if (Usb.Init() == -1) diff --git a/examples/HID/USBHIDBootKbdAndMouse/USBHIDBootKbdAndMouse.ino b/examples/HID/USBHIDBootKbdAndMouse/USBHIDBootKbdAndMouse.ino index 92dc226b..a664b4b5 100644 --- a/examples/HID/USBHIDBootKbdAndMouse/USBHIDBootKbdAndMouse.ino +++ b/examples/HID/USBHIDBootKbdAndMouse/USBHIDBootKbdAndMouse.ino @@ -1,16 +1,21 @@ #include #include +// Satisfy IDE, which only needs to see the include statment in the ino. +#ifdef dobogusinclude +#include +#include +#endif class MouseRptParser : public MouseReportParser { protected: - virtual void OnMouseMove (MOUSEINFO *mi); - virtual void OnLeftButtonUp (MOUSEINFO *mi); - virtual void OnLeftButtonDown (MOUSEINFO *mi); - virtual void OnRightButtonUp (MOUSEINFO *mi); - virtual void OnRightButtonDown (MOUSEINFO *mi); - virtual void OnMiddleButtonUp (MOUSEINFO *mi); - virtual void OnMiddleButtonDown (MOUSEINFO *mi); + void OnMouseMove(MOUSEINFO *mi); + void OnLeftButtonUp(MOUSEINFO *mi); + void OnLeftButtonDown(MOUSEINFO *mi); + void OnRightButtonUp(MOUSEINFO *mi); + void OnRightButtonDown(MOUSEINFO *mi); + void OnMiddleButtonUp(MOUSEINFO *mi); + void OnMiddleButtonDown(MOUSEINFO *mi); }; void MouseRptParser::OnMouseMove(MOUSEINFO *mi) { @@ -49,11 +54,10 @@ class KbdRptParser : public KeyboardReportParser void PrintKey(uint8_t mod, uint8_t key); protected: - virtual void OnControlKeysChanged(uint8_t before, uint8_t after); - - virtual void OnKeyDown (uint8_t mod, uint8_t key); - virtual void OnKeyUp (uint8_t mod, uint8_t key); - virtual void OnKeyPressed(uint8_t key); + void OnControlKeysChanged(uint8_t before, uint8_t after); + void OnKeyDown (uint8_t mod, uint8_t key); + void OnKeyUp (uint8_t mod, uint8_t key); + void OnKeyPressed(uint8_t key); }; void KbdRptParser::PrintKey(uint8_t m, uint8_t key) @@ -148,7 +152,9 @@ MouseRptParser MousePrs; void setup() { 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 +#endif Serial.println("Start"); if (Usb.Init() == -1) diff --git a/examples/HID/USBHIDBootMouse/USBHIDBootMouse.ino b/examples/HID/USBHIDBootMouse/USBHIDBootMouse.ino index aa2e3b34..ede71bdd 100644 --- a/examples/HID/USBHIDBootMouse/USBHIDBootMouse.ino +++ b/examples/HID/USBHIDBootMouse/USBHIDBootMouse.ino @@ -3,18 +3,19 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif class MouseRptParser : public MouseReportParser { protected: - virtual void OnMouseMove (MOUSEINFO *mi); - virtual void OnLeftButtonUp (MOUSEINFO *mi); - virtual void OnLeftButtonDown (MOUSEINFO *mi); - virtual void OnRightButtonUp (MOUSEINFO *mi); - virtual void OnRightButtonDown (MOUSEINFO *mi); - virtual void OnMiddleButtonUp (MOUSEINFO *mi); - virtual void OnMiddleButtonDown (MOUSEINFO *mi); + void OnMouseMove (MOUSEINFO *mi); + void OnLeftButtonUp (MOUSEINFO *mi); + void OnLeftButtonDown (MOUSEINFO *mi); + void OnRightButtonUp (MOUSEINFO *mi); + void OnRightButtonDown (MOUSEINFO *mi); + void OnMiddleButtonUp (MOUSEINFO *mi); + void OnMiddleButtonDown (MOUSEINFO *mi); }; void MouseRptParser::OnMouseMove(MOUSEINFO *mi) { @@ -59,7 +60,9 @@ MouseRptParser Prs; void setup() { 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 +#endif Serial.println("Start"); if (Usb.Init() == -1) diff --git a/examples/HID/USBHIDJoystick/USBHIDJoystick.ino b/examples/HID/USBHIDJoystick/USBHIDJoystick.ino index d0106e1a..70e5dc6c 100644 --- a/examples/HID/USBHIDJoystick/USBHIDJoystick.ino +++ b/examples/HID/USBHIDJoystick/USBHIDJoystick.ino @@ -1,6 +1,11 @@ #include #include #include +// Satisfy IDE, which only needs to see the include statment in the ino. +#ifdef dobogusinclude +#include +#include +#endif #include "hidjoystickrptparser.h" @@ -12,7 +17,9 @@ JoystickReportParser Joy(&JoyEvents); void setup() { 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 +#endif Serial.println("Start"); if (Usb.Init() == -1) diff --git a/examples/HID/USBHID_desc/USBHID_desc.ino b/examples/HID/USBHID_desc/USBHID_desc.ino index 806936f9..a3056ae1 100644 --- a/examples/HID/USBHID_desc/USBHID_desc.ino +++ b/examples/HID/USBHID_desc/USBHID_desc.ino @@ -6,6 +6,7 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif class HIDUniversal2 : public HIDUniversal @@ -14,7 +15,7 @@ public: HIDUniversal2(USB *usb) : HIDUniversal(usb) {}; protected: - virtual uint8_t OnInitSuccessful(); + uint8_t OnInitSuccessful(); }; uint8_t HIDUniversal2::OnInitSuccessful() @@ -54,7 +55,9 @@ UniversalReportParser Uni; void setup() { 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 +#endif Serial.println("Start"); if (Usb.Init() == -1) diff --git a/examples/HID/le3dp/le3dp.ino b/examples/HID/le3dp/le3dp.ino index fbf07b2f..df9cbf17 100644 --- a/examples/HID/le3dp/le3dp.ino +++ b/examples/HID/le3dp/le3dp.ino @@ -8,6 +8,7 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif USB Usb; @@ -19,7 +20,9 @@ JoystickReportParser Joy(&JoyEvents); void setup() { 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 +#endif Serial.println("Start"); if (Usb.Init() == -1) diff --git a/examples/HID/scale/scale.ino b/examples/HID/scale/scale.ino index c790cb1c..e335aef3 100644 --- a/examples/HID/scale/scale.ino +++ b/examples/HID/scale/scale.ino @@ -9,6 +9,7 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif USB Usb; @@ -21,7 +22,9 @@ ScaleReportParser Scale(&ScaleEvents); void setup() { 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 +#endif Serial.println("Start"); if (Usb.Init() == -1) diff --git a/examples/HID/scale/scale_rptparser.h b/examples/HID/scale/scale_rptparser.h index db69e656..57fbb033 100644 --- a/examples/HID/scale/scale_rptparser.h +++ b/examples/HID/scale/scale_rptparser.h @@ -1,7 +1,7 @@ #if !defined(__SCALERPTPARSER_H__) #define __SCALERPTPARSER_H__ -#include +#include #include /* Scale status constants */ @@ -19,22 +19,22 @@ struct ScaleEventData { uint8_t reportID; //must be 3 uint8_t status; - uint8_t unit; + uint8_t unit; int8_t exp; //scale factor for the weight uint16_t weight; // }; class ScaleEvents { - + Max_LCD* pLcd; - + void LcdPrint( const char* str ); - + public: - + ScaleEvents( Max_LCD* pLCD ); - + virtual void OnScaleChanged(const ScaleEventData *evt); }; diff --git a/examples/PS3USB/PS3USB.ino b/examples/PS3USB/PS3USB.ino index 2db3afd5..8db150bf 100644 --- a/examples/PS3USB/PS3USB.ino +++ b/examples/PS3USB/PS3USB.ino @@ -8,6 +8,7 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif USB Usb; @@ -20,7 +21,9 @@ uint8_t state = 0; void setup() { 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 +#endif if (Usb.Init() == -1) { Serial.print(F("\r\nOSC did not start")); while (1); //halt diff --git a/examples/PS4USB/PS4USB.ino b/examples/PS4USB/PS4USB.ino index b3a2436b..5f7860c5 100644 --- a/examples/PS4USB/PS4USB.ino +++ b/examples/PS4USB/PS4USB.ino @@ -9,6 +9,7 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif USB Usb; @@ -19,7 +20,9 @@ uint8_t oldL2Value, oldR2Value; void setup() { 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 +#endif if (Usb.Init() == -1) { Serial.print(F("\r\nOSC did not start")); while (1); // Halt diff --git a/examples/PSBuzz/PSBuzz.ino b/examples/PSBuzz/PSBuzz.ino index 6944cb6b..60271f42 100644 --- a/examples/PSBuzz/PSBuzz.ino +++ b/examples/PSBuzz/PSBuzz.ino @@ -9,6 +9,7 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif USB Usb; @@ -16,7 +17,9 @@ PSBuzz Buzz(&Usb); void setup() { 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 +#endif if (Usb.Init() == -1) { Serial.print(F("\r\nOSC did not start")); while (1); // Halt diff --git a/examples/USB_desc/USB_desc.ino b/examples/USB_desc/USB_desc.ino index b0013914..e6596494 100644 --- a/examples/USB_desc/USB_desc.ino +++ b/examples/USB_desc/USB_desc.ino @@ -4,6 +4,7 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif USB Usb; @@ -49,7 +50,9 @@ void PrintAddress(uint8_t addr) void setup() { 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 +#endif Serial.println("Start"); if (Usb.Init() == -1) @@ -336,7 +339,7 @@ void printunkdescr( uint8_t* descr_ptr ) /* Print a string from Program Memory directly to save RAM */ -void printProgStr(const prog_char str[]) +void printProgStr(prog_char str[]) { char c; if(!str) return; diff --git a/examples/Xbox/XBOXOLD/XBOXOLD.ino b/examples/Xbox/XBOXOLD/XBOXOLD.ino index 968c8df7..c9ecaed4 100644 --- a/examples/Xbox/XBOXOLD/XBOXOLD.ino +++ b/examples/Xbox/XBOXOLD/XBOXOLD.ino @@ -9,6 +9,7 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif USB Usb; @@ -17,7 +18,9 @@ XBOXOLD Xbox(&Usb); void setup() { 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 +#endif if (Usb.Init() == -1) { Serial.print(F("\r\nOSC did not start")); while (1); // halt diff --git a/examples/Xbox/XBOXRECV/XBOXRECV.ino b/examples/Xbox/XBOXRECV/XBOXRECV.ino index 1f43b912..a39ddbbf 100644 --- a/examples/Xbox/XBOXRECV/XBOXRECV.ino +++ b/examples/Xbox/XBOXRECV/XBOXRECV.ino @@ -9,6 +9,7 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif USB Usb; @@ -16,7 +17,9 @@ XBOXRECV Xbox(&Usb); void setup() { 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 +#endif if (Usb.Init() == -1) { Serial.print(F("\r\nOSC did not start")); while (1); //halt diff --git a/examples/Xbox/XBOXUSB/XBOXUSB.ino b/examples/Xbox/XBOXUSB/XBOXUSB.ino index 89161d24..a4e14f1a 100644 --- a/examples/Xbox/XBOXUSB/XBOXUSB.ino +++ b/examples/Xbox/XBOXUSB/XBOXUSB.ino @@ -8,6 +8,7 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif USB Usb; @@ -15,7 +16,9 @@ XBOXUSB Xbox(&Usb); void setup() { 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 +#endif if (Usb.Init() == -1) { Serial.print(F("\r\nOSC did not start")); while (1); //halt diff --git a/examples/acm/acm_terminal/acm_terminal.ino b/examples/acm/acm_terminal/acm_terminal.ino index 5e4d152c..696b4d02 100644 --- a/examples/acm/acm_terminal/acm_terminal.ino +++ b/examples/acm/acm_terminal/acm_terminal.ino @@ -6,12 +6,13 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif class ACMAsyncOper : public CDCAsyncOper { public: - virtual uint8_t OnInit(ACM *pacm); + uint8_t OnInit(ACM *pacm); }; uint8_t ACMAsyncOper::OnInit(ACM *pacm) @@ -48,7 +49,9 @@ ACM Acm(&Usb, &AsyncOper); void setup() { 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 +#endif Serial.println("Start"); if (Usb.Init() == -1) diff --git a/examples/adk/ArduinoBlinkLED/ArduinoBlinkLED.ino b/examples/adk/ArduinoBlinkLED/ArduinoBlinkLED.ino index dc6ab92c..2cc1fbe6 100644 --- a/examples/adk/ArduinoBlinkLED/ArduinoBlinkLED.ino +++ b/examples/adk/ArduinoBlinkLED/ArduinoBlinkLED.ino @@ -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 #include +// +// 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 +#include +#endif + USB Usb; ADK adk(&Usb, "TKJElectronics", // Manufacturer 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) "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; boolean connected; void setup() { 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 +#endif if (Usb.Init() == -1) { Serial.print("\r\nOSCOKIRQ failed to assert"); while (1); // halt diff --git a/examples/adk/adk_barcode/adk_barcode.ino b/examples/adk/adk_barcode/adk_barcode.ino index b410572a..c529700c 100644 --- a/examples/adk/adk_barcode/adk_barcode.ino +++ b/examples/adk/adk_barcode/adk_barcode.ino @@ -4,10 +4,15 @@ #include #include #include +// Satisfy IDE, which only needs to see the include statment in the ino. +#ifdef dobogusinclude +#include +#include +#endif USB Usb; USBHub Hub1(&Usb); -USBHub Hub2(&Usb); +USBHub Hub2(&Usb); HIDBoot Keyboard(&Usb); ADK adk(&Usb,"Circuits@Home, ltd.", @@ -20,22 +25,22 @@ ADK adk(&Usb,"Circuits@Home, ltd.", class KbdRptParser : public KeyboardReportParser { - + protected: - virtual void OnKeyDown (uint8_t mod, uint8_t key); - virtual void OnKeyPressed(uint8_t key); + void OnKeyDown (uint8_t mod, 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) { uint8_t c = OemToAscii(mod, key); - + if (c) OnKeyPressed(c); } - + /* what to do when symbol arrives */ -void KbdRptParser::OnKeyPressed(uint8_t key) +void KbdRptParser::OnKeyPressed(uint8_t key) { const char* new_line = "\n"; uint8_t rcode; @@ -44,36 +49,38 @@ uint8_t keylcl; if( adk.isReady() == false ) { return; } - + keylcl = key; - + if( keylcl == 0x13 ) { rcode = adk.SndData( strlen( new_line ), (uint8_t *)new_line ); } else { rcode = adk.SndData( 1, &keylcl ); - } - + } + Serial.print((char) keylcl ); - Serial.print(" : "); + Serial.print(" : "); Serial.println( keylcl, HEX ); }; - + KbdRptParser Prs; - + void setup() { 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 +#endif Serial.println("\r\nADK demo start"); - + if (Usb.Init() == -1) { Serial.println("OSCOKIRQ failed to assert"); while(1); //halt }//if (Usb.Init() == -1... - + Keyboard.SetReportParser(0, (HIDReportParser*)&Prs); - + delay( 200 ); } diff --git a/examples/adk/demokit_20/demokit_20.ino b/examples/adk/demokit_20/demokit_20.ino index 87662297..fbbe1c73 100644 --- a/examples/adk/demokit_20/demokit_20.ino +++ b/examples/adk/demokit_20/demokit_20.ino @@ -1,5 +1,10 @@ #include #include +// Satisfy IDE, which only needs to see the include statment in the ino. +#ifdef dobogusinclude +#include +#include +#endif USB Usb; USBHub hub0(&Usb); @@ -16,9 +21,6 @@ uint8_t b, b1; #define LED1_RED 3 #define BUTTON1 2 -void setup(); -void loop(); - void init_buttons() { pinMode(BUTTON1, INPUT); @@ -37,9 +39,11 @@ void init_leds() void setup() { Serial.begin(115200); - while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection +#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 +#endif Serial.println("\r\nADK demo start"); - + if (Usb.Init() == -1) { Serial.println("OSCOKIRQ failed to assert"); while(1); //halt @@ -56,17 +60,17 @@ void loop() uint8_t rcode; uint8_t msg[3] = { 0x00 }; Usb.Task(); - + if( adk.isReady() == false ) { analogWrite(LED1_RED, 255); return; } uint16_t len = sizeof(msg); - + rcode = adk.RcvData(&len, msg); if( rcode ) { USBTRACE2("Data rcv. :", rcode ); - } + } if(len > 0) { USBTRACE("\r\nData Packet."); // assumes only one command per packet @@ -75,10 +79,10 @@ void loop() case 0: analogWrite(LED1_RED, 255 - msg[2]); break; - }//switch( msg[1]... + }//switch( msg[1]... }//if (msg[0] == 0x2... }//if( len > 0... - + msg[0] = 0x1; b = digitalRead(BUTTON1); @@ -94,5 +98,5 @@ void loop() }//if (b != b1... - delay( 10 ); + delay( 10 ); } diff --git a/examples/adk/term_test/term_test.ino b/examples/adk/term_test/term_test.ino index dea6533f..8bc3ce56 100644 --- a/examples/adk/term_test/term_test.ino +++ b/examples/adk/term_test/term_test.ino @@ -1,5 +1,10 @@ #include #include +// Satisfy IDE, which only needs to see the include statment in the ino. +#ifdef dobogusinclude +#include +#include +#endif USB Usb; //USBHub Hub(&Usb); @@ -14,9 +19,11 @@ ADK adk(&Usb,"Circuits@Home, ltd.", void setup() { Serial.begin(115200); - while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection +#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 +#endif Serial.println("\r\nADK demo start"); - + if (Usb.Init() == -1) { Serial.println("OSCOKIRQ failed to assert"); while(1); //halt @@ -27,31 +34,31 @@ void loop() { uint8_t rcode; uint8_t msg[64] = { 0x00 }; - const char* recv = "Received: "; - + const char* recv = "Received: "; + Usb.Task(); - + if( adk.isReady() == false ) { return; } uint16_t len = 64; - + rcode = adk.RcvData(&len, msg); if( rcode & ( rcode != hrNAK )) { USBTRACE2("Data rcv. :", rcode ); - } + } if(len > 0) { USBTRACE("\r\nData Packet."); for( uint8_t i = 0; i < len; i++ ) { Serial.print((char)msg[i]); } - /* sending back what was received */ - rcode = adk.SndData( strlen( recv ), (uint8_t *)recv ); + /* sending back what was received */ + rcode = adk.SndData( strlen( recv ), (uint8_t *)recv ); rcode = adk.SndData( strlen(( char * )msg ), msg ); }//if( len > 0 )... - delay( 1000 ); + delay( 1000 ); } diff --git a/examples/adk/term_time/term_time.ino b/examples/adk/term_time/term_time.ino index 39fe3a49..a79bac47 100644 --- a/examples/adk/term_time/term_time.ino +++ b/examples/adk/term_time/term_time.ino @@ -1,5 +1,10 @@ #include #include +// Satisfy IDE, which only needs to see the include statment in the ino. +#ifdef dobogusinclude +#include +#include +#endif USB Usb; @@ -13,9 +18,11 @@ ADK adk(&Usb,"Circuits@Home, ltd.", void setup() { Serial.begin(115200); - while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection +#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 +#endif Serial.println("\r\nADK demo start"); - + if (Usb.Init() == -1) { Serial.println("OSCOKIRQ failed to assert"); while(1); //halt @@ -27,16 +34,16 @@ void loop() uint8_t buf[ 12 ] = { 0 }; //buffer to convert unsigned long to ASCII const char* sec_ela = " seconds elapsed\r"; uint8_t rcode; - + Usb.Task(); if( adk.isReady() == false ) { return; } - + ultoa( millis()/1000, (char *)buf, 10 ); - + rcode = adk.SndData( strlen((char *)buf), buf ); rcode = adk.SndData( strlen( sec_ela), (uint8_t *)sec_ela ); - - delay( 1000 ); + + delay( 1000 ); } diff --git a/examples/ftdi/USBFTDILoopback/USBFTDILoopback.ino b/examples/ftdi/USBFTDILoopback/USBFTDILoopback.ino index 26b5624d..b1dd1fdb 100644 --- a/examples/ftdi/USBFTDILoopback/USBFTDILoopback.ino +++ b/examples/ftdi/USBFTDILoopback/USBFTDILoopback.ino @@ -5,12 +5,13 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif class FTDIAsync : public FTDIAsyncOper { public: - virtual uint8_t OnInit(FTDI *pftdi); + uint8_t OnInit(FTDI *pftdi); }; uint8_t FTDIAsync::OnInit(FTDI *pftdi) @@ -42,7 +43,9 @@ uint32_t next_time; void setup() { 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 +#endif Serial.println("Start"); if (Usb.Init() == -1) diff --git a/examples/hub_demo/hub_demo.ino b/examples/hub_demo/hub_demo.ino index 329c6230..6f6cbaf2 100644 --- a/examples/hub_demo/hub_demo.ino +++ b/examples/hub_demo/hub_demo.ino @@ -3,6 +3,7 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif USB Usb; @@ -45,7 +46,9 @@ void PrintAddress(uint8_t addr) void setup() { 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 +#endif Serial.println("Start"); if (Usb.Init() == -1) @@ -332,7 +335,7 @@ void printunkdescr( uint8_t* descr_ptr ) /* Print a string from Program Memory directly to save RAM */ -void printProgStr(const prog_char str[]) +void printProgStr(prog_char str[]) { char c; if(!str) return; diff --git a/examples/max_LCD/max_LCD.ino b/examples/max_LCD/max_LCD.ino index f60ed4d5..82a09672 100644 --- a/examples/max_LCD/max_LCD.ino +++ b/examples/max_LCD/max_LCD.ino @@ -4,6 +4,11 @@ // pinout: D[4-7] -> GPOUT[4-7], RS-> GPOUT[2], E ->GPOUT[3] #include +// Satisfy IDE, which only needs to see the include statment in the ino. +#ifdef dobogusinclude +#include +#include +#endif USB Usb; Max_LCD lcd(&Usb); diff --git a/examples/pl2303/pl2303_gprs_terminal/pl2303_gprs_terminal.ino b/examples/pl2303/pl2303_gprs_terminal/pl2303_gprs_terminal.ino index 4770809d..ae94a810 100644 --- a/examples/pl2303/pl2303_gprs_terminal/pl2303_gprs_terminal.ino +++ b/examples/pl2303/pl2303_gprs_terminal/pl2303_gprs_terminal.ino @@ -7,12 +7,13 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif class PLAsyncOper : public CDCAsyncOper { public: - virtual uint8_t OnInit(ACM *pacm); + uint8_t OnInit(ACM *pacm); }; uint8_t PLAsyncOper::OnInit(ACM *pacm) @@ -50,7 +51,9 @@ PL2303 Pl(&Usb, &AsyncOper); void setup() { 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 +#endif Serial.println("Start"); if (Usb.Init() == -1) diff --git a/examples/pl2303/pl2303_gps/pl2303_gps.ino b/examples/pl2303/pl2303_gps/pl2303_gps.ino index 908763c4..4ca6eea6 100644 --- a/examples/pl2303/pl2303_gps/pl2303_gps.ino +++ b/examples/pl2303/pl2303_gps/pl2303_gps.ino @@ -8,11 +8,12 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif class PLAsyncOper : public CDCAsyncOper { public: - virtual uint8_t OnInit(ACM *pacm); + uint8_t OnInit(ACM *pacm); }; uint8_t PLAsyncOper::OnInit(ACM *pacm) { @@ -49,7 +50,9 @@ uint32_t read_delay; void setup() { Serial.begin(115200); - while(!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection +#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 +#endif Serial.println("Start"); if(Usb.Init() == -1) diff --git a/examples/pl2303/pl2303_tinygps/pl2303_tinygps.ino b/examples/pl2303/pl2303_tinygps/pl2303_tinygps.ino index db25e42a..6184360c 100644 --- a/examples/pl2303/pl2303_tinygps/pl2303_tinygps.ino +++ b/examples/pl2303/pl2303_tinygps/pl2303_tinygps.ino @@ -14,6 +14,7 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif /* This sample code demonstrates the normal use of a TinyGPS object. @@ -24,7 +25,7 @@ class PLAsyncOper : public CDCAsyncOper { public: - virtual uint8_t OnInit(ACM *pacm); + uint8_t OnInit(ACM *pacm); }; uint8_t PLAsyncOper::OnInit(ACM *pacm) @@ -68,7 +69,9 @@ void setup() { 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 +#endif Serial.print("Testing TinyGPS library v. "); Serial.println(TinyGPS::library_version()); Serial.println("by Mikal Hart"); diff --git a/examples/pl2303/pl2303_xbee_terminal/pl2303_xbee_terminal.ino b/examples/pl2303/pl2303_xbee_terminal/pl2303_xbee_terminal.ino index 9e17d3cf..9a35fc23 100644 --- a/examples/pl2303/pl2303_xbee_terminal/pl2303_xbee_terminal.ino +++ b/examples/pl2303/pl2303_xbee_terminal/pl2303_xbee_terminal.ino @@ -8,12 +8,13 @@ // Satisfy IDE, which only needs to see the include statment in the ino. #ifdef dobogusinclude #include +#include #endif class PLAsyncOper : public CDCAsyncOper { public: - virtual uint8_t OnInit(ACM *pacm); + uint8_t OnInit(ACM *pacm); }; uint8_t PLAsyncOper::OnInit(ACM *pacm) @@ -50,7 +51,9 @@ PL2303 Pl(&Usb, &AsyncOper); void setup() { 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 +#endif Serial.println("Start"); if (Usb.Init() == -1) diff --git a/hexdump.h b/hexdump.h index 3818d850..ffa7248b 100644 --- a/hexdump.h +++ b/hexdump.h @@ -36,7 +36,7 @@ public: 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 diff --git a/hid.h b/hid.h index a61cfb90..b49f5c5d 100644 --- a/hid.h +++ b/hid.h @@ -156,7 +156,7 @@ protected: void PrintEndpointDescriptor(const USB_ENDPOINT_DESCRIPTOR* ep_ptr); void PrintHidDescriptor(const USB_HID_DESCRIPTOR *pDesc); - virtual HIDReportParser* GetReportParser(uint8_t id); + virtual HIDReportParser* GetReportParser(uint8_t id) {}; public: @@ -166,7 +166,8 @@ public: const USB* GetUsb() { 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 GetProtocol(uint8_t iface, uint8_t* dataptr); diff --git a/hidboot.cpp b/hidboot.cpp index c32443bb..09f27a3a 100644 --- a/hidboot.cpp +++ b/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]; }; -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::symKeysUp[12] PROGMEM = {'_', '+', '{', '}', '|', '~', ':', '"', '~', '<', '>', '?'}; const uint8_t KeyboardReportParser::symKeysLo[12] PROGMEM = {'-', '=', '[', ']', '\\', ' ', ';', '\'', '`', ',', '.', '/'}; diff --git a/hidboot.h b/hidboot.h index b35df7cb..6046b39d 100644 --- a/hidboot.h +++ b/hidboot.h @@ -56,7 +56,7 @@ class MouseReportParser : public HIDReportParser { } prevState; 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: @@ -144,10 +144,30 @@ public: 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: - 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) { }; @@ -204,15 +224,16 @@ public: }; // USBDeviceConfig implementation - virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed); - virtual uint8_t Release(); - virtual uint8_t Poll(); + uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed); + uint8_t Release(); + uint8_t Poll(); virtual uint8_t GetAddress() { return bAddress; }; // 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 boolean DEVCLASSOK(uint8_t klass) { diff --git a/hidescriptorparser.h b/hidescriptorparser.h index c43aaaea..e5fd17d8 100644 --- a/hidescriptorparser.h +++ b/hidescriptorparser.h @@ -111,6 +111,7 @@ protected: uint16_t totalSize; // Report size in bits + // Method should be defined here if virtual. virtual uint8_t ParseItem(uint8_t **pp, uint16_t *pcntdn); UsagePageFunc pfUsage; @@ -132,7 +133,7 @@ public: 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 { enErrorSuccess = 0 @@ -156,6 +157,7 @@ class ReportDescParser2 : public ReportDescParserBase { uint8_t bLen; // Report length protected: + // Method should be defined here if virtual. virtual uint8_t ParseItem(uint8_t **pp, uint16_t *pcntdn); public: @@ -167,6 +169,7 @@ public: class UniversalReportParser : public HIDReportParser { public: + // Method should be defined here if virtual. virtual void Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf); }; diff --git a/hiduniversal.h b/hiduniversal.h index 3e090aa7..4e03d4fc 100644 --- a/hiduniversal.h +++ b/hiduniversal.h @@ -69,7 +69,7 @@ protected: uint16_t PID, VID; // PID and VID of connected device // HID implementation - virtual HIDReportParser* GetReportParser(uint8_t id); + HIDReportParser* GetReportParser(uint8_t id); virtual uint8_t OnInitSuccessful() { return 0; @@ -83,12 +83,12 @@ public: HIDUniversal(USB *p); // HID implementation - virtual bool SetReportParser(uint8_t id, HIDReportParser *prs); + bool SetReportParser(uint8_t id, HIDReportParser *prs); // USBDeviceConfig implementation - virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed); - virtual uint8_t Release(); - virtual uint8_t Poll(); + uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed); + uint8_t Release(); + uint8_t Poll(); virtual uint8_t GetAddress() { return bAddress; @@ -99,7 +99,7 @@ public: }; // 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__ diff --git a/masstorage.h b/masstorage.h index 176752fc..e1f5a7ef 100644 --- a/masstorage.h +++ b/masstorage.h @@ -519,18 +519,18 @@ public: uint16_t GetSectorSize(uint8_t lun); // USBDeviceConfig implementation - virtual 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 Init(uint8_t parent, uint8_t port, bool lowspeed); + uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed); - virtual uint8_t Release(); - virtual uint8_t Poll(); + uint8_t Release(); + uint8_t Poll(); virtual uint8_t GetAddress() { return bAddress; }; // 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) { return (klass == USB_CLASS_MASS_STORAGE); diff --git a/max_LCD.h b/max_LCD.h index 48946a1f..7ca70e59 100644 --- a/max_LCD.h +++ b/max_LCD.h @@ -88,10 +88,10 @@ public: void command(uint8_t); #if defined(ARDUINO) && ARDUINO >=100 - virtual size_t write(uint8_t); + size_t write(uint8_t); using Print::write; #else - virtual void write(uint8_t); + void write(uint8_t); #endif private: diff --git a/usbhub.h b/usbhub.h index aa1281b2..931f8d88 100644 --- a/usbhub.h +++ b/usbhub.h @@ -191,10 +191,10 @@ public: void PrintHubStatus(); - virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed); - virtual uint8_t Release(); - virtual uint8_t Poll(); - virtual void ResetHubPort(uint8_t port); + uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed); + uint8_t Release(); + uint8_t Poll(); + void ResetHubPort(uint8_t port); virtual uint8_t GetAddress() { return bAddress;