Commit c9fc2819 authored by MagoKimbra's avatar MagoKimbra

Same fix

parent 050b3c40
...@@ -68,7 +68,7 @@ ...@@ -68,7 +68,7 @@
#endif #endif
#if HAS(DIGIPOTSS) #if HAS(DIGIPOTSS)
#include "SPI.h" #include <SPI.h>
#endif #endif
......
...@@ -32,15 +32,15 @@ ...@@ -32,15 +32,15 @@
#endif #endif
#endif #endif
#define START "start" //start for host #define START "start" // start for host
#define OK "ok " //ok answer for host #define OK "ok " // ok answer for host
#define ER "Error: " //error for host #define ER "error: " // error for host
#define WT "wait" //wait for host #define WT "wait" // wait for host
#define DB "echo: " //message for user #define DB "echo: " // message for user
#define RS "Resend: " //resend for host #define RS "Resend: " // resend for host
#define PAUSE "//action:pause" //command for host that support action #define PAUSE "//action:pause" // command for host that support action
#define RESUME "//action:resume" //command for host that support action #define RESUME "//action:resume" // command for host that support action
#define DISCONNECT "//action:disconnect" //command for host that support action #define DISCONNECT "//action:disconnect" // command for host that support action
#define SERIAL_INIT(baud) MYSERIAL.begin(baud), delay(1) #define SERIAL_INIT(baud) MYSERIAL.begin(baud), delay(1)
#define SERIAL_WRITE(x) MYSERIAL.write(x) #define SERIAL_WRITE(x) MYSERIAL.write(x)
......
...@@ -629,7 +629,7 @@ ...@@ -629,7 +629,7 @@
#define HAS_POWER_SWITCH (POWER_SUPPLY > 0 && PIN_EXISTS(PS_ON)) #define HAS_POWER_SWITCH (POWER_SUPPLY > 0 && PIN_EXISTS(PS_ON))
#define HAS_MOTOR_CURRENT_PWM_XY (PIN_EXISTS(MOTOR_CURRENT_PWM_XY)) #define HAS_MOTOR_CURRENT_PWM_XY (PIN_EXISTS(MOTOR_CURRENT_PWM_XY))
#define HAS_DIGIPOTSS (DIGIPOTSS_PIN >= 0) #define HAS_DIGIPOTSS (PIN_EXISTS(DIGIPOTSS))
/** /**
* Shorthand for filament sensor and power sensor for ultralcd.cpp, dogm_lcd_implementation.h, ultralcd_implementation_hitachi_HD44780.h * Shorthand for filament sensor and power sensor for ultralcd.cpp, dogm_lcd_implementation.h, ultralcd_implementation_hitachi_HD44780.h
......
...@@ -2024,7 +2024,284 @@ void lcd_reset_alert_level() { lcd_status_message_level = 0; } ...@@ -2024,7 +2024,284 @@ void lcd_reset_alert_level() { lcd_status_message_level = 0; }
#endif // ULTIPANEL #endif // ULTIPANEL
#if !MECH(DELTA) && DISABLED(Z_SAFE_HOMING) && Z_HOME_DIR < 0 /*********************************/
/** Number to string conversion **/
/*********************************/
char conv[8];
// Convert float to string with +123.4 format
char *ftostr3(const float &x) {
return itostr3((int)x);
}
// Convert int to string with 12 format
char *itostr2(const uint8_t &x) {
//sprintf(conv,"%5.1f",x);
int xx = x;
conv[0] = (xx / 10) % 10 + '0';
conv[1] = xx % 10 + '0';
conv[2] = 0;
return conv;
}
// Convert float to string with +123.4 format
char *ftostr31(const float &x) {
int xx = abs(x * 10);
conv[0] = (x >= 0) ? '+' : '-';
conv[1] = (xx / 1000) % 10 + '0';
conv[2] = (xx / 100) % 10 + '0';
conv[3] = (xx / 10) % 10 + '0';
conv[4] = '.';
conv[5] = xx % 10 + '0';
conv[6] = 0;
return conv;
}
// Convert float to string with 123.4 format, dropping sign
char *ftostr31ns(const float &x) {
int xx = abs(x * 10);
conv[0] = (xx / 1000) % 10 + '0';
conv[1] = (xx / 100) % 10 + '0';
conv[2] = (xx / 10) % 10 + '0';
conv[3] = '.';
conv[4] = xx % 10 + '0';
conv[5] = 0;
return conv;
}
// Convert float to string with 123.4 format
char *ftostr32(const float &x) {
long xx = abs(x * 100);
conv[0] = x >= 0 ? (xx / 10000) % 10 + '0' : '-';
conv[1] = (xx / 1000) % 10 + '0';
conv[2] = (xx / 100) % 10 + '0';
conv[3] = '.';
conv[4] = (xx / 10) % 10 + '0';
conv[5] = xx % 10 + '0';
conv[6] = 0;
return conv;
}
// Convert float to string with 1.234 format
char *ftostr43(const float &x) {
long xx = x * 1000;
if (xx >= 0) {
conv[0] = (xx / 1000) % 10 + '0';
}
else {
conv[0] = '-';
}
xx = abs(xx);
conv[1] = '.';
conv[2] = (xx / 100) % 10 + '0';
conv[3] = (xx / 10) % 10 + '0';
conv[4] = (xx) % 10 + '0';
conv[5] = 0;
return conv;
}
// Convert float to string with 1.23 format
char *ftostr12ns(const float &x) {
long xx=x*100;
xx=abs(xx);
conv[0]=(xx/100)%10+'0';
conv[1]='.';
conv[2]=(xx/10)%10+'0';
conv[3]=(xx)%10+'0';
conv[4]=0;
return conv;
}
// Convert float to space-padded string with -_23.4_ format
char *ftostr32sp(const float &x) {
long xx = abs(x * 100);
uint8_t dig;
if (x < 0) { // negative val = -_0
conv[0] = '-';
dig = (xx / 1000) % 10;
conv[1] = dig ? '0' + dig : ' ';
}
else { // positive val = __0
dig = (xx / 10000) % 10;
if (dig) {
conv[0] = '0' + dig;
conv[1] = '0' + (xx / 1000) % 10;
}
else {
conv[0] = ' ';
dig = (xx / 1000) % 10;
conv[1] = dig ? '0' + dig : ' ';
}
}
conv[2] = '0' + (xx / 100) % 10; // lsd always
dig = xx % 10;
if (dig) { // 2 decimal places
conv[5] = '0' + dig;
conv[4] = '0' + (xx / 10) % 10;
conv[3] = '.';
}
else { // 1 or 0 decimal place
dig = (xx / 10) % 10;
if (dig) {
conv[4] = '0' + dig;
conv[3] = '.';
}
else {
conv[3] = conv[4] = ' ';
}
conv[5] = ' ';
}
conv[6] = '\0';
return conv;
}
// Convert int to lj string with +123.0 format
char *itostr31(const int &x) {
conv[0] = x >= 0 ? '+' : '-';
int xx = abs(x);
conv[1] = (xx / 100) % 10 + '0';
conv[2] = (xx / 10) % 10 + '0';
conv[3] = xx % 10 + '0';
conv[4] = '.';
conv[5] = '0';
conv[6] = 0;
return conv;
}
// Convert int to rj string with 123 or -12 format
char *itostr3(const int &x) {
int xx = x;
if (xx < 0) {
conv[0] = '-';
xx = -xx;
}
else
conv[0] = xx >= 100 ? (xx / 100) % 10 + '0' : ' ';
conv[1] = xx >= 10 ? (xx / 10) % 10 + '0' : ' ';
conv[2] = xx % 10 + '0';
conv[3] = 0;
return conv;
}
// Convert int to lj string with 123 format
char *itostr3left(const int &xx) {
if (xx >= 100) {
conv[0] = (xx / 100) % 10 + '0';
conv[1] = (xx / 10) % 10 + '0';
conv[2] = xx % 10 + '0';
conv[3] = 0;
}
else if (xx >= 10) {
conv[0] = (xx / 10) % 10 + '0';
conv[1] = xx % 10 + '0';
conv[2] = 0;
}
else {
conv[0] = xx % 10 + '0';
conv[1] = 0;
}
return conv;
}
// Convert int to rj string with 1234 format
char *itostr4(const int &xx) {
conv[0] = xx >= 1000 ? (xx / 1000) % 10 + '0' : ' ';
conv[1] = xx >= 100 ? (xx / 100) % 10 + '0' : ' ';
conv[2] = xx >= 10 ? (xx / 10) % 10 + '0' : ' ';
conv[3] = xx % 10 + '0';
conv[4] = 0;
return conv;
}
char *ltostr7(const long &xx) {
if (xx >= 1000000)
conv[0]=(xx/1000000)%10+'0';
else
conv[0]=' ';
if (xx >= 100000)
conv[1]=(xx/100000)%10+'0';
else
conv[1]=' ';
if (xx >= 10000)
conv[2]=(xx/10000)%10+'0';
else
conv[2]=' ';
if (xx >= 1000)
conv[3]=(xx/1000)%10+'0';
else
conv[3]=' ';
if (xx >= 100)
conv[4]=(xx/100)%10+'0';
else
conv[4]=' ';
if (xx >= 10)
conv[5]=(xx/10)%10+'0';
else
conv[5]=' ';
conv[6]=(xx)%10+'0';
conv[7]=0;
return conv;
}
// convert float to string with +123 format
char *ftostr30(const float &x) {
int xx=x;
conv[0]=(xx>=0)?'+':'-';
xx=abs(xx);
conv[1]=(xx/100)%10+'0';
conv[2]=(xx/10)%10+'0';
conv[3]=(xx)%10+'0';
conv[4]=0;
return conv;
}
// Convert float to rj string with 12345 format
char *ftostr5(const float &x) {
long xx = abs(x);
conv[0] = xx >= 10000 ? (xx / 10000) % 10 + '0' : ' ';
conv[1] = xx >= 1000 ? (xx / 1000) % 10 + '0' : ' ';
conv[2] = xx >= 100 ? (xx / 100) % 10 + '0' : ' ';
conv[3] = xx >= 10 ? (xx / 10) % 10 + '0' : ' ';
conv[4] = xx % 10 + '0';
conv[5] = 0;
return conv;
}
// Convert float to string with +1234.5 format
char *ftostr51(const float &x) {
long xx = abs(x * 10);
conv[0] = (x >= 0) ? '+' : '-';
conv[1] = (xx / 10000) % 10 + '0';
conv[2] = (xx / 1000) % 10 + '0';
conv[3] = (xx / 100) % 10 + '0';
conv[4] = (xx / 10) % 10 + '0';
conv[5] = '.';
conv[6] = xx % 10 + '0';
conv[7] = 0;
return conv;
}
// Convert float to string with +123.45 format
char *ftostr52(const float &x) {
conv[0] = (x >= 0) ? '+' : '-';
long xx = abs(x * 100);
conv[1] = (xx / 10000) % 10 + '0';
conv[2] = (xx / 1000) % 10 + '0';
conv[3] = (xx / 100) % 10 + '0';
conv[4] = '.';
conv[5] = (xx / 10) % 10 + '0';
conv[6] = xx % 10 + '0';
conv[7] = 0;
return conv;
}
#if DISABLED(DELTA) && DISABLED(Z_SAFE_HOMING) && Z_HOME_DIR < 0
static void lcd_level_bed() { static void lcd_level_bed() {
...@@ -2088,13 +2365,17 @@ void lcd_reset_alert_level() { lcd_status_message_level = 0; } ...@@ -2088,13 +2365,17 @@ void lcd_reset_alert_level() { lcd_status_message_level = 0; }
#elif ENABLED(NEXTION) #elif ENABLED(NEXTION)
#include "Marlin_main.h" #include "Marlin_main.h"
#if ENABLED(SDSUPPORT) #if ENABLED(SDSUPPORT)
#include "cardreader.h" #include "cardreader.h"
#endif #endif
#include "temperature.h" #include "temperature.h"
#if ENABLED(AUTO_BED_LEVELING_FEATURE) #if ENABLED(AUTO_BED_LEVELING_FEATURE)
#include "vector_3.h" #include "vector_3.h"
#endif #endif
#include "planner.h" #include "planner.h"
#include "stepper_indirection.h" #include "stepper_indirection.h"
#include "stepper.h" #include "stepper.h"
...@@ -2108,6 +2389,11 @@ char buffer[100] = {0}; ...@@ -2108,6 +2389,11 @@ char buffer[100] = {0};
char lcd_status_message[30] = WELCOME_MSG; // worst case is kana with up to 3*LCD_WIDTH+1 char lcd_status_message[30] = WELCOME_MSG; // worst case is kana with up to 3*LCD_WIDTH+1
uint8_t lcd_status_message_level = 0; uint8_t lcd_status_message_level = 0;
// Page
NexPage page0 = NexPage(0, 0, "start");
NexPage page1 = NexPage(1, 0, "info");
NexPage page2 = NexPage(2, 0, "settemp");
// Text // Text
NexText Hotend0 = NexText(1, 1, "t0"); NexText Hotend0 = NexText(1, 1, "t0");
NexText Hotend1 = NexText(1, 4, "t1"); NexText Hotend1 = NexText(1, 4, "t1");
...@@ -2141,10 +2427,12 @@ NexHotspot tup = NexHotspot(2, 16, "tup"); ...@@ -2141,10 +2427,12 @@ NexHotspot tup = NexHotspot(2, 16, "tup");
NexHotspot tdown = NexHotspot(2, 17, "tdown"); NexHotspot tdown = NexHotspot(2, 17, "tdown");
// Timer // Timer
NexTimer startimer = NexTimer(0, 1, "tm0");
NexTimer fantimer = NexTimer(1, 23, "tm0"); NexTimer fantimer = NexTimer(1, 23, "tm0");
NexTouch *nex_listen_list[] = NexTouch *nex_listen_list[] =
{ {
&page0,
&Menu, &Menu,
&MSD, &MSD,
&MSetup, &MSetup,
...@@ -2159,30 +2447,36 @@ NexTouch *nex_listen_list[] = ...@@ -2159,30 +2447,36 @@ NexTouch *nex_listen_list[] =
}; };
void setpageInfo() { void setpageInfo() {
sendCommand("page info"); page1.show();
PageInfo = true; PageInfo = true;
#if HAS(TEMP_0) #if HAS_TEMP_0
sendCommand("he.val=1"); sendCommand("he.val=1");
#endif #endif
#if HAS(TEMP_1) #if HAS_TEMP_1
sendCommand("he.val=2"); sendCommand("he.val=2");
#endif #endif
#if HAS(TEMP_2) #if HAS_TEMP_2
sendCommand("he.val=3"); sendCommand("he.val=3");
#elif HAS(TEMP_BED) #elif HAS_TEMP_BED
Hotend21.setText("BED"); Hotend21.setText("BED");
sendCommand("bed.val=1"); sendCommand("bed.val=1");
#endif #endif
#if ENABLED(SDSUPPORT) #if ENABLED(SDSUPPORT)
MSD.setPic(6); MSD.setPic(7);
#endif #endif
lcd_setstatus(lcd_status_message);
}
void page0PopCallback(void *ptr) {
setpageInfo();
} }
void hotPopCallback(void *ptr) { void hotPopCallback(void *ptr) {
sendCommand("page 2"); page2.show();
PageInfo = false; PageInfo = false;
memset(buffer, 0, sizeof(buffer)); memset(buffer, 0, sizeof(buffer));
if (ptr == &hot0) { if (ptr == &hot0) {
...@@ -2198,14 +2492,14 @@ void hotPopCallback(void *ptr) { ...@@ -2198,14 +2492,14 @@ void hotPopCallback(void *ptr) {
set1.setText("M104 T1 S"); set1.setText("M104 T1 S");
} }
#if HAS(TEMP_2) #if HAS_TEMP_2
if (ptr == &hot2) { if (ptr == &hot2) {
if (degTargetHotend(2) != 0) { if (degTargetHotend(2) != 0) {
itoa(degTargetHotend(2), buffer, 10); itoa(degTargetHotend(2), buffer, 10);
} }
set1.setText("M104 T2 S"); set1.setText("M104 T2 S");
} }
#elif HAS(TEMP_BED) #elif HAS_TEMP_BED
if (ptr == &hot2) { if (ptr == &hot2) {
if (degTargetBed() != 0) { if (degTargetBed() != 0) {
itoa(degTargetBed(), buffer, 10); itoa(degTargetBed(), buffer, 10);
...@@ -2239,7 +2533,6 @@ void sethotPopCallback(void *ptr) { ...@@ -2239,7 +2533,6 @@ void sethotPopCallback(void *ptr) {
set1.getText(buffer, sizeof(buffer)); set1.getText(buffer, sizeof(buffer));
enqueuecommands_P(buffer); enqueuecommands_P(buffer);
setpageInfo(); setpageInfo();
lcd_setstatus(lcd_status_message);
} }
void setpagePopCallback(void *ptr) { void setpagePopCallback(void *ptr) {
...@@ -2261,19 +2554,23 @@ millis_t next_lcd_update_ms; ...@@ -2261,19 +2554,23 @@ millis_t next_lcd_update_ms;
void lcd_init() { void lcd_init() {
NextionON = nexInit(); NextionON = nexInit();
if (!NextionON) { if (!NextionON) {
ECHO_LM(ER, "Nextion LCD not connected!"); ECHO_LM(DB, "Nextion LCD not connected!");
} }
else { else {
ECHO_LM(DB, "Nextion LCD connected!"); ECHO_LM(DB, "Nextion LCD connected!");
#if HAS(TEMP_0)
page0.attachPop(page0PopCallback);
#if HAS_TEMP_0
hot0.attachPop(hotPopCallback, &hot0); hot0.attachPop(hotPopCallback, &hot0);
#endif #endif
#if HAS(TEMP_1) #if HAS_TEMP_1
hot1.attachPop(hotPopCallback, &hot1); hot1.attachPop(hotPopCallback, &hot1);
#endif #endif
#if HAS(TEMP_2) || HAS(TEMP_BED) #if HAS_TEMP_2 || HAS_TEMP_BED
hot2.attachPop(hotPopCallback, &hot2); hot2.attachPop(hotPopCallback, &hot2);
#endif #endif
Menu.attachPop(setpagePopCallback, &Menu); Menu.attachPop(setpagePopCallback, &Menu);
MSD.attachPop(setpagePopCallback, &MSD); MSD.attachPop(setpagePopCallback, &MSD);
MSetup.attachPop(setpagePopCallback, &Menu); MSetup.attachPop(setpagePopCallback, &Menu);
...@@ -2281,9 +2578,7 @@ void lcd_init() { ...@@ -2281,9 +2578,7 @@ void lcd_init() {
m11.attachPop(sethotPopCallback, &m11); m11.attachPop(sethotPopCallback, &m11);
tup.attachPop(settempPopCallback, &tup); tup.attachPop(settempPopCallback, &tup);
tdown.attachPop(settempPopCallback, &tdown); tdown.attachPop(settempPopCallback, &tdown);
delay(SPLASH_SCREEN_DURATION); // wait to display the splash screen startimer.enable();
setpageInfo();
lcd_setstatus(WELCOME_MSG);
} }
} }
...@@ -2382,15 +2677,15 @@ void lcd_update() { ...@@ -2382,15 +2677,15 @@ void lcd_update() {
if (fanSpeed > 0) fantimer.enable(); if (fanSpeed > 0) fantimer.enable();
else fantimer.disable(); else fantimer.disable();
#if HAS(TEMP_0) #if HAS_TEMP_0
temptoLCD(0, degHotend(0), degTargetHotend(0)); temptoLCD(0, degHotend(0), degTargetHotend(0));
#endif #endif
#if HAS(TEMP_1) #if HAS_TEMP_1
temptoLCD(1, degHotend(1), degTargetHotend(1)); temptoLCD(1, degHotend(1), degTargetHotend(1));
#endif #endif
#if HAS(TEMP_2) #if HAS_TEMP_2
temptoLCD(2, degHotend(2), degTargetHotend(2)); temptoLCD(2, degHotend(2), degTargetHotend(2));
#elif HAS(TEMP_BED) #elif HAS_TEMP_BED
temptoLCD(2, degBed(), degTargetBed()); temptoLCD(2, degBed(), degTargetBed());
#endif #endif
...@@ -2420,8 +2715,6 @@ void lcd_setalertstatuspgm(const char* message) { ...@@ -2420,8 +2715,6 @@ void lcd_setalertstatuspgm(const char* message) {
void lcd_reset_alert_level() { lcd_status_message_level = 0; } void lcd_reset_alert_level() { lcd_status_message_level = 0; }
#endif //ULTRA_LCD
/*********************************/ /*********************************/
/** Number to string conversion **/ /** Number to string conversion **/
/*********************************/ /*********************************/
...@@ -2699,6 +2992,8 @@ char *ftostr52(const float &x) { ...@@ -2699,6 +2992,8 @@ char *ftostr52(const float &x) {
return conv; return conv;
} }
#endif //ULTRA_LCD
#if ENABLED(SDSUPPORT) && ENABLED(SD_SETTINGS) #if ENABLED(SDSUPPORT) && ENABLED(SD_SETTINGS)
void set_sd_dot() { void set_sd_dot() {
#if ENABLED(DOGLCD) #if ENABLED(DOGLCD)
...@@ -2722,4 +3017,4 @@ char *ftostr52(const float &x) { ...@@ -2722,4 +3017,4 @@ char *ftostr52(const float &x) {
} while( u8g.nextPage() ); } while( u8g.nextPage() );
#endif #endif
} }
#endif #endif
\ No newline at end of file
...@@ -111,8 +111,9 @@ ...@@ -111,8 +111,9 @@
#elif ENABLED(NEXTION) #elif ENABLED(NEXTION)
#define LCD_UPDATE_INTERVAL 200 #define LCD_UPDATE_INTERVAL 100
void page0PopCallback(void *ptr);
void setpagePopCallback(void *ptr); void setpagePopCallback(void *ptr);
void hotPopCallback(void *ptr); void hotPopCallback(void *ptr);
void sethotPopCallback(void *ptr); void sethotPopCallback(void *ptr);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment