";
+const char STATUS_1[]PROGMEM ="
";
+
+const char PRINTER_1a[]PROGMEM ="
| | \n";
+const char PRINTER_1b[]PROGMEM =" |
|
\n";
+const char PRINTER_1c[]PROGMEM ="
| \n";
+const char PRINTER_1d[]PROGMEM =" \n";
+const char PRINTER_1e[]PROGMEM =" |
\n";
-const char PRINTER_1a[]PROGMEM ="
\n";
-const char PRINTER_1b[]PROGMEM ="
\n";
-const char PRINTER_1c[]PROGMEM ="
\n";
-const char PRINTER_1d[]PROGMEM ="
\n";
const char PRINTER_2[]PROGMEM ="
\n";
const char PRINTER_4[]PROGMEM ="\n";
-#define TEMP_SVG(temperature,description) buffer2send+=(PROGMEM2CHAR(TEMP_SVG_1));buffer2send+=(PROGMEM2CHAR(TEMP_SVG_2));buffer2send+=(PROGMEM2CHAR(TEMP_SVG_3));buffer2send+=(PROGMEM2CHAR(TEMP_SVG_4));buffer2send+=(PROGMEM2CHAR(TEMP_SVG_5));buffer2send+=String(temperature+5);buffer2send+=(PROGMEM2CHAR(TEMP_SVG_6));buffer2send+=String(temperature+15);buffer2send+=(PROGMEM2CHAR(TEMP_SVG_7));buffer2send+=String(temperature+10);buffer2send+=(PROGMEM2CHAR(TEMP_SVG_8));buffer2send+=String(temperature+5);buffer2send+=(PROGMEM2CHAR(TEMP_SVG_9));buffer2send+=String(temperature+15);buffer2send+=(PROGMEM2CHAR(TEMP_SVG_10));buffer2send+=String(temperature+10);buffer2send+=(PROGMEM2CHAR(TEMP_SVG_11));buffer2send+=description;buffer2send+=(PROGMEM2CHAR(TEMP_SVG_12));
+#define TEMP_SVG(temperature,target,description) buffer2send+=(PROGMEM2CHAR(TEMP_SVG_1));buffer2send+=(PROGMEM2CHAR(TEMP_SVG_2));buffer2send+=(PROGMEM2CHAR(TEMP_SVG_3));buffer2send+=(PROGMEM2CHAR(TEMP_SVG_4));buffer2send+=(PROGMEM2CHAR(TEMP_SVG_5));buffer2send+=String(target+10); buffer2send+=(PROGMEM2CHAR(TEMP_SVG_6));buffer2send+=String(target+10); buffer2send+=(PROGMEM2CHAR(TEMP_SVG_7));buffer2send+=(PROGMEM2CHAR(TEMP_SVG_8));buffer2send+=String(temperature+5);buffer2send+=(PROGMEM2CHAR(TEMP_SVG_9));buffer2send+=String(temperature+15);buffer2send+=(PROGMEM2CHAR(TEMP_SVG_10));buffer2send+=String(temperature+10);buffer2send+=(PROGMEM2CHAR(TEMP_SVG_11));buffer2send+=String(temperature+5);buffer2send+=(PROGMEM2CHAR(TEMP_SVG_12));buffer2send+=String(temperature+15);buffer2send+=(PROGMEM2CHAR(TEMP_SVG_13));buffer2send+=String(temperature+10);buffer2send+=(PROGMEM2CHAR(TEMP_SVG_14));buffer2send+=description;buffer2send+=(PROGMEM2CHAR(TEMP_SVG_15));buffer2send+=(PROGMEM2CHAR(TEMP_SVG_16));
#define MSG_SUCCESS(msg) buffer2send+=(PROGMEM2CHAR(ALERT_SUCCESS));buffer2send+=(msg);buffer2send+=(PROGMEM2CHAR(DIV_E));
#define MSG_ERROR(msg) buffer2send+=(PROGMEM2CHAR(ALERT_ERROR));buffer2send+=(msg);buffer2send+=(PROGMEM2CHAR(DIV_E));
@@ -280,7 +293,7 @@ const char PRINTER_12[]PROGMEM ="\n";
#define THR_ENTRY(entry) buffer2send+=(PROGMEM2CHAR(TH_R));buffer2send+=(entry);buffer2send+=(PROGMEM2CHAR(TH_E));
#define TD_ENTRY(entry) buffer2send+=(PROGMEM2CHAR(TD_S));buffer2send+=(entry);buffer2send+=(PROGMEM2CHAR(TD_E));
#define TOPBAR(IP,menu) buffer2send+=(PROGMEM2CHAR(NAV_START)); buffer2send+=(PROGMEM2CHAR(NAV_LEFT_PART1)) ; buffer2send+=(menu==1?PROGMEM2CHAR(NAV_ELEMENT_ACTIVE):"") ; buffer2send+=(PROGMEM2CHAR(NAV_LEFT_PART2a) ); buffer2send+=(IP); buffer2send+=(PROGMEM2CHAR(NAV_LEFT_PART2b));buffer2send+=(menu==2?PROGMEM2CHAR(NAV_ELEMENT_ACTIVE):"") ; buffer2send+=(PROGMEM2CHAR(NAV_LEFT_PART3a) ); buffer2send+=(IP); buffer2send+=(PROGMEM2CHAR(NAV_LEFT_PART3b));buffer2send+=(menu==3?PROGMEM2CHAR(NAV_ELEMENT_ACTIVE):"") ; buffer2send+=(PROGMEM2CHAR(NAV_LEFT_PART4a) ); buffer2send+=(IP); buffer2send+=(PROGMEM2CHAR(NAV_LEFT_PART4b)); buffer2send+=(menu==4?PROGMEM2CHAR(NAV_ELEMENT_ACTIVE):"") ; buffer2send+=(PROGMEM2CHAR(NAV_LEFT_PART5a) ); buffer2send+=(IP); buffer2send+=(PROGMEM2CHAR(NAV_LEFT_PART5b));buffer2send+=(menu==5?PROGMEM2CHAR(NAV_ELEMENT_ACTIVE):"") ; buffer2send+=(PROGMEM2CHAR(NAV_LEFT_PART6a) ); buffer2send+=(IP); buffer2send+=(PROGMEM2CHAR(NAV_LEFT_PART6b));buffer2send+=(PROGMEM2CHAR(NAV_LEFT_PARTEND)); buffer2send+=(PROGMEM2CHAR(NAV_RIGHT_PART)) ; buffer2send+=(PROGMEM2CHAR(NAV_END));
-
+#define STATUS_SVG(color) buffer2send+=(PROGMEM2CHAR(STATUS_1));buffer2send+=(color);buffer2send+=(PROGMEM2CHAR(STATUS_2));
char * progmem2char(const char* src)
@@ -1408,7 +1421,7 @@ void handle_web_interface_printer()
String IP;
String stmp;
String buffer2send ="";
- Serial.println("M114");
+ //Serial.println("M114");
Serial.println("M220");
Serial.println("M221");
//display page
@@ -1426,6 +1439,7 @@ void handle_web_interface_printer()
buffer2send+=(PROGMEM2CHAR(PRINTER_1b));
buffer2send+=(PROGMEM2CHAR(PRINTER_1c));
buffer2send+=(PROGMEM2CHAR(PRINTER_1d));
+ buffer2send+=(PROGMEM2CHAR(PRINTER_1e));
buffer2send+=(PROGMEM2CHAR(PRINTER_2));
buffer2send+=stmp.c_str();
buffer2send+=(PROGMEM2CHAR(PRINTER_3));
@@ -1435,6 +1449,7 @@ void handle_web_interface_printer()
buffer2send+=(PROGMEM2CHAR(PRINTER_6b));
buffer2send+=(PROGMEM2CHAR(PRINTER_6c));
buffer2send+=(PROGMEM2CHAR(PRINTER_6d));
+ buffer2send+=(PROGMEM2CHAR(PRINTER_6e));
buffer2send+=(PROGMEM2CHAR(PRINTER_7));
buffer2send+=(PROGMEM2CHAR(PRINTER_8));
buffer2send+=(PROGMEM2CHAR(PRINTER_9));
@@ -1448,78 +1463,102 @@ void handle_web_interface_printer()
void handle_web_interface_status()
{
Serial.println("M105");
+ Serial.println("M114");
String buffer2send =(PROGMEM2CHAR(DATA_S));
String description;
+ String status_color;
+ static bool flashit = true;
int temperature,target;
+ flashit=!flashit;
if ((system_get_time()-web_interface->last_temp)<3200000)
{
- int Tpos = web_interface->answer4M105.indexOf("T:");
- int slashpos = web_interface->answer4M105.indexOf(" /",Tpos);
- int spacepos = web_interface->answer4M105.indexOf(" ",slashpos+1);
- if(slashpos!=-1 && spacepos!=-1 )
- {
- temperature = (int)atof(web_interface->answer4M105.substring(Tpos+2,slashpos).c_str());
- target = (int)atof(web_interface->answer4M105.substring(slashpos+2,spacepos).c_str());
- Tpos = web_interface->answer4M105.indexOf("T1:");
- if (Tpos>-1) description = "Extruder 1: ";
- else description = "Extruder : ";
- description += String(temperature);
- description += "/";
- if (target >0) description += String(target);
- else description += "off";
- TEMP_SVG(temperature,description)
- }
- //check for second extruder
- Tpos = web_interface->answer4M105.indexOf("T1:");
- if (Tpos>-1)
+ if (flashit)status_color="lime";
+ else status_color="darkgreen";
+ }
+ else if ((system_get_time()-web_interface->last_temp)<32000000)
+ {
+ if (flashit)status_color="#FFFF66";
+ else status_color="gold";
+ }
+ else
+ {
+ if (flashit)status_color="red";
+ else status_color="darkred";
+ }
+
+ int Tpos = web_interface->answer4M105.indexOf("T:");
+ int slashpos = web_interface->answer4M105.indexOf(" /",Tpos);
+ int spacepos = web_interface->answer4M105.indexOf(" ",slashpos+1);
+ if(slashpos!=-1 && spacepos!=-1 )
{
- slashpos = web_interface->answer4M105.indexOf(" /",Tpos);
- spacepos = web_interface->answer4M105.indexOf(" ",slashpos+1);
- if(slashpos!=-1 && spacepos!=-1 )
- {
- temperature = (int)atof(web_interface->answer4M105.substring(Tpos+3,slashpos).c_str());
- target = (int)atof(web_interface->answer4M105.substring(slashpos+2,spacepos).c_str());
- description = "Extruder 2: ";
- description += String(temperature);
- description += "/";
- if (target >0) description += String(target);
- else description += "off";
- buffer2send+=(PROGMEM2CHAR(BR));
- TEMP_SVG(temperature,description)
- }
+ temperature = (int)atof(web_interface->answer4M105.substring(Tpos+2,slashpos).c_str());
+ target = (int)atof(web_interface->answer4M105.substring(slashpos+2,spacepos).c_str());
+ Tpos = web_interface->answer4M105.indexOf("T1:");
+ if (Tpos>-1) description = "Extruder 1: ";
+ else description = "Extruder : ";
+ description += String(temperature);
+ description += "/";
+ if (target >0) description += String(target);
+ else description += "off";
+ TEMP_SVG(temperature,target,description)
}
- //check for bed
- Tpos = web_interface->answer4M105.indexOf("B:");
- if (Tpos>-1)
+ //check for second extruder
+ Tpos = web_interface->answer4M105.indexOf("T1:");
+ if (Tpos>-1)
+ {
+ slashpos = web_interface->answer4M105.indexOf(" /",Tpos);
+ spacepos = web_interface->answer4M105.indexOf(" ",slashpos+1);
+ if(slashpos!=-1 && spacepos!=-1 )
{
- slashpos = web_interface->answer4M105.indexOf(" /",Tpos);
- spacepos = web_interface->answer4M105.indexOf(" ",slashpos+1);
- if(slashpos!=-1 && spacepos!=-1 )
- {
- temperature = (int)atof(web_interface->answer4M105.substring(Tpos+2,slashpos).c_str());
- target = (int)atof(web_interface->answer4M105.substring(slashpos+2,spacepos).c_str());
- description = "Bed: ";
- description += String(temperature);
- description += "/";
- if (target >0) description += String(target);
- else description += "off";
- buffer2send+=(PROGMEM2CHAR(BR));
- TEMP_SVG(temperature*2,description)
- }
+ temperature = (int)atof(web_interface->answer4M105.substring(Tpos+3,slashpos).c_str());
+ target = (int)atof(web_interface->answer4M105.substring(slashpos+2,spacepos).c_str());
+ description = "Extruder 2: ";
+ description += String(temperature);
+ description += "/";
+ if (target >0) description += String(target);
+ else description += "off";
+ buffer2send+=(PROGMEM2CHAR(BR));
+ TEMP_SVG(temperature,target,description)
+ }
+ }
+ //check for bed
+ Tpos = web_interface->answer4M105.indexOf("B:");
+ if (Tpos>-1)
+ {
+ slashpos = web_interface->answer4M105.indexOf(" /",Tpos);
+ spacepos = web_interface->answer4M105.indexOf(" ",slashpos+1);
+ if(slashpos!=-1 && spacepos!=-1 )
+ {
+ temperature = (int)atof(web_interface->answer4M105.substring(Tpos+2,slashpos).c_str());
+ target = (int)atof(web_interface->answer4M105.substring(slashpos+2,spacepos).c_str());
+ description = "Bed: ";
+ description += String(temperature);
+ description += "/";
+ if (target >0) description += String(target);
+ else description += "off";
+ buffer2send+=(PROGMEM2CHAR(BR));
+ TEMP_SVG(temperature*2,target*2,description)
}
}
- else buffer2send += "Processing....";
buffer2send+=(PROGMEM2CHAR(DIV_E));
- buffer2send+="
";
+ buffer2send+=(PROGMEM2CHAR(DIV_POSITION));
int Epos = web_interface->answer4M114.indexOf("E:");
- buffer2send+=web_interface->answer4M114.substring(0,Epos);
+ description=web_interface->answer4M114.substring(0,Epos);
+ description.replace("X:","
";
buffer2send+=(PROGMEM2CHAR(DIV_E));
- buffer2send+="
";
+ buffer2send+=(PROGMEM2CHAR(DIV_SPEED));
buffer2send+=web_interface->answer4M220;
buffer2send+=(PROGMEM2CHAR(DIV_E));
- buffer2send+="
";
+ buffer2send+=(PROGMEM2CHAR(DIV_FLOW));
buffer2send+=web_interface->answer4M221;
buffer2send+=(PROGMEM2CHAR(DIV_E));
+ buffer2send+=(PROGMEM2CHAR(DIV_STATUS));
+ STATUS_SVG(status_color)
+ buffer2send+=(PROGMEM2CHAR(DIV_E));
buffer2send+=(PROGMEM2CHAR(DATA_E));
web_interface->WebServer.send(200, "text/html", buffer2send);
@@ -1572,10 +1611,10 @@ WEBINTERFACE_CLASS::WEBINTERFACE_CLASS (int port):WebServer(port)
WebServer.on("/STATUS",HTTP_ANY, handle_web_interface_status);
WebServer.on("/PRINTER",HTTP_ANY, handle_web_interface_printer);
WebServer.onNotFound( handle_not_found);
- answer4M105="T:0 /0";
- answer4M114="";
- answer4M220="";
- answer4M221="";
+ answer4M105="T:0 /0 ";
+ answer4M114="X:0.0 Y:0.0 Z:0.0";
+ answer4M220="100";
+ answer4M221="100";
last_temp=system_get_time();
}
diff --git a/page5.png b/page5.png
index 5cf14452..55802a0a 100644
Binary files a/page5.png and b/page5.png differ