Test mode: speed up color cycling and implement matrix testing

pull/62/head
Jesse Vincent 8 years ago
parent b5cfe95e51
commit 8fc7eb7727

@ -4,6 +4,11 @@
static LEDRainbowEffect testRainbowEffect; static LEDRainbowEffect testRainbowEffect;
cRGB red;
cRGB blue;
#define LED_TEST_DELAY 2000
TestMode_::TestMode_(void) { TestMode_::TestMode_(void) {
} }
@ -11,40 +16,39 @@ void TestMode_::TestLEDs(void) {
// make all LEDs dim red // make all LEDs dim red
LEDControl.set_all_leds_to(50,0,0); LEDControl.set_all_leds_to(50,0,0);
led_sync(); led_sync();
delay(1000); delay(LED_TEST_DELAY);
// make all LEDs dim blue // make all LEDs dim blue
LEDControl.set_all_leds_to(0,50,0); LEDControl.set_all_leds_to(0,50,0);
led_sync(); led_sync();
delay(1000); delay(LED_TEST_DELAY);
// make all LEDs dim green // make all LEDs dim green
LEDControl.set_all_leds_to(0,0,50); LEDControl.set_all_leds_to(0,0,50);
led_sync(); led_sync();
delay(1000); delay(LED_TEST_DELAY);
// make all LEDs dim white // make all LEDs dim white
LEDControl.set_all_leds_to(50,50,50); LEDControl.set_all_leds_to(50,50,50);
led_sync(); led_sync();
delay(1000); delay(LED_TEST_DELAY);
// make all the LEDs bright red // make all the LEDs bright red
LEDControl.set_all_leds_to(200,0,0); LEDControl.set_all_leds_to(200,0,0);
led_sync(); led_sync();
delay(1000); delay(LED_TEST_DELAY);
// make all the LEDs bright green // make all the LEDs bright green
LEDControl.set_all_leds_to(0,200,0); LEDControl.set_all_leds_to(0,200,0);
led_sync(); led_sync();
delay(1000); delay(LED_TEST_DELAY);
// make all the LEDs bright blue // make all the LEDs bright blue
LEDControl.set_all_leds_to(0,0,200); LEDControl.set_all_leds_to(0,0,200);
led_sync(); led_sync();
delay(1000); delay(LED_TEST_DELAY);
// make all the LEDs bright white (1.6A) // make all the LEDs bright white (1.6A)
LEDControl.set_all_leds_to(160,160,160); LEDControl.set_all_leds_to(160,160,160);
led_sync(); led_sync();
delay(1000); delay(LED_TEST_DELAY);
// rainbow for 10 seconds // rainbow for 10 seconds
for(auto i=0; i<10000; i++ ) { for(auto i=0; i<1000; i++ ) {
testRainbowEffect.update(); testRainbowEffect.update();
led_sync(); led_sync();
delay(1);
} }
// set all the keys to red // set all the keys to red
LEDControl.set_all_leds_to(50,0,0); LEDControl.set_all_leds_to(50,0,0);
@ -56,14 +60,57 @@ void TestMode_::TestLEDs(void) {
void TestMode_::TestMatrix () { void TestMode_::TestMatrix () {
while(1) {
KeyboardHardware.read_matrix(); KeyboardHardware.read_matrix();
for (byte row = 0; row < 4; row++) {
for (byte col = 0; col < 8; col++) {
uint8_t keynum = (row*8)+(col);
uint8_t keyState = (bitRead(KeyboardHardware.previousLeftHandState.all, keynum) << 0) |
(bitRead(KeyboardHardware.leftHandState.all, keynum) << 1);
if(keyState ==3 ) {
Serial.print(" Key: ");
Serial.print(keynum);
Serial.print(" value ");
Serial.println(keyState);
KeyboardHardware.led_set_crgb_at(row, 7-col, red);
} else if (keyState ==1) {
KeyboardHardware.led_set_crgb_at(row,7-col, blue);
}
keyState = (bitRead(KeyboardHardware.previousRightHandState.all, keynum) << 0) |
(bitRead(KeyboardHardware.rightHandState.all, keynum) << 1);
if(keyState ==3 ) {
Serial.print(" Key: ");
Serial.print(keynum);
Serial.print(" value ");
Serial.println(keyState);
KeyboardHardware.led_set_crgb_at(row, 15-col, red);
} else if (keyState ==1) {
KeyboardHardware.led_set_crgb_at(row,15-col, blue);
}
}
}
KeyboardHardware.led_sync();
}
} }
void TestMode_::setup() { void TestMode_::setup() {
red.r=101;
blue.b=101;
// TestLEDs();
eventHandlers[0] = handle_key_event_test; eventHandlers[0] = handle_key_event_test;
} }
void TestMode_::loop() {
TestMatrix();
}
bool handle_key_event_test(Key mappedKey, byte row, byte col, uint8_t keyState) { bool handle_key_event_test(Key mappedKey, byte row, byte col, uint8_t keyState) {
Serial.write(row); Serial.write(row);
return false; return false;

@ -5,12 +5,13 @@ class TestMode_ {
public: public:
TestMode_(void); TestMode_(void);
void setup(); void setup();
void loop();
private:
void TestLEDs(); void TestLEDs();
void TestKeys(); void TestKeys();
void TestMatrix(); void TestMatrix();
void TestOneKey(); void TestOneKey();
private:
}; };
extern TestMode_ TestMode; extern TestMode_ TestMode;

Loading…
Cancel
Save