refactor debug key

main
radex 2024-02-21 20:42:47 +01:00
parent 7f08e847a1
commit 56de397afb
Signed by: radex
SSH Key Fingerprint: SHA256:hvqRXAGG1h89yqnS+cyFTLKQbzjWD4uXIqw7Y+0ws30
5 changed files with 46 additions and 26 deletions

View File

@ -40,3 +40,10 @@ void fatal() {
digitalWrite(LED_BUILTIN, LOW);
}
}
char getDebugKey() {
if (Serial.available() > 0) {
return Serial.read();
}
return 0;
}

View File

@ -3,3 +3,17 @@
void setupDebug();
void debugScanI2C();
void fatal();
/**
* Via serial:
*
* Keyboard:
* 01232456789
* abcd (ABCD)
* * / .
* # / Backspace
*
* Encoder: [ / ]
* Encoder switch: Space
*/
char getDebugKey();

View File

@ -133,39 +133,46 @@ uint8_t getPressedDigit(Key key) {
Key handleDebugKeyboard(char key) {
if (!key) {
return KEY_NONE;
} else if (key == '1') {
}
// keyboard: 123A 456B 789C *0#D
// debug keys: 1234567890, abcd, ABCD, *, #
// . -> *
// Backspace -> #
if (key == '1') {
return 0;
} else if (key == '2') {
return 1;
} else if (key == '3') {
return 2;
} else if (key == '4') {
} else if (key == 'a' || key == 'A') {
return 3;
} else if (key == 'q') {
} else if (key == '4') {
return 4;
} else if (key == 'w') {
} else if (key == '5') {
return 5;
} else if (key == 'e') {
} else if (key == '6') {
return 6;
} else if (key == 'r') {
} else if (key == 'b' || key == 'B') {
return 7;
} else if (key == 'a') {
} else if (key == '7') {
return 8;
} else if (key == 's') {
} else if (key == '8') {
return 9;
} else if (key == 'd') {
} else if (key == '9') {
return 10;
} else if (key == 'f') {
} else if (key == 'c' || key == 'C') {
return 11;
} else if (key == 'z') {
} else if (key == '*' || key == '.') {
return 12;
} else if (key == 'x') {
} else if (key == '0') {
return 13;
} else if (key == 'c') {
} else if (key == '#' || (int) key == 8 /* Backspace */) {
return 14;
} else if (key == 'v') {
} else if (key == 'd' || key == 'D') {
return 15;
} else {
return KEY_NONE;
}
return KEY_NONE;
}

View File

@ -31,13 +31,4 @@ Key handleKeyboard();
*/
uint8_t getPressedDigit(Key key);
/*
1234
QWER
ASDF
ZXCV
*/
Key handleDebugKeyboard(char key);

View File

@ -35,7 +35,8 @@ unsigned long lastStepperDemoMillis = 0;
void loop() {
debugScanI2C();
char debugKey = Serial.available() > 0 ? Serial.read() : 0;
char debugKey = getDebugKey();
if (debugKey == '1') {
setStepperEnabled(true);
} else if (debugKey == '2') {