Proof of concept works. Nano can proxy requests to ESP32 via soft serial and then receives confirmation after event. Nano has a cleaner serial interface and will not throw junk into mcopy app serial listener.
This commit is contained in:
parent
3feaea74bf
commit
dd03583a27
|
@ -6,3 +6,5 @@ node_modules
|
||||||
dist
|
dist
|
||||||
|
|
||||||
*.svd
|
*.svd
|
||||||
|
*debug_custom.json
|
||||||
|
*debug.cfg
|
|
@ -20,6 +20,7 @@ void loop () {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cmd == 'x') {
|
if (cmd == 'x') {
|
||||||
Serial2.print('x');
|
Serial2.print(cmd);
|
||||||
}
|
}
|
||||||
|
cmd = 'z';
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,26 +5,36 @@
|
||||||
|
|
||||||
SoftwareSerial softPort(SOFTWARE_RX, SOFTWARE_TX);
|
SoftwareSerial softPort(SOFTWARE_RX, SOFTWARE_TX);
|
||||||
|
|
||||||
|
volatile char proxy = 'z';
|
||||||
volatile char cmd = 'z';
|
volatile char cmd = 'z';
|
||||||
volatile long now;
|
|
||||||
volatile long start;
|
|
||||||
|
|
||||||
void setup () {
|
void setup () {
|
||||||
|
Serial.begin(57600);
|
||||||
softPort.begin(9600);
|
softPort.begin(9600);
|
||||||
start = millis();
|
|
||||||
pinMode(LED_BUILTIN, OUTPUT);
|
pinMode(LED_BUILTIN, OUTPUT);
|
||||||
}
|
}
|
||||||
|
//////
|
||||||
|
// Sending an x character to the nano over
|
||||||
|
// Serial will proxy it to the ESP32 over SoftSerial
|
||||||
|
// which will reflect it back to the Nano
|
||||||
|
// and will turn on the built-in LED. Proof of
|
||||||
|
// concept round trip
|
||||||
|
//////
|
||||||
void loop () {
|
void loop () {
|
||||||
now = millis();
|
if (Serial.available() > 0) {
|
||||||
|
proxy = Serial.read();
|
||||||
|
softPort.print(proxy);
|
||||||
|
}
|
||||||
if (softPort.available() > 0) {
|
if (softPort.available() > 0) {
|
||||||
cmd = softPort.read();
|
cmd = softPort.read();
|
||||||
}
|
}
|
||||||
|
if (cmd != 'z') {
|
||||||
|
Serial.println(cmd);
|
||||||
|
}
|
||||||
if (cmd == 'x') {
|
if (cmd == 'x') {
|
||||||
digitalWrite(LED_BUILTIN, HIGH);
|
digitalWrite(LED_BUILTIN, HIGH);
|
||||||
}
|
}
|
||||||
if (now >= start + 5000) {
|
cmd = 'z';
|
||||||
softPort.print('x');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue