stanleyvc1
Member
Is it possible to send data directly to a VID / PID device?
Thanks.
Thanks.
#include "USBHost_t36.h"
USBHost myusb;
USBHub hub1(myusb);
KeyboardController keyboard1(myusb);
KeyboardController keyboard2(myusb);
USBHIDParser hid1(myusb);
USBHIDParser hid2(myusb);
void setup() {
while (!Serial) ; // wait for Arduino Serial Monitor
myusb.begin();
keyboard1.attachPress(OnPress);
keyboard2.attachPress(OnPress);
delay (1000);
Serial.println("==================================================================================");
uint8_t rpt[33];
rpt[0] = 180; // Set Frequency of Flash
rpt[1] = 100;
hid1.sendPacket(rpt,-1);
delay(100);
rpt[0] = 187; // Set brightest.
rpt[1] = 200;
hid1.sendPacket(rpt);
delay(100);
rpt[0] = 179; // Set LED red.
rpt[1] = 7;
rpt[2] = 1;
hid1.sendPacket(rpt);
delay(2000);
rpt[0] = 179; // Set LED green.
rpt[1] = 6;
rpt[2] = 0;
hid1.sendPacket(rpt);
delay(2000);
rpt[0] = 179; // Set LED red blink.
rpt[1] = 7;
rpt[2] = 2;
hid1.sendPacket(rpt);
delay(2000);
Serial.println("==================================================================================");
}
uint8_t i, m = 1;
unsigned long mmillis = 0;
void loop(){
myusb.Task();
if (millis() > mmillis) {
mmillis = millis() + 500;
uint8_t rpt[33];
uint8_t keyId = i;
uint8_t mode = m;
rpt[0] = 181;
rpt[1] = keyId + (2 * (keyId / 6));
rpt[2] = mode;
hid1.sendPacket(rpt);
i++;
if (i == 16) {
i = 0;
m++;
if (m == 3) m = 0;
}
}
}
void OnPress(int key)
{
Serial.print("key '");
Serial.print((char)key);
Serial.print("' ");
Serial.println(key);
}