mirror of
https://git.mirrors.martin98.com/https://github.com/luc-github/ESP3D.git
synced 2025-08-12 04:29:00 +08:00
Fix #13 "wait" issue for pipe going to dead loop
Fix % not showing during FW update on lcd status
This commit is contained in:
parent
86cd23cfea
commit
3dae051e0c
@ -26,7 +26,12 @@
|
||||
#define SMOOTHIEWARE 4
|
||||
|
||||
//FIRMWARE_TARGET: the targeted FW, can be REPETIER (Original Repetier)/ REPETIER4DV (Repetier for Davinci) / MARLIN (Marlin)/ SMOOTHIEWARE (Smoothieware)
|
||||
#define FIRMWARE_TARGET REPETIER
|
||||
#define FIRMWARE_TARGET REPETIER4DV
|
||||
|
||||
//Depending of your printer FW configuration you may have a permanent wait identifier
|
||||
//sent when printer is idle that can cause trouble
|
||||
//uncomment and set value to overload default setting
|
||||
//#define PURGE_SERIAL 1
|
||||
|
||||
//number of clients allowed to use data port at once
|
||||
#define MAX_SRV_CLIENTS 1
|
||||
@ -46,7 +51,7 @@
|
||||
#define CAPTIVE_PORTAL_FEATURE
|
||||
|
||||
//AUTHENTICATION_FEATURE: protect pages by login password
|
||||
#define AUTHENTICATION_FEATURE
|
||||
//#define AUTHENTICATION_FEATURE
|
||||
|
||||
//WEB_UPDATE_FEATURE: allow to flash fw using web UI
|
||||
#define WEB_UPDATE_FEATURE
|
||||
@ -86,6 +91,14 @@
|
||||
//FLOW_MONITORING_FEATURE : catch the specific answer and store it to variable
|
||||
#define FLOW_MONITORING_FEATURE
|
||||
|
||||
//default seting for purge serial define
|
||||
#ifndef PURGE_SERIAL
|
||||
#if ((FIRMWARE_TARGET == REPETIER) || (FIRMWARE_TARGET == REPETIER4DV))
|
||||
#define PURGE_SERIAL 0
|
||||
#else
|
||||
#define PURGE_SERIAL 1
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//DEBUG Flag do not do this when connected to printer !!!
|
||||
//#define DEBUG_ESP3D
|
||||
|
@ -2707,7 +2707,11 @@ void WebUpdateUpload()
|
||||
if(!Update.begin(maxSketchSpace)) { //start with max available size
|
||||
web_interface->_upload_status=UPLOAD_STATUS_CANCELLED;
|
||||
} else {
|
||||
#if (( FIRMWARE_TARGET == REPETIER4DV) || (FIRMWARE_TARGET == REPETIER))
|
||||
Serial.println(F("M117 Update 0%%"));
|
||||
#else
|
||||
Serial.println(F("M117 Update 0%"));
|
||||
#endif
|
||||
}
|
||||
//Upload write
|
||||
//**************
|
||||
@ -2719,7 +2723,11 @@ void WebUpdateUpload()
|
||||
last_upload_update = (100 * upload.totalSize) / maxSketchSpace;
|
||||
Serial.print(F("M117 Update "));
|
||||
Serial.print(last_upload_update);
|
||||
#if (( FIRMWARE_TARGET == REPETIER4DV) || (FIRMWARE_TARGET == REPETIER))
|
||||
Serial.println(F("%%"));
|
||||
#else
|
||||
Serial.println(F("%"));
|
||||
#endif
|
||||
}
|
||||
if(Update.write(upload.buf, upload.currentSize) != upload.currentSize) {
|
||||
web_interface->_upload_status=UPLOAD_STATUS_CANCELLED;
|
||||
@ -2730,7 +2738,11 @@ void WebUpdateUpload()
|
||||
} else if(upload.status == UPLOAD_FILE_END) {
|
||||
if(Update.end(true)) { //true to set the size to the current progress
|
||||
//Now Reboot
|
||||
#if (( FIRMWARE_TARGET == REPETIER4DV) || (FIRMWARE_TARGET == REPETIER))
|
||||
Serial.println(F("M117 Update 100%%"));
|
||||
#else
|
||||
Serial.println(F("M117 Update 100%"));
|
||||
#endif
|
||||
web_interface->_upload_status=UPLOAD_STATUS_SUCCESSFUL;
|
||||
}
|
||||
} else if(upload.status == UPLOAD_FILE_ABORTED) {
|
||||
@ -3392,6 +3404,7 @@ void handle_web_command(){
|
||||
//block every query
|
||||
web_interface->blockserial = true;
|
||||
LOG("Block Serial\r\n")
|
||||
#if (PURGE_SERIAL == 1)
|
||||
//empty the serial buffer and incoming data
|
||||
LOG("Start PurgeSerial\r\n")
|
||||
while(Serial.available()){
|
||||
@ -3399,18 +3412,21 @@ void handle_web_command(){
|
||||
delay(1);
|
||||
}
|
||||
LOG("End PurgeSerial\r\n")
|
||||
#endif
|
||||
web_interface->WebServer.setContentLength(CONTENT_LENGTH_UNKNOWN);
|
||||
web_interface->WebServer.send(200);
|
||||
web_interface->WebServer.sendHeader("Content-Type","text/plain");
|
||||
web_interface->WebServer.sendHeader("Cache-Control","no-cache");
|
||||
//send command
|
||||
LOG(String(cmd.length()))
|
||||
#if (PURGE_SERIAL == 1)
|
||||
LOG("Start PurgeSerial\r\n")
|
||||
while(Serial.available()){
|
||||
BRIDGE::processFromSerial2TCP();
|
||||
delay(1);
|
||||
}
|
||||
LOG("End PurgeSerial\r\n")
|
||||
#endif
|
||||
LOG("Send Command\r\n")
|
||||
Serial.println(cmd);
|
||||
count = 0;
|
||||
@ -3439,7 +3455,7 @@ void handle_web_command(){
|
||||
//get line
|
||||
current_line = current_buffer.substring(0,current_buffer.indexOf("\n"));
|
||||
//if line is command acck - just exit so save the time out period
|
||||
if ((current_line.indexOf("ok" ) == 0) && (current_line.length() == 2))
|
||||
if ((current_line == "ok") || (current_line == "wait"))
|
||||
{
|
||||
count = MAX_TRY;
|
||||
LOG("Found ok\r\n")
|
||||
@ -3450,8 +3466,13 @@ void handle_web_command(){
|
||||
LOG("\r\n")
|
||||
//check command
|
||||
COMMAND::check_command(current_line,false);
|
||||
buffer2send +=current_line;
|
||||
buffer2send +="\n";
|
||||
#if ((FIRMWARE_TARGET == REPETIER) || (FIRMWARE_TARGET == REPETIER4DV))
|
||||
if ((current_line != "ok 0"))
|
||||
#endif
|
||||
{
|
||||
buffer2send +=current_line;
|
||||
buffer2send +="\n";
|
||||
}
|
||||
if (buffer2send.length() > 1200) {
|
||||
web_interface->WebServer.sendContent(buffer2send);
|
||||
buffer2send = "";
|
||||
@ -3471,12 +3492,14 @@ void handle_web_command(){
|
||||
}
|
||||
if (!datasent)web_interface->WebServer.sendContent(" \r\n");
|
||||
web_interface->WebServer.sendContent("");
|
||||
#if (PURGE_SERIAL == 1)
|
||||
LOG("Start PurgeSerial\r\n")
|
||||
while(Serial.available()){
|
||||
BRIDGE::processFromSerial2TCP();
|
||||
delay(1);
|
||||
}
|
||||
LOG("End PurgeSerial\r\n")
|
||||
#endif
|
||||
web_interface->blockserial = false;
|
||||
LOG("Release Serial\r\n")
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user