Added messages in czech and english for SNMM, service menu for adjusting bowden lengths; updated service menu to be extendable; M600: loading filament for SNMM updated; unload all filaments updated
This commit is contained in:
parent
032f2637a7
commit
2fa97d5dfe
10 changed files with 468 additions and 209 deletions
|
@ -46,6 +46,7 @@
|
||||||
#define EEPROM_PRINT_FLAG (EEPROM_TOSHIBA_FLASH_AIR_COMPATIBLITY-1)
|
#define EEPROM_PRINT_FLAG (EEPROM_TOSHIBA_FLASH_AIR_COMPATIBLITY-1)
|
||||||
#define EEPROM_PROBE_TEMP_SHIFT (EEPROM_PRINT_FLAG - 2*5) //5 x int for storing pinda probe temp shift relative to 50 C; unit: motor steps
|
#define EEPROM_PROBE_TEMP_SHIFT (EEPROM_PRINT_FLAG - 2*5) //5 x int for storing pinda probe temp shift relative to 50 C; unit: motor steps
|
||||||
#define EEPROM_TEMP_CAL_ACTIVE (EEPROM_PROBE_TEMP_SHIFT - 1)
|
#define EEPROM_TEMP_CAL_ACTIVE (EEPROM_PROBE_TEMP_SHIFT - 1)
|
||||||
|
#define EEPROM_BOWDEN_LENGTH (EEPROM_TEMP_CAL_ACTIVE - 2*4) //4 x int for bowden lengths for multimaterial
|
||||||
|
|
||||||
// Currently running firmware, each digit stored as uint16_t.
|
// Currently running firmware, each digit stored as uint16_t.
|
||||||
// The flavor differentiates a dev, alpha, beta, release candidate or a release version.
|
// The flavor differentiates a dev, alpha, beta, release candidate or a release version.
|
||||||
|
|
|
@ -282,6 +282,7 @@ extern float retract_recover_length, retract_recover_length_swap, retract_recove
|
||||||
|
|
||||||
extern unsigned long starttime;
|
extern unsigned long starttime;
|
||||||
extern unsigned long stoptime;
|
extern unsigned long stoptime;
|
||||||
|
extern int bowden_length[4];
|
||||||
extern bool is_usb_printing;
|
extern bool is_usb_printing;
|
||||||
extern bool homing_flag;
|
extern bool homing_flag;
|
||||||
extern bool temp_cal_active;
|
extern bool temp_cal_active;
|
||||||
|
|
|
@ -247,6 +247,8 @@ int extruder_multiply[EXTRUDERS] = {100
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
int bowden_length[4];
|
||||||
|
|
||||||
bool is_usb_printing = false;
|
bool is_usb_printing = false;
|
||||||
bool homing_flag = false;
|
bool homing_flag = false;
|
||||||
|
|
||||||
|
@ -265,6 +267,8 @@ float pause_lastpos[4];
|
||||||
unsigned long pause_time = 0;
|
unsigned long pause_time = 0;
|
||||||
unsigned long start_pause_print = millis();
|
unsigned long start_pause_print = millis();
|
||||||
|
|
||||||
|
unsigned long load_filament_time;
|
||||||
|
|
||||||
bool mesh_bed_leveling_flag = false;
|
bool mesh_bed_leveling_flag = false;
|
||||||
|
|
||||||
unsigned char lang_selected = 0;
|
unsigned char lang_selected = 0;
|
||||||
|
@ -897,7 +901,7 @@ int er_progress = 0;
|
||||||
void factory_reset(char level, bool quiet)
|
void factory_reset(char level, bool quiet)
|
||||||
{
|
{
|
||||||
lcd_implementation_clear();
|
lcd_implementation_clear();
|
||||||
|
int cursor_pos = 0;
|
||||||
switch (level) {
|
switch (level) {
|
||||||
|
|
||||||
// Level 0: Language reset
|
// Level 0: Language reset
|
||||||
|
@ -968,6 +972,9 @@ void factory_reset(char level, bool quiet)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
bowden_menu();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -1155,6 +1162,10 @@ void setup()
|
||||||
eeprom_write_byte((uint8_t*)EEPROM_SILENT, 0);
|
eeprom_write_byte((uint8_t*)EEPROM_SILENT, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (eeprom_read_dword((uint32_t*)EEPROM_BOWDEN_LENGTH) == 0x0ffffffff) { //bowden length used for SNMM
|
||||||
|
int _z = BOWDEN_LENGTH;
|
||||||
|
for(int i = 0; i<4; i++) EEPROM_save_B(EEPROM_BOWDEN_LENGTH + i * 2, &_z);
|
||||||
|
}
|
||||||
|
|
||||||
// In the future, somewhere here would one compare the current firmware version against the firmware version stored in the EEPROM.
|
// In the future, somewhere here would one compare the current firmware version against the firmware version stored in the EEPROM.
|
||||||
// If they differ, an update procedure may need to be performed. At the end of this block, the current firmware version
|
// If they differ, an update procedure may need to be performed. At the end of this block, the current firmware version
|
||||||
|
@ -5151,7 +5162,9 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
|
||||||
uint8_t cnt=0;
|
uint8_t cnt=0;
|
||||||
int counterBeep = 0;
|
int counterBeep = 0;
|
||||||
lcd_wait_interact();
|
lcd_wait_interact();
|
||||||
|
load_filament_time = millis();
|
||||||
while(!lcd_clicked()){
|
while(!lcd_clicked()){
|
||||||
|
|
||||||
cnt++;
|
cnt++;
|
||||||
manage_heater();
|
manage_heater();
|
||||||
manage_inactivity(true);
|
manage_inactivity(true);
|
||||||
|
@ -5177,14 +5190,34 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
#ifdef SNMM
|
||||||
|
if (millis() - load_filament_time > 2) {
|
||||||
|
load_filament_time = millis();
|
||||||
|
target[E_AXIS] += 0.001;
|
||||||
|
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 1000, active_extruder);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
//Filament inserted
|
//Filament inserted
|
||||||
|
|
||||||
WRITE(BEEPER,LOW);
|
WRITE(BEEPER,LOW);
|
||||||
|
|
||||||
//Feed the filament to the end of nozzle quickly
|
//Feed the filament to the end of nozzle quickly
|
||||||
|
#ifdef SNMM
|
||||||
|
|
||||||
|
st_synchronize();
|
||||||
|
target[E_AXIS] += BOWDEN_LENGTH;
|
||||||
|
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 3000, active_extruder);
|
||||||
|
target[E_AXIS] += FIL_LOAD_LENGTH - 60;
|
||||||
|
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 1400, active_extruder);
|
||||||
|
target[E_AXIS] += 40;
|
||||||
|
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 400, active_extruder);
|
||||||
|
target[E_AXIS] += 10;
|
||||||
|
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 50, active_extruder);
|
||||||
|
#else
|
||||||
target[E_AXIS] += FILAMENTCHANGE_FIRSTFEED;
|
target[E_AXIS] += FILAMENTCHANGE_FIRSTFEED;
|
||||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], FILAMENTCHANGE_EFEED, active_extruder);
|
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], FILAMENTCHANGE_EFEED, active_extruder);
|
||||||
|
#endif // SNMM
|
||||||
|
|
||||||
//Extrude some filament
|
//Extrude some filament
|
||||||
target[E_AXIS]+= FILAMENTCHANGE_FINALFEED ;
|
target[E_AXIS]+= FILAMENTCHANGE_FINALFEED ;
|
||||||
|
|
|
@ -1300,6 +1300,50 @@ const char * const MSG_LOAD_FILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||||
MSG_LOAD_FILAMENT_DE
|
MSG_LOAD_FILAMENT_DE
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const char MSG_LOAD_FILAMENT_1_EN[] PROGMEM = "Load filament 1";
|
||||||
|
const char MSG_LOAD_FILAMENT_1_CZ[] PROGMEM = "Zavest filament 1";
|
||||||
|
const char * const MSG_LOAD_FILAMENT_1_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||||
|
MSG_LOAD_FILAMENT_1_EN,
|
||||||
|
MSG_LOAD_FILAMENT_1_CZ,
|
||||||
|
MSG_LOAD_FILAMENT_1_EN,
|
||||||
|
MSG_LOAD_FILAMENT_1_EN,
|
||||||
|
MSG_LOAD_FILAMENT_1_EN,
|
||||||
|
MSG_LOAD_FILAMENT_1_EN
|
||||||
|
};
|
||||||
|
|
||||||
|
const char MSG_LOAD_FILAMENT_2_EN[] PROGMEM = "Load filament 2";
|
||||||
|
const char MSG_LOAD_FILAMENT_2_CZ[] PROGMEM = "Zavest filament 2";
|
||||||
|
const char * const MSG_LOAD_FILAMENT_2_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||||
|
MSG_LOAD_FILAMENT_2_EN,
|
||||||
|
MSG_LOAD_FILAMENT_2_CZ,
|
||||||
|
MSG_LOAD_FILAMENT_2_EN,
|
||||||
|
MSG_LOAD_FILAMENT_2_EN,
|
||||||
|
MSG_LOAD_FILAMENT_2_EN,
|
||||||
|
MSG_LOAD_FILAMENT_2_EN
|
||||||
|
};
|
||||||
|
|
||||||
|
const char MSG_LOAD_FILAMENT_3_EN[] PROGMEM = "Load filament 3";
|
||||||
|
const char MSG_LOAD_FILAMENT_3_CZ[] PROGMEM = "Zavest filament 3";
|
||||||
|
const char * const MSG_LOAD_FILAMENT_3_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||||
|
MSG_LOAD_FILAMENT_3_EN,
|
||||||
|
MSG_LOAD_FILAMENT_3_CZ,
|
||||||
|
MSG_LOAD_FILAMENT_3_EN,
|
||||||
|
MSG_LOAD_FILAMENT_3_EN,
|
||||||
|
MSG_LOAD_FILAMENT_3_EN,
|
||||||
|
MSG_LOAD_FILAMENT_3_EN
|
||||||
|
};
|
||||||
|
|
||||||
|
const char MSG_LOAD_FILAMENT_4_EN[] PROGMEM = "Load filament 4";
|
||||||
|
const char MSG_LOAD_FILAMENT_4_CZ[] PROGMEM = "Zavest filament 4";
|
||||||
|
const char * const MSG_LOAD_FILAMENT_4_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||||
|
MSG_LOAD_FILAMENT_4_EN,
|
||||||
|
MSG_LOAD_FILAMENT_4_CZ,
|
||||||
|
MSG_LOAD_FILAMENT_4_EN,
|
||||||
|
MSG_LOAD_FILAMENT_4_EN,
|
||||||
|
MSG_LOAD_FILAMENT_4_EN,
|
||||||
|
MSG_LOAD_FILAMENT_4_EN
|
||||||
|
};
|
||||||
|
|
||||||
const char MSG_LOOSE_PULLEY_EN[] PROGMEM = "Loose pulley";
|
const char MSG_LOOSE_PULLEY_EN[] PROGMEM = "Loose pulley";
|
||||||
const char MSG_LOOSE_PULLEY_CZ[] PROGMEM = "Uvolnena remenicka";
|
const char MSG_LOOSE_PULLEY_CZ[] PROGMEM = "Uvolnena remenicka";
|
||||||
const char MSG_LOOSE_PULLEY_IT[] PROGMEM = "Puleggia lenta";
|
const char MSG_LOOSE_PULLEY_IT[] PROGMEM = "Puleggia lenta";
|
||||||
|
@ -2947,6 +2991,17 @@ const char * const MSG_UNLOADING_FILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||||
MSG_UNLOADING_FILAMENT_DE
|
MSG_UNLOADING_FILAMENT_DE
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const char MSG_UNLOAD_ALL_EN[] PROGMEM = "Unload all";
|
||||||
|
const char MSG_UNLOAD_ALL_CZ[] PROGMEM = "Vyjmout vse";
|
||||||
|
const char * const MSG_UNLOAD_ALL_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||||
|
MSG_UNLOAD_ALL_EN,
|
||||||
|
MSG_UNLOAD_ALL_CZ,
|
||||||
|
MSG_UNLOAD_ALL_EN,
|
||||||
|
MSG_UNLOAD_ALL_EN,
|
||||||
|
MSG_UNLOAD_ALL_EN,
|
||||||
|
MSG_UNLOAD_ALL_EN
|
||||||
|
};
|
||||||
|
|
||||||
const char MSG_UNLOAD_FILAMENT_EN[] PROGMEM = "Unload filament";
|
const char MSG_UNLOAD_FILAMENT_EN[] PROGMEM = "Unload filament";
|
||||||
const char MSG_UNLOAD_FILAMENT_CZ[] PROGMEM = "Vyjmout filament";
|
const char MSG_UNLOAD_FILAMENT_CZ[] PROGMEM = "Vyjmout filament";
|
||||||
const char MSG_UNLOAD_FILAMENT_IT[] PROGMEM = "Scarica filamento";
|
const char MSG_UNLOAD_FILAMENT_IT[] PROGMEM = "Scarica filamento";
|
||||||
|
@ -2962,6 +3017,50 @@ const char * const MSG_UNLOAD_FILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||||
MSG_UNLOAD_FILAMENT_DE
|
MSG_UNLOAD_FILAMENT_DE
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const char MSG_UNLOAD_FILAMENT_1_EN[] PROGMEM = "Unload filament 1";
|
||||||
|
const char MSG_UNLOAD_FILAMENT_1_CZ[] PROGMEM = "Vyjmout filament 1";
|
||||||
|
const char * const MSG_UNLOAD_FILAMENT_1_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||||
|
MSG_UNLOAD_FILAMENT_1_EN,
|
||||||
|
MSG_UNLOAD_FILAMENT_1_CZ,
|
||||||
|
MSG_UNLOAD_FILAMENT_1_EN,
|
||||||
|
MSG_UNLOAD_FILAMENT_1_EN,
|
||||||
|
MSG_UNLOAD_FILAMENT_1_EN,
|
||||||
|
MSG_UNLOAD_FILAMENT_1_EN
|
||||||
|
};
|
||||||
|
|
||||||
|
const char MSG_UNLOAD_FILAMENT_2_EN[] PROGMEM = "Unload filament 2";
|
||||||
|
const char MSG_UNLOAD_FILAMENT_2_CZ[] PROGMEM = "Vyjmout filament 2";
|
||||||
|
const char * const MSG_UNLOAD_FILAMENT_2_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||||
|
MSG_UNLOAD_FILAMENT_2_EN,
|
||||||
|
MSG_UNLOAD_FILAMENT_2_CZ,
|
||||||
|
MSG_UNLOAD_FILAMENT_2_EN,
|
||||||
|
MSG_UNLOAD_FILAMENT_2_EN,
|
||||||
|
MSG_UNLOAD_FILAMENT_2_EN,
|
||||||
|
MSG_UNLOAD_FILAMENT_2_EN
|
||||||
|
};
|
||||||
|
|
||||||
|
const char MSG_UNLOAD_FILAMENT_3_EN[] PROGMEM = "Unload filament 3";
|
||||||
|
const char MSG_UNLOAD_FILAMENT_3_CZ[] PROGMEM = "Vyjmout filament 3";
|
||||||
|
const char * const MSG_UNLOAD_FILAMENT_3_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||||
|
MSG_UNLOAD_FILAMENT_3_EN,
|
||||||
|
MSG_UNLOAD_FILAMENT_3_CZ,
|
||||||
|
MSG_UNLOAD_FILAMENT_3_EN,
|
||||||
|
MSG_UNLOAD_FILAMENT_3_EN,
|
||||||
|
MSG_UNLOAD_FILAMENT_3_EN,
|
||||||
|
MSG_UNLOAD_FILAMENT_3_EN
|
||||||
|
};
|
||||||
|
|
||||||
|
const char MSG_UNLOAD_FILAMENT_4_EN[] PROGMEM = "Unload filament 4";
|
||||||
|
const char MSG_UNLOAD_FILAMENT_4_CZ[] PROGMEM = "Vyjmout filament 4";
|
||||||
|
const char * const MSG_UNLOAD_FILAMENT_4_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||||
|
MSG_UNLOAD_FILAMENT_4_EN,
|
||||||
|
MSG_UNLOAD_FILAMENT_4_CZ,
|
||||||
|
MSG_UNLOAD_FILAMENT_4_EN,
|
||||||
|
MSG_UNLOAD_FILAMENT_4_EN,
|
||||||
|
MSG_UNLOAD_FILAMENT_4_EN,
|
||||||
|
MSG_UNLOAD_FILAMENT_4_EN
|
||||||
|
};
|
||||||
|
|
||||||
const char MSG_USB_PRINTING_EN[] PROGMEM = "USB printing ";
|
const char MSG_USB_PRINTING_EN[] PROGMEM = "USB printing ";
|
||||||
const char MSG_USB_PRINTING_CZ[] PROGMEM = "Tisk z USB ";
|
const char MSG_USB_PRINTING_CZ[] PROGMEM = "Tisk z USB ";
|
||||||
const char MSG_USB_PRINTING_IT[] PROGMEM = "Stampa da USB";
|
const char MSG_USB_PRINTING_IT[] PROGMEM = "Stampa da USB";
|
||||||
|
|
|
@ -259,6 +259,14 @@ extern const char* const MSG_LOAD_EPROM_LANG_TABLE[1];
|
||||||
#define MSG_LOAD_EPROM LANG_TABLE_SELECT_EXPLICIT(MSG_LOAD_EPROM_LANG_TABLE, 0)
|
#define MSG_LOAD_EPROM LANG_TABLE_SELECT_EXPLICIT(MSG_LOAD_EPROM_LANG_TABLE, 0)
|
||||||
extern const char* const MSG_LOAD_FILAMENT_LANG_TABLE[LANG_NUM];
|
extern const char* const MSG_LOAD_FILAMENT_LANG_TABLE[LANG_NUM];
|
||||||
#define MSG_LOAD_FILAMENT LANG_TABLE_SELECT(MSG_LOAD_FILAMENT_LANG_TABLE)
|
#define MSG_LOAD_FILAMENT LANG_TABLE_SELECT(MSG_LOAD_FILAMENT_LANG_TABLE)
|
||||||
|
extern const char* const MSG_LOAD_FILAMENT_1_LANG_TABLE[LANG_NUM];
|
||||||
|
#define MSG_LOAD_FILAMENT_1 LANG_TABLE_SELECT(MSG_LOAD_FILAMENT_1_LANG_TABLE)
|
||||||
|
extern const char* const MSG_LOAD_FILAMENT_2_LANG_TABLE[LANG_NUM];
|
||||||
|
#define MSG_LOAD_FILAMENT_2 LANG_TABLE_SELECT(MSG_LOAD_FILAMENT_2_LANG_TABLE)
|
||||||
|
extern const char* const MSG_LOAD_FILAMENT_3_LANG_TABLE[LANG_NUM];
|
||||||
|
#define MSG_LOAD_FILAMENT_3 LANG_TABLE_SELECT(MSG_LOAD_FILAMENT_3_LANG_TABLE)
|
||||||
|
extern const char* const MSG_LOAD_FILAMENT_4_LANG_TABLE[LANG_NUM];
|
||||||
|
#define MSG_LOAD_FILAMENT_4 LANG_TABLE_SELECT(MSG_LOAD_FILAMENT_4_LANG_TABLE)
|
||||||
extern const char* const MSG_LOOSE_PULLEY_LANG_TABLE[LANG_NUM];
|
extern const char* const MSG_LOOSE_PULLEY_LANG_TABLE[LANG_NUM];
|
||||||
#define MSG_LOOSE_PULLEY LANG_TABLE_SELECT(MSG_LOOSE_PULLEY_LANG_TABLE)
|
#define MSG_LOOSE_PULLEY LANG_TABLE_SELECT(MSG_LOOSE_PULLEY_LANG_TABLE)
|
||||||
extern const char* const MSG_M104_INVALID_EXTRUDER_LANG_TABLE[1];
|
extern const char* const MSG_M104_INVALID_EXTRUDER_LANG_TABLE[1];
|
||||||
|
@ -555,8 +563,18 @@ extern const char* const MSG_UNKNOWN_COMMAND_LANG_TABLE[1];
|
||||||
#define MSG_UNKNOWN_COMMAND LANG_TABLE_SELECT_EXPLICIT(MSG_UNKNOWN_COMMAND_LANG_TABLE, 0)
|
#define MSG_UNKNOWN_COMMAND LANG_TABLE_SELECT_EXPLICIT(MSG_UNKNOWN_COMMAND_LANG_TABLE, 0)
|
||||||
extern const char* const MSG_UNLOADING_FILAMENT_LANG_TABLE[LANG_NUM];
|
extern const char* const MSG_UNLOADING_FILAMENT_LANG_TABLE[LANG_NUM];
|
||||||
#define MSG_UNLOADING_FILAMENT LANG_TABLE_SELECT(MSG_UNLOADING_FILAMENT_LANG_TABLE)
|
#define MSG_UNLOADING_FILAMENT LANG_TABLE_SELECT(MSG_UNLOADING_FILAMENT_LANG_TABLE)
|
||||||
|
extern const char* const MSG_UNLOAD_ALL_LANG_TABLE[LANG_NUM];
|
||||||
|
#define MSG_UNLOAD_ALL LANG_TABLE_SELECT(MSG_UNLOAD_ALL_LANG_TABLE)
|
||||||
extern const char* const MSG_UNLOAD_FILAMENT_LANG_TABLE[LANG_NUM];
|
extern const char* const MSG_UNLOAD_FILAMENT_LANG_TABLE[LANG_NUM];
|
||||||
#define MSG_UNLOAD_FILAMENT LANG_TABLE_SELECT(MSG_UNLOAD_FILAMENT_LANG_TABLE)
|
#define MSG_UNLOAD_FILAMENT LANG_TABLE_SELECT(MSG_UNLOAD_FILAMENT_LANG_TABLE)
|
||||||
|
extern const char* const MSG_UNLOAD_FILAMENT_1_LANG_TABLE[LANG_NUM];
|
||||||
|
#define MSG_UNLOAD_FILAMENT_1 LANG_TABLE_SELECT(MSG_UNLOAD_FILAMENT_1_LANG_TABLE)
|
||||||
|
extern const char* const MSG_UNLOAD_FILAMENT_2_LANG_TABLE[LANG_NUM];
|
||||||
|
#define MSG_UNLOAD_FILAMENT_2 LANG_TABLE_SELECT(MSG_UNLOAD_FILAMENT_2_LANG_TABLE)
|
||||||
|
extern const char* const MSG_UNLOAD_FILAMENT_3_LANG_TABLE[LANG_NUM];
|
||||||
|
#define MSG_UNLOAD_FILAMENT_3 LANG_TABLE_SELECT(MSG_UNLOAD_FILAMENT_3_LANG_TABLE)
|
||||||
|
extern const char* const MSG_UNLOAD_FILAMENT_4_LANG_TABLE[LANG_NUM];
|
||||||
|
#define MSG_UNLOAD_FILAMENT_4 LANG_TABLE_SELECT(MSG_UNLOAD_FILAMENT_4_LANG_TABLE)
|
||||||
extern const char* const MSG_USB_PRINTING_LANG_TABLE[LANG_NUM];
|
extern const char* const MSG_USB_PRINTING_LANG_TABLE[LANG_NUM];
|
||||||
#define MSG_USB_PRINTING LANG_TABLE_SELECT(MSG_USB_PRINTING_LANG_TABLE)
|
#define MSG_USB_PRINTING LANG_TABLE_SELECT(MSG_USB_PRINTING_LANG_TABLE)
|
||||||
extern const char* const MSG_USERWAIT_LANG_TABLE[LANG_NUM];
|
extern const char* const MSG_USERWAIT_LANG_TABLE[LANG_NUM];
|
||||||
|
|
|
@ -74,6 +74,15 @@
|
||||||
#define MSG_PREHEAT "Predehrev"
|
#define MSG_PREHEAT "Predehrev"
|
||||||
#define MSG_UNLOAD_FILAMENT "Vyjmout filament"
|
#define MSG_UNLOAD_FILAMENT "Vyjmout filament"
|
||||||
#define MSG_LOAD_FILAMENT "Zavest filament"
|
#define MSG_LOAD_FILAMENT "Zavest filament"
|
||||||
|
#define MSG_LOAD_FILAMENT_1 "Zavest filament 1"
|
||||||
|
#define MSG_LOAD_FILAMENT_2 "Zavest filament 2"
|
||||||
|
#define MSG_LOAD_FILAMENT_3 "Zavest filament 3"
|
||||||
|
#define MSG_LOAD_FILAMENT_4 "Zavest filament 4"
|
||||||
|
#define MSG_UNLOAD_FILAMENT_1 "Vyjmout filament 1"
|
||||||
|
#define MSG_UNLOAD_FILAMENT_2 "Vyjmout filament 2"
|
||||||
|
#define MSG_UNLOAD_FILAMENT_3 "Vyjmout filament 3"
|
||||||
|
#define MSG_UNLOAD_FILAMENT_4 "Vyjmout filament 4"
|
||||||
|
#define MSG_UNLOAD_ALL "Vyjmout vse"
|
||||||
|
|
||||||
#define MSG_RECTRACT "Rectract"
|
#define MSG_RECTRACT "Rectract"
|
||||||
#define MSG_ERROR "CHYBA:"
|
#define MSG_ERROR "CHYBA:"
|
||||||
|
|
|
@ -71,6 +71,16 @@
|
||||||
#define MSG_PREHEAT "Preheat"
|
#define MSG_PREHEAT "Preheat"
|
||||||
#define MSG_UNLOAD_FILAMENT "Unload filament"
|
#define MSG_UNLOAD_FILAMENT "Unload filament"
|
||||||
#define MSG_LOAD_FILAMENT "Load filament"
|
#define MSG_LOAD_FILAMENT "Load filament"
|
||||||
|
#define MSG_LOAD_FILAMENT_1 "Load filament 1"
|
||||||
|
#define MSG_LOAD_FILAMENT_2 "Load filament 2"
|
||||||
|
#define MSG_LOAD_FILAMENT_3 "Load filament 3"
|
||||||
|
#define MSG_LOAD_FILAMENT_4 "Load filament 4"
|
||||||
|
#define MSG_UNLOAD_FILAMENT_1 "Unload filament 1"
|
||||||
|
#define MSG_UNLOAD_FILAMENT_2 "Unload filament 2"
|
||||||
|
#define MSG_UNLOAD_FILAMENT_3 "Unload filament 3"
|
||||||
|
#define MSG_UNLOAD_FILAMENT_4 "Unload filament 4"
|
||||||
|
#define MSG_UNLOAD_ALL "Unload all"
|
||||||
|
|
||||||
|
|
||||||
#define MSG_RECTRACT "Rectract"
|
#define MSG_RECTRACT "Rectract"
|
||||||
#define MSG_ERROR "ERROR:"
|
#define MSG_ERROR "ERROR:"
|
||||||
|
|
|
@ -2825,39 +2825,104 @@ void lcd_mylang() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
char reset_menu() {
|
void bowden_menu() {
|
||||||
int enc_dif = 0;
|
int enc_dif = encoderDiff;
|
||||||
char cursor_pos = 0;
|
int cursor_pos = 0;
|
||||||
|
|
||||||
lcd_implementation_clear();
|
lcd_implementation_clear();
|
||||||
|
lcd.setCursor(0, 0);
|
||||||
|
lcd.print(">");
|
||||||
|
for (int i = 0; i < 4; i++) {
|
||||||
|
lcd.setCursor(1, i);
|
||||||
|
lcd.print("Extruder ");
|
||||||
|
lcd.print(i);
|
||||||
|
lcd.print(": ");
|
||||||
|
EEPROM_read_B(EEPROM_BOWDEN_LENGTH + i * 2, &bowden_length[i]);
|
||||||
|
lcd.print(bowden_length[i]);
|
||||||
|
|
||||||
lcd.setCursor(1, 0);
|
}
|
||||||
|
enc_dif = encoderDiff;
|
||||||
|
while (1) {
|
||||||
|
|
||||||
lcd_printPGM(PSTR("Language"));
|
manage_heater();
|
||||||
|
manage_inactivity(true);
|
||||||
|
|
||||||
lcd.setCursor(1, 1);
|
|
||||||
|
|
||||||
lcd_printPGM(PSTR("Statistics"));
|
|
||||||
|
|
||||||
|
|
||||||
lcd.setCursor(1, 2);
|
|
||||||
|
|
||||||
lcd_printPGM(PSTR("Shiping prep"));
|
|
||||||
|
|
||||||
lcd.setCursor(1, 3);
|
|
||||||
|
|
||||||
lcd_printPGM(PSTR("All data"));
|
|
||||||
|
|
||||||
lcd.setCursor(0, 0);
|
lcd.setCursor(0, 0);
|
||||||
|
lcd.print(" ");
|
||||||
|
lcd.setCursor(0, 1);
|
||||||
|
lcd.print(" ");
|
||||||
|
lcd.setCursor(0, 2);
|
||||||
|
lcd.print(" ");
|
||||||
|
lcd.setCursor(0, 3);
|
||||||
|
lcd.print(" ");
|
||||||
|
lcd.setCursor(0, cursor_pos);
|
||||||
lcd.print(">");
|
lcd.print(">");
|
||||||
|
|
||||||
|
|
||||||
|
if (abs((enc_dif - encoderDiff)) > 4) {
|
||||||
|
|
||||||
|
if ((abs(enc_dif - encoderDiff)) > 1) {
|
||||||
|
if (enc_dif > encoderDiff) {
|
||||||
|
bowden_length[cursor_pos]--;
|
||||||
|
lcd.setCursor(13, cursor_pos);
|
||||||
|
lcd.print(bowden_length[cursor_pos]);
|
||||||
enc_dif = encoderDiff;
|
enc_dif = encoderDiff;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (enc_dif < encoderDiff) {
|
||||||
|
bowden_length[cursor_pos]++;
|
||||||
|
lcd.setCursor(13, cursor_pos);
|
||||||
|
lcd.print(bowden_length[cursor_pos]);
|
||||||
|
enc_dif = encoderDiff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
delay(100);
|
||||||
|
if (lcd_clicked()) {
|
||||||
|
while (lcd_clicked());
|
||||||
|
delay(10);
|
||||||
|
while (lcd_clicked());
|
||||||
|
EEPROM_save_B(EEPROM_BOWDEN_LENGTH + cursor_pos * 2, &bowden_length[cursor_pos]);
|
||||||
|
if (cursor_pos == 3) return;
|
||||||
|
else {
|
||||||
|
cursor_pos++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
char reset_menu() {
|
||||||
|
#ifdef SNMM
|
||||||
|
int items_no = 5;
|
||||||
|
#else
|
||||||
|
int items_no = 4;
|
||||||
|
#endif
|
||||||
|
static int first = 0;
|
||||||
|
int enc_dif = 0;
|
||||||
|
char cursor_pos = 0;
|
||||||
|
const char *item [items_no];
|
||||||
|
|
||||||
|
item[0] = "Language";
|
||||||
|
item[1] = "Statistics";
|
||||||
|
item[2] = "Shipping prep";
|
||||||
|
item[3] = "All Data";
|
||||||
|
#ifdef SNMM
|
||||||
|
item[4] = "Bowden length";
|
||||||
|
#endif // SNMM
|
||||||
|
|
||||||
|
enc_dif = encoderDiff;
|
||||||
|
lcd_implementation_clear();
|
||||||
|
lcd.setCursor(0, 0);
|
||||||
|
lcd.print(">");
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
|
|
||||||
|
for (int i = 0; i < 4; i++) {
|
||||||
|
lcd.setCursor(1, i);
|
||||||
|
lcd.print(item[first + i]);
|
||||||
|
}
|
||||||
|
|
||||||
manage_heater();
|
manage_heater();
|
||||||
manage_inactivity(true);
|
manage_inactivity(true);
|
||||||
|
|
||||||
|
@ -2874,10 +2939,18 @@ char reset_menu() {
|
||||||
|
|
||||||
if (cursor_pos > 3) {
|
if (cursor_pos > 3) {
|
||||||
cursor_pos = 3;
|
cursor_pos = 3;
|
||||||
|
if (first < items_no - 4) {
|
||||||
|
first++;
|
||||||
|
lcd_implementation_clear();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cursor_pos < 0) {
|
if (cursor_pos < 0) {
|
||||||
cursor_pos = 0;
|
cursor_pos = 0;
|
||||||
|
if (first > 0) {
|
||||||
|
first--;
|
||||||
|
lcd_implementation_clear();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
lcd.setCursor(0, 0);
|
lcd.setCursor(0, 0);
|
||||||
lcd.print(" ");
|
lcd.print(" ");
|
||||||
|
@ -2899,7 +2972,7 @@ char reset_menu() {
|
||||||
while (lcd_clicked());
|
while (lcd_clicked());
|
||||||
delay(10);
|
delay(10);
|
||||||
while (lcd_clicked());
|
while (lcd_clicked());
|
||||||
return(cursor_pos);
|
return(cursor_pos + first);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -3141,11 +3214,23 @@ static void extr_change_3() {
|
||||||
|
|
||||||
//wrapper functions for unloading filament
|
//wrapper functions for unloading filament
|
||||||
static void extr_unload_all() {
|
static void extr_unload_all() {
|
||||||
|
if (degHotend0() > EXTRUDE_MINTEMP) {
|
||||||
for (int i = 0; i < 4; i++) {
|
for (int i = 0; i < 4; i++) {
|
||||||
change_extr(i);
|
change_extr(i);
|
||||||
extr_unload();
|
extr_unload();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
lcd_implementation_clear();
|
||||||
|
lcd.setCursor(0, 0);
|
||||||
|
lcd_printPGM(MSG_ERROR);
|
||||||
|
lcd.setCursor(0, 2);
|
||||||
|
lcd_printPGM(MSG_PREHEAT_NOZZLE);
|
||||||
|
delay(2000);
|
||||||
|
lcd_implementation_clear();
|
||||||
|
lcd_return_to_status();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void extr_unload_0() {
|
static void extr_unload_0() {
|
||||||
change_extr(0);
|
change_extr(0);
|
||||||
|
@ -3169,10 +3254,10 @@ static void fil_load_menu()
|
||||||
{
|
{
|
||||||
START_MENU();
|
START_MENU();
|
||||||
MENU_ITEM(back, MSG_MAIN, lcd_main_menu);
|
MENU_ITEM(back, MSG_MAIN, lcd_main_menu);
|
||||||
MENU_ITEM(function, PSTR("Load filament 1"), extr_adj_0);
|
MENU_ITEM(function, MSG_LOAD_FILAMENT_1, extr_adj_0);
|
||||||
MENU_ITEM(function, PSTR("Load filament 2 "), extr_adj_1);
|
MENU_ITEM(function, MSG_LOAD_FILAMENT_2, extr_adj_1);
|
||||||
MENU_ITEM(function, PSTR("Load filament 3"), extr_adj_2);
|
MENU_ITEM(function, MSG_LOAD_FILAMENT_3, extr_adj_2);
|
||||||
MENU_ITEM(function, PSTR("Load filament 4"), extr_adj_3);
|
MENU_ITEM(function, MSG_LOAD_FILAMENT_4, extr_adj_3);
|
||||||
|
|
||||||
END_MENU();
|
END_MENU();
|
||||||
}
|
}
|
||||||
|
@ -3182,16 +3267,16 @@ static void fil_unload_menu()
|
||||||
{
|
{
|
||||||
START_MENU();
|
START_MENU();
|
||||||
MENU_ITEM(back, MSG_MAIN, lcd_main_menu);
|
MENU_ITEM(back, MSG_MAIN, lcd_main_menu);
|
||||||
MENU_ITEM(function, PSTR("Unload all"), extr_unload_all);
|
MENU_ITEM(function, MSG_UNLOAD_ALL, extr_unload_all);
|
||||||
MENU_ITEM(function, PSTR("Unload filament 1"), extr_unload_0);
|
MENU_ITEM(function, MSG_UNLOAD_FILAMENT_1, extr_unload_0);
|
||||||
MENU_ITEM(function, PSTR("Unload filament 2"), extr_unload_1);
|
MENU_ITEM(function, MSG_UNLOAD_FILAMENT_2, extr_unload_1);
|
||||||
MENU_ITEM(function, PSTR("Unload filament 3"), extr_unload_2);
|
MENU_ITEM(function, MSG_UNLOAD_FILAMENT_3, extr_unload_2);
|
||||||
MENU_ITEM(function, PSTR("Unload filament 4"), extr_unload_3);
|
MENU_ITEM(function, MSG_UNLOAD_FILAMENT_4, extr_unload_3);
|
||||||
|
|
||||||
END_MENU();
|
END_MENU();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void change_extr_menu(){
|
/*static void change_extr_menu(){
|
||||||
START_MENU();
|
START_MENU();
|
||||||
MENU_ITEM(back, MSG_MAIN, lcd_main_menu);
|
MENU_ITEM(back, MSG_MAIN, lcd_main_menu);
|
||||||
MENU_ITEM(function, PSTR("Extruder 1"), extr_change_0);
|
MENU_ITEM(function, PSTR("Extruder 1"), extr_change_0);
|
||||||
|
@ -3200,7 +3285,7 @@ static void change_extr_menu(){
|
||||||
MENU_ITEM(function, PSTR("Extruder 4"), extr_change_3);
|
MENU_ITEM(function, PSTR("Extruder 4"), extr_change_3);
|
||||||
|
|
||||||
END_MENU();
|
END_MENU();
|
||||||
}
|
}*/
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -3468,7 +3553,7 @@ static void lcd_main_menu()
|
||||||
#ifdef SNMM
|
#ifdef SNMM
|
||||||
MENU_ITEM(submenu, MSG_LOAD_FILAMENT, fil_load_menu);
|
MENU_ITEM(submenu, MSG_LOAD_FILAMENT, fil_load_menu);
|
||||||
MENU_ITEM(submenu, MSG_UNLOAD_FILAMENT, fil_unload_menu);
|
MENU_ITEM(submenu, MSG_UNLOAD_FILAMENT, fil_unload_menu);
|
||||||
MENU_ITEM(submenu, MSG_CHANGE_EXTR, change_extr_menu);
|
//MENU_ITEM(submenu, MSG_CHANGE_EXTR, change_extr_menu);
|
||||||
#endif
|
#endif
|
||||||
MENU_ITEM(submenu, MSG_SETTINGS, lcd_settings_menu);
|
MENU_ITEM(submenu, MSG_SETTINGS, lcd_settings_menu);
|
||||||
if(!isPrintPaused) MENU_ITEM(submenu, MSG_MENU_CALIBRATION, lcd_calibration_menu);
|
if(!isPrintPaused) MENU_ITEM(submenu, MSG_MENU_CALIBRATION, lcd_calibration_menu);
|
||||||
|
|
|
@ -241,6 +241,7 @@ void lcd_extr_cal_reset();
|
||||||
|
|
||||||
union MenuData;
|
union MenuData;
|
||||||
|
|
||||||
|
void bowden_menu();
|
||||||
char reset_menu();
|
char reset_menu();
|
||||||
|
|
||||||
void lcd_pinda_calibration_menu();
|
void lcd_pinda_calibration_menu();
|
||||||
|
|
|
@ -776,15 +776,17 @@ static void lcd_implementation_status_screen()
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
lcd.setCursor(LCD_WIDTH - 8 - 2, 2);
|
|
||||||
lcd_printPGM(PSTR(" "));
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef SNMM
|
#ifdef SNMM
|
||||||
lcd_printPGM(PSTR(" E"));
|
lcd_printPGM(PSTR(" E"));
|
||||||
lcd.print(get_ext_nr() + 1);
|
lcd.print(get_ext_nr() + 1);
|
||||||
|
|
||||||
|
#else
|
||||||
|
lcd.setCursor(LCD_WIDTH - 8 - 2, 2);
|
||||||
|
lcd_printPGM(PSTR(" "));
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Print time elapsed
|
//Print time elapsed
|
||||||
lcd.setCursor(LCD_WIDTH - 8 -1, 2);
|
lcd.setCursor(LCD_WIDTH - 8 -1, 2);
|
||||||
|
|
Loading…
Reference in a new issue