finished implementation
parent
5a82d0d988
commit
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");
|
||||||
|
@ -194,35 +195,72 @@ void runCommand(){
|
||||||
Serial.print(analogRead(analogInputToDigitalPin(analogPin)));
|
Serial.print(analogRead(analogInputToDigitalPin(analogPin)));
|
||||||
Serial.print("s");
|
Serial.print("s");
|
||||||
return;
|
return;
|
||||||
case 'r': // read digital value
|
case 'r': // read digital value
|
||||||
/*bug:
|
/*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.
|
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 on Linux Mint 20.1, Arduino IDE version 2:1.0.5+dfsg2-4.1
|
||||||
Tested with Arduino Uno and Nano 328P
|
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");
|
||||||
else {
|
else {
|
||||||
Serial.print(digitalRead(pin));
|
Serial.print(digitalRead(pin));
|
||||||
Serial.print("s");
|
Serial.print("s");
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
case 'w': // write digital pin
|
case 'w': // write digital pin
|
||||||
Serial.print("w");
|
Serial.print("w");
|
||||||
pin = waitForSerialInput(2).toInt();
|
pin = waitForSerialInput(2).toInt();
|
||||||
state = waitForSerialInput(1);
|
state = waitForSerialInput(1);
|
||||||
if (pin >= NUM_DIGITAL_PINS) Serial.print("e");
|
if (pin >= NUM_DIGITAL_PINS) Serial.print("e");
|
||||||
else if (state == "h") {
|
else if (state == "h") {
|
||||||
digitalWrite(pin, HIGH);
|
digitalWrite(pin, HIGH);
|
||||||
Serial.print("s");
|
Serial.print("s");
|
||||||
} else if (state == "l") {
|
} else if (state == "l") {
|
||||||
digitalWrite(pin, LOW);
|
digitalWrite(pin, LOW);
|
||||||
Serial.print("s");
|
Serial.print("s");
|
||||||
} else {
|
} else {
|
||||||
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 +285,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