1
0
mirror of https://github.com/gdsports/USBHost_t36 synced 2024-11-11 19:55:04 -05:00
USBHost_t36/k66_usbhost.ino

76 lines
2.1 KiB
Arduino
Raw Normal View History

/* USB EHCI Host for Teensy 3.6
* Copyright 2017 Paul Stoffregen (paul@pjrc.com)
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
2017-03-06 07:15:23 -05:00
#include "USBHost_t36.h"
2017-02-11 06:34:36 -05:00
USBHost myusb;
USBHub hub1(myusb);
USBHub hub2(myusb);
USBHub hub3(myusb);
KeyboardController keyboard1(myusb);
KeyboardController keyboard2(myusb);
MIDIDevice midi1(myusb);
2017-02-11 06:34:36 -05:00
void setup()
{
2016-08-08 07:44:18 -04:00
// Test board has a USB data mux (this won't be on final Teensy 3.6)
2016-06-27 00:55:58 -04:00
pinMode(32, OUTPUT); // pin 32 = USB switch, high=connect device
digitalWrite(32, LOW);
2017-01-23 07:47:54 -05:00
pinMode(30, OUTPUT); // pin 30 = debug info - use oscilloscope
digitalWrite(30, LOW);
2016-06-29 09:37:43 -04:00
2017-02-11 05:30:52 -05:00
while (!Serial) ; // wait for Arduino Serial Monitor
Serial.println("USB Host Testing");
2017-01-23 07:47:54 -05:00
2017-02-11 06:34:36 -05:00
myusb.begin();
2017-01-23 07:47:54 -05:00
delay(25);
Serial.println("Plug in device...");
digitalWrite(32, HIGH); // connect device
#if 0
delay(5000);
Serial.println();
Serial.println("Ring Doorbell");
USBHS_USBCMD |= USBHS_USBCMD_IAA;
if (rootdev) print(rootdev->control_pipe);
#endif
2016-06-27 00:55:58 -04:00
}
2017-02-11 05:30:52 -05:00
void loop()
{
2017-03-06 07:15:23 -05:00
myusb.Task();
}
2017-01-23 07:47:54 -05:00
void pulse(int usec)
{
// connect oscilloscope to see these pulses....
digitalWriteFast(30, HIGH);
delayMicroseconds(usec);
digitalWriteFast(30, LOW);
}