2018-10-14 13:59:39 +02:00
|
|
|
/* Example of reading and writing USB Host Shield GPI output
|
|
|
|
This example uses "Wiring" style interface. See Blink_LowLevel for example of using low-level UHS interface
|
|
|
|
Author: Brian Walton (brian@riban.co.uk)
|
|
|
|
*/
|
|
|
|
#include <UHS2_gpio.h>
|
|
|
|
|
|
|
|
// Satisfy the IDE, which needs to see the include statment in the ino too.
|
|
|
|
#ifdef dobogusinclude
|
|
|
|
#include <spi4teensy3.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define OUTPUT_PIN 0
|
|
|
|
|
2018-10-15 09:18:16 +02:00
|
|
|
USB Usb; // Create an UHS2 interface object
|
2018-10-15 10:13:30 +02:00
|
|
|
UHS2_GPIO Gpio(&Usb); // Create a GPIO object
|
2018-10-14 13:59:39 +02:00
|
|
|
|
2018-10-15 10:13:30 +02:00
|
|
|
void setup() {
|
2018-10-14 13:59:39 +02:00
|
|
|
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)
|
|
|
|
Serial.println("OSC did not start.");
|
|
|
|
|
|
|
|
delay( 200 );
|
|
|
|
}
|
|
|
|
|
2018-10-15 10:13:30 +02:00
|
|
|
void loop() {
|
2018-10-15 09:18:16 +02:00
|
|
|
// Get the current output value, toggle then wait half a second
|
2018-10-15 10:13:30 +02:00
|
|
|
int nValue = Gpio.digitalReadOutput(OUTPUT_PIN);
|
2018-10-15 09:18:16 +02:00
|
|
|
nValue = (nValue ? 0 : 1);
|
2018-10-15 10:13:30 +02:00
|
|
|
Gpio.digitalWrite(OUTPUT_PIN, nValue);
|
2018-10-15 09:18:16 +02:00
|
|
|
Serial.print(nValue ? "+" : "."); // Debug to show what the output should be doing
|
2018-10-14 13:59:39 +02:00
|
|
|
delay(500);
|
|
|
|
}
|
|
|
|
|