Small tweaks

main
Dan 2021-07-27 07:13:30 -06:00
parent e922a49a18
commit 7a0cc44a26
1 changed files with 17 additions and 14 deletions

View File

@ -8,7 +8,7 @@
#include <esp_task_wdt.h> #include <esp_task_wdt.h>
#define WDT_TIMEOUT 600 #define WDT_TIMEOUT 10
#define XFER_CHUNK_SIZE 256 #define XFER_CHUNK_SIZE 256
#define SERIAL_TCP_PORT 8880 #define SERIAL_TCP_PORT 8880
@ -62,11 +62,12 @@ void setup() {
int last = millis(); int last = millis();
void loop() { void loop() {
ArduinoOTA.handle(); ArduinoOTA.handle();
// resetting WDT every 2s
if (millis() - last >= 2000) { // resetting WDT every 1s
Serial.println("Resetting WDT..."); if (millis() - last >= 1000) {
esp_task_wdt_reset(); Serial.println("Resetting WDT...");
last = millis(); esp_task_wdt_reset();
last = millis();
} }
WiFiClient client = wifiServer.available(); WiFiClient client = wifiServer.available();
if (client) { if (client) {
@ -76,7 +77,7 @@ void loop() {
//Serial.println("Receiving data"); //Serial.println("Receiving data");
char c = client.read(); char c = client.read();
Serial2.write(c); Serial2.write(c);
if(bytes_sent++ > XFER_CHUNK_SIZE) { if (bytes_sent++ > XFER_CHUNK_SIZE) {
break; break;
} }
} }
@ -85,11 +86,11 @@ void loop() {
while (Serial2.available()) { while (Serial2.available()) {
//Serial.println("Sending data"); //Serial.println("Sending data");
client.write(Serial2.read()); client.write(Serial2.read());
if(bytes_recvd++ > XFER_CHUNK_SIZE) { if (bytes_recvd++ > XFER_CHUNK_SIZE) {
break; break;
} }
} }
if (millis() - last >= 2000) { if (millis() - last >= 1000) {
Serial.println("Resetting WDT..."); Serial.println("Resetting WDT...");
esp_task_wdt_reset(); esp_task_wdt_reset();
last = millis(); last = millis();
@ -99,24 +100,26 @@ void loop() {
client.stop(); client.stop();
Serial.println("Client disconnected"); Serial.println("Client disconnected");
delay(25); delay(25);
if(!client.connected()) { if (!client.connected()) {
int bytes_recvd = 0; int bytes_recvd = 0;
while (Serial2.available()) { while (Serial2.available()) {
//Serial.println("Sending data"); //Serial.println("Sending data");
Serial2.read(); Serial2.read();
if(bytes_recvd++ > XFER_CHUNK_SIZE) { if (bytes_recvd++ > XFER_CHUNK_SIZE) {
break; break;
} }
} }
} }
// Reboot after a disconnect, to get rid of any cruft
while(1);
} }
else { // Empty the serial port buffer if there's no client connected else { // Empty the serial port buffer if there's no client connected
int bytes_recvd = 0; int bytes_recvd = 0;
while (Serial2.available()) { while (Serial2.available()) {
//Serial.println("Sending data"); //Serial.println("Sending data");
Serial2.read(); Serial2.read();
if(bytes_recvd++ > XFER_CHUNK_SIZE) { if (bytes_recvd++ > XFER_CHUNK_SIZE) {
break; break;
} }
} }
} }