Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Firmware/Marlin_main.cpp35
-rw-r--r--Firmware/ultralcd.cpp13
2 files changed, 43 insertions, 5 deletions
diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp
index 00659efd9..0eedde5fb 100644
--- a/Firmware/Marlin_main.cpp
+++ b/Firmware/Marlin_main.cpp
@@ -228,6 +228,8 @@
CardReader card;
#endif
+unsigned long TimeSent = millis();
+unsigned long TimeNow = millis();
union Data
{
@@ -1122,6 +1124,9 @@ void get_command()
while (MYSERIAL.available() > 0) {
char serial_char = MYSERIAL.read();
+ TimeSent = millis();
+ TimeNow = millis();
+
if (serial_char < 0)
// Ignore extended ASCII characters. These characters have no meaning in the G-code apart from the file names
// and Marlin does not support such file names anyway.
@@ -1247,6 +1252,23 @@ void get_command()
}
} // end of serial line processing loop
+ if(farm_mode){
+ TimeNow = millis();
+ if ( ((TimeNow - TimeSent) > 800) && (serial_count > 0) ) {
+ cmdbuffer[bufindw+serial_count+1] = 0;
+
+ bufindw += strlen(cmdbuffer+bufindw+1) + 2;
+ if (bufindw == sizeof(cmdbuffer))
+ bufindw = 0;
+ ++ buflen;
+
+ serial_count = 0;
+
+ SERIAL_ECHOPGM("TIMEOUT:");
+ //memset(cmdbuffer, 0 , sizeof(cmdbuffer));
+ return;
+ }
+ }
#ifdef SDSUPPORT
if(!card.sdprinting || serial_count!=0){
@@ -4342,6 +4364,14 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
{
st_synchronize();
+ if (farm_mode)
+
+ {
+
+ prusa_statistics(22);
+
+ }
+
feedmultiplyBckp=feedmultiply;
int8_t TooLowZ = 0;
float target[4];
@@ -4922,8 +4952,9 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) //default argument s
const int KILL_DELAY = 10000;
#endif
- if(buflen < (BUFSIZE-1))
- get_command();
+ if(buflen < (BUFSIZE-1)){
+ get_command();
+ }
if( (millis() - previous_millis_cmd) > max_inactive_time )
if(max_inactive_time)
diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp
index 2da15dda8..2629073c0 100644
--- a/Firmware/ultralcd.cpp
+++ b/Firmware/ultralcd.cpp
@@ -1811,9 +1811,16 @@ void prusa_statistics(int _message) {
prusa_stat_temperatures();
SERIAL_ECHOLN("}");
break;
- case 99: // heartbeat
- SERIAL_ECHOLN("{[PRN:99]}");
- break;
+ case 22: // waiting for filament change
+ SERIAL_ECHOLN("{[PRN:5]}");
+ break;
+
+ case 99: // heartbeat
+ SERIAL_ECHO("{[PRN:99]");
+ prusa_stat_temperatures();
+ SERIAL_ECHOLN("}");
+
+ break;
}
}