farm mode: printer sends farm number and status, no ping acoustic allert
This commit is contained in:
parent
608717d110
commit
7ad319a16a
3 changed files with 58 additions and 25 deletions
|
@ -5,7 +5,7 @@
|
|||
#include "Configuration_prusa.h"
|
||||
|
||||
// Firmware version
|
||||
#define FW_version "3.0.10-5"
|
||||
#define FW_version "3.0.10-6"
|
||||
|
||||
#define FW_PRUSA3D_MAGIC "PRUSA3DFW"
|
||||
#define FW_PRUSA3D_MAGIC_LEN 10
|
||||
|
|
|
@ -1962,7 +1962,7 @@ void process_commands()
|
|||
if (code_seen("Ping")) { //PRUSA Ping
|
||||
if (farm_mode) {
|
||||
PingTime = millis();
|
||||
MYSERIAL.print(farm_no); MYSERIAL.println(": OK");
|
||||
//MYSERIAL.print(farm_no); MYSERIAL.println(": OK");
|
||||
}
|
||||
}
|
||||
else if (code_seen("PRN")) {
|
||||
|
|
|
@ -152,6 +152,7 @@ static void lcd_control_motion_menu();
|
|||
static void lcd_control_volumetric_menu();
|
||||
|
||||
static void prusa_stat_printerstatus(int _status);
|
||||
static void prusa_stat_farm_number();
|
||||
static void prusa_stat_temperatures();
|
||||
static void prusa_stat_printinfo();
|
||||
static void lcd_farm_no();
|
||||
|
@ -1891,19 +1892,18 @@ void prusa_statistics(int _message) {
|
|||
{
|
||||
SERIAL_ECHO("{");
|
||||
prusa_stat_printerstatus(4);
|
||||
status_number = 4;
|
||||
prusa_stat_farm_number();
|
||||
prusa_stat_printinfo();
|
||||
SERIAL_ECHOLN("}");
|
||||
status_number = 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
SERIAL_ECHO("{");
|
||||
prusa_stat_printerstatus(1);
|
||||
status_number = 1;
|
||||
SERIAL_ECHO("[PFN:");
|
||||
SERIAL_ECHO(farm_no);
|
||||
SERIAL_ECHO("]");
|
||||
prusa_stat_farm_number();
|
||||
SERIAL_ECHOLN("}");
|
||||
status_number = 1;
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -1911,8 +1911,9 @@ void prusa_statistics(int _message) {
|
|||
farm_status = 2;
|
||||
SERIAL_ECHO("{");
|
||||
prusa_stat_printerstatus(2);
|
||||
status_number = 2;
|
||||
prusa_stat_farm_number();
|
||||
SERIAL_ECHOLN("}");
|
||||
status_number = 2;
|
||||
farm_timer = 1;
|
||||
break;
|
||||
|
||||
|
@ -1920,8 +1921,9 @@ void prusa_statistics(int _message) {
|
|||
farm_status = 3;
|
||||
SERIAL_ECHO("{");
|
||||
prusa_stat_printerstatus(3);
|
||||
status_number = 3;
|
||||
prusa_stat_farm_number();
|
||||
SERIAL_ECHOLN("}");
|
||||
status_number = 3;
|
||||
farm_timer = 1;
|
||||
|
||||
if (IS_SD_PRINTING)
|
||||
|
@ -1929,15 +1931,17 @@ void prusa_statistics(int _message) {
|
|||
farm_status = 4;
|
||||
SERIAL_ECHO("{");
|
||||
prusa_stat_printerstatus(4);
|
||||
status_number = 4;
|
||||
prusa_stat_farm_number();
|
||||
SERIAL_ECHOLN("}");
|
||||
status_number = 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
SERIAL_ECHO("{");
|
||||
prusa_stat_printerstatus(3);
|
||||
prusa_stat_farm_number();
|
||||
SERIAL_ECHOLN("}");
|
||||
status_number = 3;
|
||||
SERIAL_ECHOLN("}");;
|
||||
}
|
||||
farm_timer = 1;
|
||||
break;
|
||||
|
@ -1946,20 +1950,30 @@ void prusa_statistics(int _message) {
|
|||
|
||||
break;
|
||||
case 4: // print succesfull
|
||||
SERIAL_ECHOLN("{[RES:1]}");
|
||||
SERIAL_ECHOLN("{[RES:1]");
|
||||
prusa_stat_printerstatus(status_number);
|
||||
prusa_stat_farm_number();
|
||||
SERIAL_ECHOLN("}");
|
||||
farm_timer = 2;
|
||||
break;
|
||||
case 5: // print not succesfull
|
||||
SERIAL_ECHOLN("{[RES:0]}");
|
||||
SERIAL_ECHOLN("{[RES:0]");
|
||||
prusa_stat_printerstatus(status_number);
|
||||
prusa_stat_farm_number();
|
||||
SERIAL_ECHOLN("}");
|
||||
farm_timer = 2;
|
||||
break;
|
||||
case 6: // print done
|
||||
SERIAL_ECHOLN("{[PRN:8]}");
|
||||
SERIAL_ECHOLN("{[PRN:8]");
|
||||
prusa_stat_farm_number();
|
||||
SERIAL_ECHOLN("}");
|
||||
status_number = 8;
|
||||
farm_timer = 2;
|
||||
break;
|
||||
case 7: // print done - stopped
|
||||
SERIAL_ECHOLN("{[PRN:9]}");
|
||||
SERIAL_ECHOLN("{[PRN:9]");
|
||||
prusa_stat_farm_number();
|
||||
SERIAL_ECHOLN("}");
|
||||
status_number = 9;
|
||||
farm_timer = 2;
|
||||
break;
|
||||
|
@ -1971,32 +1985,45 @@ void prusa_statistics(int _message) {
|
|||
farm_timer = 2;
|
||||
break;
|
||||
case 20: // echo farm no
|
||||
SERIAL_ECHO("{[PFN:");
|
||||
SERIAL_ECHO(farm_no);
|
||||
SERIAL_ECHOLN("]}");
|
||||
SERIAL_ECHOLN("{");
|
||||
prusa_stat_printerstatus(status_number);
|
||||
prusa_stat_farm_number();
|
||||
SERIAL_ECHOLN("}");
|
||||
farm_timer = 5;
|
||||
break;
|
||||
case 21: // temperatures
|
||||
SERIAL_ECHO("{");
|
||||
prusa_stat_temperatures();
|
||||
prusa_stat_farm_number();
|
||||
prusa_stat_printerstatus(status_number);
|
||||
SERIAL_ECHOLN("}");
|
||||
break;
|
||||
case 22: // waiting for filament change
|
||||
SERIAL_ECHOLN("{[PRN:5]}");
|
||||
SERIAL_ECHOLN("{[PRN:5]");
|
||||
prusa_stat_farm_number();
|
||||
SERIAL_ECHOLN("}");
|
||||
status_number = 5;
|
||||
break;
|
||||
|
||||
case 90: // Error - Thermal Runaway
|
||||
SERIAL_ECHOLN("{[ERR:1]}");
|
||||
SERIAL_ECHOLN("{[ERR:1]");
|
||||
prusa_stat_farm_number();
|
||||
SERIAL_ECHOLN("}");
|
||||
break;
|
||||
case 91: // Error - Thermal Runaway Preheat
|
||||
SERIAL_ECHOLN("{[ERR:2]}");
|
||||
SERIAL_ECHOLN("{[ERR:2]");
|
||||
prusa_stat_farm_number();
|
||||
SERIAL_ECHOLN("}");
|
||||
break;
|
||||
case 92: // Error - Min temp
|
||||
SERIAL_ECHOLN("{[ERR:3]}");
|
||||
SERIAL_ECHOLN("{[ERR:3]");
|
||||
prusa_stat_farm_number();
|
||||
SERIAL_ECHOLN("}");
|
||||
break;
|
||||
case 93: // Error - Max temp
|
||||
SERIAL_ECHOLN("{[ERR:4]}");
|
||||
SERIAL_ECHOLN("{[ERR:4]");
|
||||
prusa_stat_farm_number();
|
||||
SERIAL_ECHOLN("}");
|
||||
break;
|
||||
|
||||
case 99: // heartbeat
|
||||
|
@ -2019,6 +2046,12 @@ static void prusa_stat_printerstatus(int _status)
|
|||
SERIAL_ECHO("]");
|
||||
}
|
||||
|
||||
static void prusa_stat_farm_number() {
|
||||
SERIAL_ECHO("[PFN:");
|
||||
SERIAL_ECHO(farm_no);
|
||||
SERIAL_ECHO("]");
|
||||
}
|
||||
|
||||
static void prusa_stat_temperatures()
|
||||
{
|
||||
SERIAL_ECHO("[ST0:");
|
||||
|
@ -4503,14 +4536,14 @@ void lcd_printer_connected() {
|
|||
printer_connected = true;
|
||||
}
|
||||
|
||||
void lcd_ping() {
|
||||
void lcd_ping() { //chceck if printer is connected to monitoring when in farm mode
|
||||
if (farm_mode) {
|
||||
bool empty = is_buffer_empty();
|
||||
if ((millis() - PingTime) * 0.001 > (empty ? PING_TIME : PING_TIME_LONG)) { //if commands buffer is empty use shorter time period
|
||||
//if there are comamnds in buffer, some long gcodes can delay execution of ping command
|
||||
//therefore longer period is used
|
||||
printer_connected = false;
|
||||
lcd_ping_allert();
|
||||
//lcd_ping_allert(); //acustic signals
|
||||
}
|
||||
else {
|
||||
lcd_printer_connected();
|
||||
|
|
Loading…
Add table
Reference in a new issue