Merge https://github.com/MarlinFirmware/Marlin into tm2-utf-minus-kanji
Conflicts: Marlin/dogm_lcd_implementation.h Marlin/ultralcd_implementation_hitachi_HD44780.h Fix merge conflicts 2
This commit is contained in:
commit
e72cb3e45d
@ -225,6 +225,8 @@ Here are some standard links for getting your machine calibrated:
|
|||||||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||||
|
|
||||||
|
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
#ifdef PIDTEMPBED
|
#ifdef PIDTEMPBED
|
||||||
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||||
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
|
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
|
||||||
|
@ -2562,13 +2562,13 @@ inline void gcode_M17() {
|
|||||||
*/
|
*/
|
||||||
inline void gcode_M28() {
|
inline void gcode_M28() {
|
||||||
char* codepos = strchr_pointer + 4;
|
char* codepos = strchr_pointer + 4;
|
||||||
char* starpos = strchr(strchr_pointer + 4, '*');
|
char* starpos = strchr(codepos, '*');
|
||||||
if (starpos) {
|
if (starpos) {
|
||||||
char* npos = strchr(cmdbuffer[bufindr], 'N');
|
char* npos = strchr(cmdbuffer[bufindr], 'N');
|
||||||
strchr_pointer = strchr(npos, ' ') + 1;
|
strchr_pointer = strchr(npos, ' ') + 1;
|
||||||
*(starpos) = '\0';
|
*(starpos) = '\0';
|
||||||
}
|
}
|
||||||
card.openFile(strchr_pointer + 4, false);
|
card.openFile(codepos, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -234,6 +234,8 @@ Here are some standard links for getting your machine calibrated:
|
|||||||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||||
|
|
||||||
|
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
#ifdef PIDTEMPBED
|
#ifdef PIDTEMPBED
|
||||||
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||||
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
|
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
|
||||||
|
@ -271,7 +271,7 @@ static void lcd_implementation_status_screen() {
|
|||||||
u8g.drawBox(55, 50, (unsigned int)(71.f * card.percentDone() / 100.f), 2);
|
u8g.drawBox(55, 50, (unsigned int)(71.f * card.percentDone() / 100.f), 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
u8g.setPrintPos(80,47);
|
u8g.setPrintPos(80,48);
|
||||||
if (starttime != 0) {
|
if (starttime != 0) {
|
||||||
uint16_t time = (millis() - starttime) / 60000;
|
uint16_t time = (millis() - starttime) / 60000;
|
||||||
lcd_print(itostr2(time/60));
|
lcd_print(itostr2(time/60));
|
||||||
@ -306,26 +306,27 @@ static void lcd_implementation_status_screen() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// X, Y, Z-Coordinates
|
// X, Y, Z-Coordinates
|
||||||
lcd_setFont(FONT_STATUSMENU);
|
#define XYZ_BASELINE 38
|
||||||
u8g.drawBox(0,29,128,10);
|
u8g.setFont(FONT_STATUSMENU);
|
||||||
|
u8g.drawBox(0,30,128,9);
|
||||||
u8g.setColorIndex(0); // white on black
|
u8g.setColorIndex(0); // white on black
|
||||||
u8g.setPrintPos(2,37);
|
u8g.setPrintPos(2,XYZ_BASELINE);
|
||||||
lcd_print('X');
|
lcd_print('X');
|
||||||
u8g.drawPixel(8,33);
|
u8g.drawPixel(8,XYZ_BASELINE - 5);
|
||||||
u8g.drawPixel(8,35);
|
u8g.drawPixel(8,XYZ_BASELINE - 3);
|
||||||
u8g.setPrintPos(10,37);
|
u8g.setPrintPos(10,XYZ_BASELINE);
|
||||||
lcd_print(ftostr31ns(current_position[X_AXIS]));
|
lcd_print(ftostr31ns(current_position[X_AXIS]));
|
||||||
u8g.setPrintPos(43,37);
|
u8g.setPrintPos(43,XYZ_BASELINE);
|
||||||
lcd_print('Y');
|
lcd_print('Y');
|
||||||
u8g.drawPixel(49,33);
|
u8g.drawPixel(49,XYZ_BASELINE - 5);
|
||||||
u8g.drawPixel(49,35);
|
u8g.drawPixel(49,XYZ_BASELINE - 3);
|
||||||
u8g.setPrintPos(51,37);
|
u8g.setPrintPos(51,XYZ_BASELINE);
|
||||||
lcd_print(ftostr31ns(current_position[Y_AXIS]));
|
lcd_print(ftostr31ns(current_position[Y_AXIS]));
|
||||||
u8g.setPrintPos(83,37);
|
u8g.setPrintPos(83,XYZ_BASELINE);
|
||||||
lcd_print('Z');
|
lcd_print('Z');
|
||||||
u8g.drawPixel(89,33);
|
u8g.drawPixel(89,XYZ_BASELINE - 5);
|
||||||
u8g.drawPixel(89,35);
|
u8g.drawPixel(89,XYZ_BASELINE - 3);
|
||||||
u8g.setPrintPos(91,37);
|
u8g.setPrintPos(91,XYZ_BASELINE);
|
||||||
lcd_print(ftostr31(current_position[Z_AXIS]));
|
lcd_print(ftostr31(current_position[Z_AXIS]));
|
||||||
u8g.setColorIndex(1); // black on white
|
u8g.setColorIndex(1); // black on white
|
||||||
|
|
||||||
@ -333,23 +334,14 @@ static void lcd_implementation_status_screen() {
|
|||||||
lcd_setFont(FONT_MENU);
|
lcd_setFont(FONT_MENU);
|
||||||
u8g.setPrintPos(3,49);
|
u8g.setPrintPos(3,49);
|
||||||
lcd_print(LCD_STR_FEEDRATE[0]);
|
lcd_print(LCD_STR_FEEDRATE[0]);
|
||||||
lcd_setFont(FONT_STATUSMENU);
|
u8g.setFont(FONT_STATUSMENU);
|
||||||
u8g.setPrintPos(12,48);
|
u8g.setPrintPos(12,49);
|
||||||
lcd_print(itostr3(feedmultiply));
|
lcd_print(itostr3(feedmultiply));
|
||||||
lcd_print('%');
|
lcd_print('%');
|
||||||
|
|
||||||
// Status line
|
// Status line
|
||||||
/* The new fonts are small enough
|
u8g.setFont(FONT_STATUSMENU);
|
||||||
#ifndef MAPPER_C2C3
|
u8g.setPrintPos(0,63);
|
||||||
lcd_setFont(FONT_MENU);
|
|
||||||
#else
|
|
||||||
lcd_setFont(FONT_STATUSMENU);
|
|
||||||
#endif
|
|
||||||
*/
|
|
||||||
lcd_setFont(FONT_MENU);
|
|
||||||
|
|
||||||
u8g.setPrintPos(0,61);
|
|
||||||
|
|
||||||
#ifndef FILAMENT_LCD_DISPLAY
|
#ifndef FILAMENT_LCD_DISPLAY
|
||||||
lcd_print(lcd_status_message);
|
lcd_print(lcd_status_message);
|
||||||
#else
|
#else
|
||||||
|
@ -215,6 +215,8 @@ Here are some standard links for getting your machine calibrated:
|
|||||||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||||
|
|
||||||
|
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
#ifdef PIDTEMPBED
|
#ifdef PIDTEMPBED
|
||||||
// Felix Foil Heater
|
// Felix Foil Heater
|
||||||
#define DEFAULT_bedKp 103.37
|
#define DEFAULT_bedKp 103.37
|
||||||
|
@ -215,6 +215,8 @@ Here are some standard links for getting your machine calibrated:
|
|||||||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||||
|
|
||||||
|
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
#ifdef PIDTEMPBED
|
#ifdef PIDTEMPBED
|
||||||
// Felix Foil Heater
|
// Felix Foil Heater
|
||||||
#define DEFAULT_bedKp 103.37
|
#define DEFAULT_bedKp 103.37
|
||||||
|
@ -231,6 +231,8 @@ Here are some standard links for getting your machine calibrated:
|
|||||||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||||
|
|
||||||
|
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
#ifdef PIDTEMPBED
|
#ifdef PIDTEMPBED
|
||||||
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||||
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
|
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
|
||||||
|
@ -230,6 +230,8 @@ Here are some standard links for getting your machine calibrated:
|
|||||||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||||
|
|
||||||
|
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
#ifdef PIDTEMPBED
|
#ifdef PIDTEMPBED
|
||||||
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||||
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
|
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
|
||||||
|
@ -254,6 +254,8 @@ Here are some standard links for getting your machine calibrated:
|
|||||||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||||
|
|
||||||
|
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
#ifdef PIDTEMPBED
|
#ifdef PIDTEMPBED
|
||||||
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||||
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
|
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
|
||||||
|
@ -230,6 +230,8 @@ Here are some standard links for getting your machine calibrated:
|
|||||||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||||
|
|
||||||
|
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
#ifdef PIDTEMPBED
|
#ifdef PIDTEMPBED
|
||||||
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||||
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
|
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
|
||||||
|
@ -258,6 +258,8 @@ Here are some standard links for getting your machine calibrated:
|
|||||||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||||
|
|
||||||
|
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
#ifdef PIDTEMPBED
|
#ifdef PIDTEMPBED
|
||||||
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||||
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
|
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
|
||||||
|
@ -259,6 +259,8 @@ Here are some standard links for getting your machine calibrated:
|
|||||||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||||
|
|
||||||
|
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
#ifdef PIDTEMPBED
|
#ifdef PIDTEMPBED
|
||||||
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||||
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
|
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
|
||||||
|
@ -228,6 +228,8 @@ Here are some standard links for getting your machine calibrated:
|
|||||||
// to increase the heat up rate. However, if changed, user must be aware of the safety concerns
|
// to increase the heat up rate. However, if changed, user must be aware of the safety concerns
|
||||||
// of drawing too much current from the power supply.
|
// of drawing too much current from the power supply.
|
||||||
|
|
||||||
|
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
#ifdef PIDTEMPBED
|
#ifdef PIDTEMPBED
|
||||||
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||||
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
|
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
|
||||||
|
@ -230,6 +230,8 @@ Here are some standard links for getting your machine calibrated:
|
|||||||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||||
|
|
||||||
|
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
#ifdef PIDTEMPBED
|
#ifdef PIDTEMPBED
|
||||||
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||||
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
|
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
|
||||||
|
@ -636,6 +636,21 @@ float get_pid_output(int e) {
|
|||||||
pid_output = constrain(target_temperature_bed, 0, MAX_BED_POWER);
|
pid_output = constrain(target_temperature_bed, 0, MAX_BED_POWER);
|
||||||
#endif // PID_OPENLOOP
|
#endif // PID_OPENLOOP
|
||||||
|
|
||||||
|
#ifdef PID_BED_DEBUG
|
||||||
|
SERIAL_ECHO_START;
|
||||||
|
SERIAL_ECHO(" PID_BED_DEBUG ");
|
||||||
|
SERIAL_ECHO(": Input ");
|
||||||
|
SERIAL_ECHO(current_temperature_bed);
|
||||||
|
SERIAL_ECHO(" Output ");
|
||||||
|
SERIAL_ECHO(pid_output);
|
||||||
|
SERIAL_ECHO(" pTerm ");
|
||||||
|
SERIAL_ECHO(pTerm_bed);
|
||||||
|
SERIAL_ECHO(" iTerm ");
|
||||||
|
SERIAL_ECHO(iTerm_bed);
|
||||||
|
SERIAL_ECHO(" dTerm ");
|
||||||
|
SERIAL_ECHOLN(dTerm_bed);
|
||||||
|
#endif //PID_BED_DEBUG
|
||||||
|
|
||||||
return pid_output;
|
return pid_output;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -663,26 +663,26 @@ static void lcd_implementation_drawmenu_setting_edit_generic_P(bool sel, uint8_t
|
|||||||
lcd_printPGM(data);
|
lcd_printPGM(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define lcd_implementation_drawmenu_setting_edit_int3(sel, row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, ' ', itostr3(*(data)))
|
#define lcd_implementation_drawmenu_setting_edit_int3(sel, row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, '>', itostr3(*(data)))
|
||||||
#define lcd_implementation_drawmenu_setting_edit_float3(sel, row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, ' ', ftostr3(*(data)))
|
#define lcd_implementation_drawmenu_setting_edit_float3(sel, row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, '>', ftostr3(*(data)))
|
||||||
#define lcd_implementation_drawmenu_setting_edit_float32(sel, row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, ' ', ftostr32(*(data)))
|
#define lcd_implementation_drawmenu_setting_edit_float32(sel, row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, '>', ftostr32(*(data)))
|
||||||
#define lcd_implementation_drawmenu_setting_edit_float43(sel, row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, ' ', ftostr43(*(data)))
|
#define lcd_implementation_drawmenu_setting_edit_float43(sel, row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, '>', ftostr43(*(data)))
|
||||||
#define lcd_implementation_drawmenu_setting_edit_float5(sel, row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, ' ', ftostr5(*(data)))
|
#define lcd_implementation_drawmenu_setting_edit_float5(sel, row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, '>', ftostr5(*(data)))
|
||||||
#define lcd_implementation_drawmenu_setting_edit_float52(sel, row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, ' ', ftostr52(*(data)))
|
#define lcd_implementation_drawmenu_setting_edit_float52(sel, row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, '>', ftostr52(*(data)))
|
||||||
#define lcd_implementation_drawmenu_setting_edit_float51(sel, row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, ' ', ftostr51(*(data)))
|
#define lcd_implementation_drawmenu_setting_edit_float51(sel, row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, '>', ftostr51(*(data)))
|
||||||
#define lcd_implementation_drawmenu_setting_edit_long5(sel, row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, ' ', ftostr5(*(data)))
|
#define lcd_implementation_drawmenu_setting_edit_long5(sel, row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, '>', ftostr5(*(data)))
|
||||||
#define lcd_implementation_drawmenu_setting_edit_bool(sel, row, pstr, pstr2, data) lcd_implementation_drawmenu_setting_edit_generic_P(sel, row, pstr, ' ', (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF))
|
#define lcd_implementation_drawmenu_setting_edit_bool(sel, row, pstr, pstr2, data) lcd_implementation_drawmenu_setting_edit_generic_P(sel, row, pstr, '>', (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF))
|
||||||
|
|
||||||
//Add version for callback functions
|
//Add version for callback functions
|
||||||
#define lcd_implementation_drawmenu_setting_edit_callback_int3(sel, row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, ' ', itostr3(*(data)))
|
#define lcd_implementation_drawmenu_setting_edit_callback_int3(sel, row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, '>', itostr3(*(data)))
|
||||||
#define lcd_implementation_drawmenu_setting_edit_callback_float3(sel, row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, ' ', ftostr3(*(data)))
|
#define lcd_implementation_drawmenu_setting_edit_callback_float3(sel, row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, '>', ftostr3(*(data)))
|
||||||
#define lcd_implementation_drawmenu_setting_edit_callback_float32(sel, row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, ' ', ftostr32(*(data)))
|
#define lcd_implementation_drawmenu_setting_edit_callback_float32(sel, row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, '>', ftostr32(*(data)))
|
||||||
#define lcd_implementation_drawmenu_setting_edit_callback_float43(sel, row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, ' ', ftostr43(*(data)))
|
#define lcd_implementation_drawmenu_setting_edit_callback_float43(sel, row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, '>', ftostr43(*(data)))
|
||||||
#define lcd_implementation_drawmenu_setting_edit_callback_float5(sel, row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, ' ', ftostr5(*(data)))
|
#define lcd_implementation_drawmenu_setting_edit_callback_float5(sel, row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, '>', ftostr5(*(data)))
|
||||||
#define lcd_implementation_drawmenu_setting_edit_callback_float52(sel, row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, ' ', ftostr52(*(data)))
|
#define lcd_implementation_drawmenu_setting_edit_callback_float52(sel, row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, '>', ftostr52(*(data)))
|
||||||
#define lcd_implementation_drawmenu_setting_edit_callback_float51(sel, row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, ' ', ftostr51(*(data)))
|
#define lcd_implementation_drawmenu_setting_edit_callback_float51(sel, row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, '>', ftostr51(*(data)))
|
||||||
#define lcd_implementation_drawmenu_setting_edit_callback_long5(sel, row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, ' ', ftostr5(*(data)))
|
#define lcd_implementation_drawmenu_setting_edit_callback_long5(sel, row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, '>', ftostr5(*(data)))
|
||||||
#define lcd_implementation_drawmenu_setting_edit_callback_bool(sel, row, pstr, pstr2, data, callback) lcd_implementation_drawmenu_setting_edit_generic_P(sel, row, pstr, ' ', (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF))
|
#define lcd_implementation_drawmenu_setting_edit_callback_bool(sel, row, pstr, pstr2, data, callback) lcd_implementation_drawmenu_setting_edit_generic_P(sel, row, pstr, '>', (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF))
|
||||||
|
|
||||||
void lcd_implementation_drawedit(const char* pstr, char* value) {
|
void lcd_implementation_drawedit(const char* pstr, char* value) {
|
||||||
lcd.setCursor(1, 1);
|
lcd.setCursor(1, 1);
|
||||||
|
Loading…
Reference in New Issue
Block a user