add input neopixel leds and fix stuck key
This commit is contained in:
parent
80b4d1df3e
commit
e8918d88e8
2 changed files with 56 additions and 11 deletions
|
@ -24,10 +24,12 @@ lib_deps =
|
|||
|
||||
|
||||
build_flags =
|
||||
-D PIXELPIN=4
|
||||
-D NUMPIXELS=600
|
||||
-D PIXELPIN=10
|
||||
-D NUMPIXELS=4
|
||||
-D CHANNEL=1
|
||||
|
||||
|
||||
|
||||
-D PIN_IN1=14
|
||||
-D PIN_IN2=13
|
||||
-D PIN_IN3=12
|
||||
|
|
|
@ -16,6 +16,14 @@
|
|||
Adafruit_NeoPixel statuspixel(1, PIN_NEOPIXEL, NEO_GRB + NEO_KHZ800);
|
||||
#endif
|
||||
|
||||
#ifdef PIXELPIN
|
||||
Adafruit_NeoPixel pixel(NUMPIXELS, PIXELPIN, NEO_GRB + NEO_KHZ800); //pixels for input channels
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifndef ARDUINO_USB_MODE
|
||||
#error This ESP32 SoC has no Native USB interface
|
||||
|
@ -32,9 +40,9 @@ USBHIDKeyboard Keyboard;
|
|||
|
||||
uint32_t controllercolors[]={\
|
||||
statuspixel.Color(255, 0,0),\
|
||||
statuspixel.Color(0, 255,0),\
|
||||
statuspixel.Color(0,0, 255),\
|
||||
statuspixel.Color(255, 0,255)\
|
||||
statuspixel.Color(0, 0,255),\
|
||||
statuspixel.Color(255,255, 0),\
|
||||
statuspixel.Color(100, 100,100)\
|
||||
};
|
||||
|
||||
uint8_t keyassignments[NUM_CONTROLLERS][INPUT_SIZE];
|
||||
|
@ -99,24 +107,55 @@ void setup() {
|
|||
//Flash colors for debug
|
||||
statuspixel.setPixelColor(0, statuspixel.Color(255, 0,0));
|
||||
statuspixel.show();
|
||||
delay(250);
|
||||
delay(100);
|
||||
statuspixel.setPixelColor(0, statuspixel.Color(0, 255,0));
|
||||
statuspixel.show();
|
||||
delay(250);
|
||||
delay(100);
|
||||
statuspixel.setPixelColor(0, statuspixel.Color(0, 0,255));
|
||||
statuspixel.show();
|
||||
delay(250);
|
||||
delay(100);
|
||||
statuspixel.clear();
|
||||
statuspixel.show();
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef PIXELPIN
|
||||
pixel.begin();
|
||||
pixel.setBrightness(100); // not so bright
|
||||
pixel.clear();
|
||||
|
||||
//Flash colors for debug
|
||||
for (uint8_t i=0;i<NUMPIXELS;i++) {
|
||||
pixel.setPixelColor(i, pixel.Color(255, 255,255));
|
||||
pixel.show();
|
||||
delay(100);
|
||||
pixel.clear();
|
||||
}
|
||||
pixel.clear();
|
||||
pixel.show();
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
Serial.println("Started");
|
||||
|
||||
Keyboard.begin();
|
||||
USB.begin();
|
||||
|
||||
bool usbresult=USB.begin();
|
||||
if (!usbresult) {
|
||||
for (uint8_t i=0;i<5;i++) {
|
||||
statuspixel.setPixelColor(0, statuspixel.Color(255, 100,0));
|
||||
statuspixel.show();
|
||||
delay(100);
|
||||
statuspixel.clear();
|
||||
statuspixel.show();
|
||||
delay(100);
|
||||
}
|
||||
}else{
|
||||
statuspixel.setPixelColor(0, statuspixel.Color(0, 255,0));
|
||||
statuspixel.show();
|
||||
delay(500);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -135,12 +174,16 @@ void loop() {
|
|||
if (in[i]!=in_last_wired[i] && loopmillis-last_in_time[i]>=DEBOUNCETIME_WIRED) { //changed?
|
||||
if (!in[i]) {
|
||||
Keyboard.pressRaw(keyassignmentsWired[i]);
|
||||
pixel.setPixelColor(i, pixel.Color(0,0,0));
|
||||
}else{
|
||||
Keyboard.releaseRaw(keyassignmentsWired[i]);
|
||||
pixel.setPixelColor(i, controllercolors[i]);
|
||||
}
|
||||
pixel.show();
|
||||
last_in_time[i]=millis();
|
||||
in_last_wired[i]=in[i];
|
||||
}
|
||||
in_last_wired[i]=in[i];
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue