Compare commits
2 Commits
5a82d0d988
...
579d28e34b
Author | SHA1 | Date |
---|---|---|
BodgeMaster | 579d28e34b | |
BodgeMaster | 5cc71d5ff5 |
|
@ -108,6 +108,7 @@ void runCommand(){
|
||||||
String mode;
|
String mode;
|
||||||
uint8_t pin;
|
uint8_t pin;
|
||||||
String state;
|
String state;
|
||||||
|
uint8_t pwmState;
|
||||||
switch ((char)command) {
|
switch ((char)command) {
|
||||||
case 'R': // run setup() again
|
case 'R': // run setup() again
|
||||||
Serial.print("R");
|
Serial.print("R");
|
||||||
|
@ -195,11 +196,6 @@ void runCommand(){
|
||||||
Serial.print("s");
|
Serial.print("s");
|
||||||
return;
|
return;
|
||||||
case 'r': // read digital value
|
case 'r': // read digital value
|
||||||
/*bug:
|
|
||||||
The following "r" (or any other text you may put there) will never get printed despite this code branch being executed. Don’t ask me why or how.
|
|
||||||
Tested on Linux Mint 20.1, Arduino IDE version 2:1.0.5+dfsg2-4.1
|
|
||||||
Tested with Arduino Uno and Nano 328P
|
|
||||||
*/
|
|
||||||
Serial.print("r");
|
Serial.print("r");
|
||||||
pin = waitForSerialInput(2).toInt();
|
pin = waitForSerialInput(2).toInt();
|
||||||
if (pin >= NUM_DIGITAL_PINS) Serial.print("e");
|
if (pin >= NUM_DIGITAL_PINS) Serial.print("e");
|
||||||
|
@ -223,6 +219,43 @@ void runCommand(){
|
||||||
Serial.print("e");
|
Serial.print("e");
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
case 'p': // set a pwm pin
|
||||||
|
Serial.print("p");
|
||||||
|
pin = waitForSerialInput(2).toInt();
|
||||||
|
pwmState = waitForSerialInput(3).toInt();
|
||||||
|
if (digitalPinHasPWM(pin)) {
|
||||||
|
analogWrite(pin, pwmState);
|
||||||
|
Serial.print("s");
|
||||||
|
} else {
|
||||||
|
Serial.print("e");
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
case 't': // toggle a pin
|
||||||
|
Serial.print("t");
|
||||||
|
if (toggleState(waitForSerialInput(2).toInt())==UNKNOWN_PIN) Serial.print("e");
|
||||||
|
else Serial.print("s");
|
||||||
|
return;
|
||||||
|
case 'l':
|
||||||
|
Serial.print("l");
|
||||||
|
state = waitForSerialInput(1);
|
||||||
|
if (state=="h") {
|
||||||
|
digitalWrite(LED_BUILTIN, HIGH);
|
||||||
|
Serial.print("s");
|
||||||
|
} else if (state=="l") {
|
||||||
|
digitalWrite(LED_BUILTIN, LOW);
|
||||||
|
Serial.print("s");
|
||||||
|
} else if (state=="t") {
|
||||||
|
toggleState(LED_BUILTIN);
|
||||||
|
Serial.print("s");
|
||||||
|
} else {
|
||||||
|
Serial.print("e");
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
case 'q':
|
||||||
|
Serial.print("qs");
|
||||||
|
while (true) {
|
||||||
|
}
|
||||||
|
return;
|
||||||
default:
|
default:
|
||||||
Serial.print("e");
|
Serial.print("e");
|
||||||
}
|
}
|
||||||
|
@ -247,7 +280,6 @@ void setup(){
|
||||||
Serial.read();
|
Serial.read();
|
||||||
}
|
}
|
||||||
Serial.print("s\r\n");
|
Serial.print("s\r\n");
|
||||||
// testing
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop(){
|
void loop(){
|
||||||
|
|
Loading…
Reference in New Issue