123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- #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 );
- }
|