first commit
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
#include <adk.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;
|
||||
USBHub hub0(&Usb);
|
||||
USBHub hub1(&Usb);
|
||||
ADK adk(&Usb,"Google, Inc.",
|
||||
"DemoKit",
|
||||
"DemoKit Arduino Board",
|
||||
"1.0",
|
||||
"http://www.android.com",
|
||||
"0000000012345678");
|
||||
uint8_t b, b1;
|
||||
|
||||
|
||||
#define LED1_RED 3
|
||||
#define BUTTON1 2
|
||||
|
||||
void init_buttons()
|
||||
{
|
||||
pinMode(BUTTON1, INPUT);
|
||||
|
||||
// enable the internal pullups
|
||||
digitalWrite(BUTTON1, HIGH);
|
||||
}
|
||||
|
||||
void init_leds()
|
||||
{
|
||||
digitalWrite(LED1_RED, 0);
|
||||
|
||||
pinMode(LED1_RED, OUTPUT);
|
||||
}
|
||||
|
||||
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...
|
||||
|
||||
|
||||
init_leds();
|
||||
init_buttons();
|
||||
b1 = digitalRead(BUTTON1);
|
||||
}
|
||||
|
||||
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
|
||||
if (msg[0] == 0x2) {
|
||||
switch( msg[1] ) {
|
||||
case 0:
|
||||
analogWrite(LED1_RED, 255 - msg[2]);
|
||||
break;
|
||||
}//switch( msg[1]...
|
||||
}//if (msg[0] == 0x2...
|
||||
}//if( len > 0...
|
||||
|
||||
msg[0] = 0x1;
|
||||
|
||||
b = digitalRead(BUTTON1);
|
||||
if (b != b1) {
|
||||
USBTRACE("\r\nButton state changed");
|
||||
msg[1] = 0;
|
||||
msg[2] = b ? 0 : 1;
|
||||
rcode = adk.SndData( 3, msg );
|
||||
if( rcode ) {
|
||||
USBTRACE2("Button send: ", rcode );
|
||||
}
|
||||
b1 = b;
|
||||
}//if (b != b1...
|
||||
|
||||
|
||||
delay( 10 );
|
||||
}
|
||||
Reference in New Issue
Block a user