Merge branch 'MK3' into codesize
This commit is contained in:
commit
3975415490
|
|
@ -764,10 +764,8 @@ static void factory_reset(char level)
|
||||||
// Force the "Follow calibration flow" message at the next boot up.
|
// Force the "Follow calibration flow" message at the next boot up.
|
||||||
calibration_status_store(CALIBRATION_STATUS_Z_CALIBRATION);
|
calibration_status_store(CALIBRATION_STATUS_Z_CALIBRATION);
|
||||||
eeprom_write_byte((uint8_t*)EEPROM_WIZARD_ACTIVE, 1); //run wizard
|
eeprom_write_byte((uint8_t*)EEPROM_WIZARD_ACTIVE, 1); //run wizard
|
||||||
farm_no = 0;
|
|
||||||
farm_mode = false;
|
farm_mode = false;
|
||||||
eeprom_update_byte((uint8_t*)EEPROM_FARM_MODE, farm_mode);
|
eeprom_update_byte((uint8_t*)EEPROM_FARM_MODE, farm_mode);
|
||||||
EEPROM_save_B(EEPROM_FARM_NUMBER, &farm_no);
|
|
||||||
|
|
||||||
eeprom_update_dword((uint32_t *)EEPROM_TOTALTIME, 0);
|
eeprom_update_dword((uint32_t *)EEPROM_TOTALTIME, 0);
|
||||||
eeprom_update_dword((uint32_t *)EEPROM_FILAMENTUSED, 0);
|
eeprom_update_dword((uint32_t *)EEPROM_FILAMENTUSED, 0);
|
||||||
|
|
@ -1101,16 +1099,16 @@ void setup()
|
||||||
setup_powerhold();
|
setup_powerhold();
|
||||||
|
|
||||||
farm_mode = eeprom_read_byte((uint8_t*)EEPROM_FARM_MODE);
|
farm_mode = eeprom_read_byte((uint8_t*)EEPROM_FARM_MODE);
|
||||||
EEPROM_read_B(EEPROM_FARM_NUMBER, &farm_no);
|
if (farm_mode == 0xFF)
|
||||||
if ((farm_mode == 0xFF && farm_no == 0) || ((uint16_t)farm_no == 0xFFFF))
|
|
||||||
farm_mode = false; //if farm_mode has not been stored to eeprom yet and farm number is set to zero or EEPROM is fresh, deactivate farm mode
|
farm_mode = false; //if farm_mode has not been stored to eeprom yet and farm number is set to zero or EEPROM is fresh, deactivate farm mode
|
||||||
if ((uint16_t)farm_no == 0xFFFF) farm_no = 0;
|
|
||||||
if (farm_mode)
|
if (farm_mode)
|
||||||
{
|
{
|
||||||
no_response = true; //we need confirmation by recieving PRUSA thx
|
no_response = true; //we need confirmation by recieving PRUSA thx
|
||||||
important_status = 8;
|
important_status = 8;
|
||||||
prusa_statistics(8);
|
prusa_statistics(8);
|
||||||
|
#ifdef HAS_SECOND_SERIAL_PORT
|
||||||
selectedSerialPort = 1;
|
selectedSerialPort = 1;
|
||||||
|
#endif //HAS_SECOND_SERIAL_PORT
|
||||||
MYSERIAL.begin(BAUDRATE);
|
MYSERIAL.begin(BAUDRATE);
|
||||||
#ifdef TMC2130
|
#ifdef TMC2130
|
||||||
//increased extruder current (PFW363)
|
//increased extruder current (PFW363)
|
||||||
|
|
@ -1420,9 +1418,7 @@ void setup()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
farm_mode = eeprom_read_byte((uint8_t*)EEPROM_FARM_MODE);
|
farm_mode = eeprom_read_byte((uint8_t*)EEPROM_FARM_MODE);
|
||||||
EEPROM_read_B(EEPROM_FARM_NUMBER, &farm_no);
|
if (farm_mode == 0xFF) farm_mode = false; //if farm_mode has not been stored to eeprom yet and farm number is set to zero or EEPROM is fresh, deactivate farm mode
|
||||||
if ((farm_mode == 0xFF && farm_no == 0) || (farm_no == static_cast<int>(0xFFFF))) farm_mode = false; //if farm_mode has not been stored to eeprom yet and farm number is set to zero or EEPROM is fresh, deactivate farm mode
|
|
||||||
if (farm_no == static_cast<int>(0xFFFF)) farm_no = 0;
|
|
||||||
if (farm_mode)
|
if (farm_mode)
|
||||||
{
|
{
|
||||||
prusa_statistics(8);
|
prusa_statistics(8);
|
||||||
|
|
@ -3956,7 +3952,6 @@ void process_commands()
|
||||||
if (code_seen_P(PSTR("Ping"))) { // PRUSA Ping
|
if (code_seen_P(PSTR("Ping"))) { // PRUSA Ping
|
||||||
if (farm_mode) {
|
if (farm_mode) {
|
||||||
PingTime = _millis();
|
PingTime = _millis();
|
||||||
//MYSERIAL.print(farm_no); MYSERIAL.println(": OK");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (code_seen_P(PSTR("PRN"))) { // PRUSA PRN
|
else if (code_seen_P(PSTR("PRN"))) { // PRUSA PRN
|
||||||
|
|
@ -3966,14 +3961,6 @@ void process_commands()
|
||||||
gcode_PRUSA_BadRAMBoFanTest();
|
gcode_PRUSA_BadRAMBoFanTest();
|
||||||
}else if (code_seen_P(PSTR("FAN"))) { // PRUSA FAN
|
}else if (code_seen_P(PSTR("FAN"))) { // PRUSA FAN
|
||||||
printf_P(_N("E0:%d RPM\nPRN0:%d RPM\n"), 60*fan_speed[0], 60*fan_speed[1]);
|
printf_P(_N("E0:%d RPM\nPRN0:%d RPM\n"), 60*fan_speed[0], 60*fan_speed[1]);
|
||||||
}else if (code_seen_P(PSTR("fn"))) { // PRUSA fn
|
|
||||||
if (farm_mode) {
|
|
||||||
printf_P(_N("%d"), farm_no);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
puts_P(_N("Not in farm mode."));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (code_seen_P(PSTR("thx"))) // PRUSA thx
|
else if (code_seen_P(PSTR("thx"))) // PRUSA thx
|
||||||
{
|
{
|
||||||
|
|
@ -3989,20 +3976,16 @@ void process_commands()
|
||||||
mmu_reset();
|
mmu_reset();
|
||||||
}
|
}
|
||||||
else if (code_seen_P(PSTR("RESET"))) { // PRUSA RESET
|
else if (code_seen_P(PSTR("RESET"))) { // PRUSA RESET
|
||||||
// careful!
|
#ifdef WATCHDOG
|
||||||
if (farm_mode) {
|
#if defined(W25X20CL) && defined(BOOTAPP)
|
||||||
#if (defined(WATCHDOG) && (MOTHERBOARD == BOARD_EINSY_1_0a))
|
boot_app_magic = BOOT_APP_MAGIC;
|
||||||
boot_app_magic = BOOT_APP_MAGIC;
|
boot_app_flags = BOOT_APP_FLG_RUN;
|
||||||
boot_app_flags = BOOT_APP_FLG_RUN;
|
#endif //defined(W25X20CL) && defined(BOOTAPP)
|
||||||
softReset();
|
softReset();
|
||||||
#else //WATCHDOG
|
#elif defined(BOOTAPP) //this is a safety precaution. This is because the new bootloader turns off the heaters, but the old one doesn't. The watchdog should be used most of the time.
|
||||||
asm volatile("jmp 0x3E000");
|
asm volatile("jmp 0x3E000");
|
||||||
#endif //WATCHDOG
|
#endif
|
||||||
}
|
}else if (code_seen("fv")) { // PRUSA fv
|
||||||
else {
|
|
||||||
MYSERIAL.println("Not in farm mode."); // @@TODO
|
|
||||||
}
|
|
||||||
}else if (code_seen_P(PSTR("fv"))) { // PRUSA fv
|
|
||||||
// get file version
|
// get file version
|
||||||
#ifdef SDSUPPORT
|
#ifdef SDSUPPORT
|
||||||
card.openFile(strchr_pointer + 3,true);
|
card.openFile(strchr_pointer + 3,true);
|
||||||
|
|
@ -5629,10 +5612,9 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
||||||
farm_mode = 1;
|
farm_mode = 1;
|
||||||
PingTime = _millis();
|
PingTime = _millis();
|
||||||
eeprom_update_byte((unsigned char *)EEPROM_FARM_MODE, farm_mode);
|
eeprom_update_byte((unsigned char *)EEPROM_FARM_MODE, farm_mode);
|
||||||
EEPROM_save_B(EEPROM_FARM_NUMBER, &farm_no);
|
SilentModeMenu = SILENT_MODE_OFF;
|
||||||
SilentModeMenu = SILENT_MODE_OFF;
|
eeprom_update_byte((unsigned char *)EEPROM_SILENT, SilentModeMenu);
|
||||||
eeprom_update_byte((unsigned char *)EEPROM_SILENT, SilentModeMenu);
|
fCheckModeInit(); // alternatively invoke printer reset
|
||||||
fCheckModeInit(); // alternatively invoke printer reset
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/*! ### G99 - Deactivate farm mode <a href="https://reprap.org/wiki/G-code#G99:_Deactivate_farm_mode">G99: Deactivate farm mode</a>
|
/*! ### G99 - Deactivate farm mode <a href="https://reprap.org/wiki/G-code#G99:_Deactivate_farm_mode">G99: Deactivate farm mode</a>
|
||||||
|
|
@ -8342,7 +8324,7 @@ Sigma_Exit:
|
||||||
if(code_seen('P'))
|
if(code_seen('P'))
|
||||||
fw_version_check(++strchr_pointer);
|
fw_version_check(++strchr_pointer);
|
||||||
else if(code_seen('Q'))
|
else if(code_seen('Q'))
|
||||||
SERIAL_PROTOCOLLN(FW_VERSION);
|
SERIAL_PROTOCOLLNRPGM(FW_VERSION_STR_P());
|
||||||
break;
|
break;
|
||||||
case ClPrintChecking::_Gcode: // ~ .5
|
case ClPrintChecking::_Gcode: // ~ .5
|
||||||
if(code_seen('P'))
|
if(code_seen('P'))
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,6 @@ unsigned int custom_message_state = 0;
|
||||||
|
|
||||||
bool isPrintPaused = false;
|
bool isPrintPaused = false;
|
||||||
uint8_t farm_mode = 0;
|
uint8_t farm_mode = 0;
|
||||||
int farm_no = 0;
|
|
||||||
int farm_timer = 8;
|
int farm_timer = 8;
|
||||||
uint8_t farm_status = 0;
|
uint8_t farm_status = 0;
|
||||||
bool printer_connected = true;
|
bool printer_connected = true;
|
||||||
|
|
@ -137,7 +136,6 @@ static void prusa_stat_farm_number();
|
||||||
static void prusa_stat_diameter();
|
static void prusa_stat_diameter();
|
||||||
static void prusa_stat_temperatures();
|
static void prusa_stat_temperatures();
|
||||||
static void prusa_stat_printinfo();
|
static void prusa_stat_printinfo();
|
||||||
static void lcd_farm_no();
|
|
||||||
static void lcd_menu_xyz_y_min();
|
static void lcd_menu_xyz_y_min();
|
||||||
static void lcd_menu_xyz_skew();
|
static void lcd_menu_xyz_skew();
|
||||||
static void lcd_menu_xyz_offset();
|
static void lcd_menu_xyz_offset();
|
||||||
|
|
@ -671,39 +669,7 @@ void lcdui_print_extruder(void)
|
||||||
// Print farm number (5 chars total)
|
// Print farm number (5 chars total)
|
||||||
void lcdui_print_farm(void)
|
void lcdui_print_farm(void)
|
||||||
{
|
{
|
||||||
int chars = lcd_printf_P(_N(" F0 "));
|
lcd_printf_P(_N(" FRM "));
|
||||||
// lcd_space(5 - chars);
|
|
||||||
/*
|
|
||||||
// Farm number display
|
|
||||||
if (farm_mode)
|
|
||||||
{
|
|
||||||
lcd_set_cursor(6, 2);
|
|
||||||
lcd_puts_P(PSTR(" F"));
|
|
||||||
lcd_print(farm_no);
|
|
||||||
lcd_puts_P(PSTR(" "));
|
|
||||||
|
|
||||||
// Beat display
|
|
||||||
lcd_set_cursor(LCD_WIDTH - 1, 0);
|
|
||||||
if ( (_millis() - kicktime) < 60000 ) {
|
|
||||||
|
|
||||||
lcd_puts_P(PSTR("L"));
|
|
||||||
|
|
||||||
}else{
|
|
||||||
lcd_print(' ');
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
#ifdef SNMM
|
|
||||||
lcd_puts_P(PSTR(" E"));
|
|
||||||
lcd_print(get_ext_nr() + 1);
|
|
||||||
|
|
||||||
#else
|
|
||||||
lcd_set_cursor(LCD_WIDTH - 8 - 2, 2);
|
|
||||||
lcd_print(' ');
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CMD_DIAGNOSTICS
|
#ifdef CMD_DIAGNOSTICS
|
||||||
|
|
@ -1479,7 +1445,6 @@ void lcd_commands()
|
||||||
|
|
||||||
if (lcd_commands_step == 1 && !blocks_queued())
|
if (lcd_commands_step == 1 && !blocks_queued())
|
||||||
{
|
{
|
||||||
lcd_confirm_print();
|
|
||||||
lcd_commands_step = 0;
|
lcd_commands_step = 0;
|
||||||
lcd_commands_type = LcdCommands::Idle;
|
lcd_commands_type = LcdCommands::Idle;
|
||||||
}
|
}
|
||||||
|
|
@ -3994,7 +3959,7 @@ void lcd_menu_show_sensors_state() // NOT static due to using ins
|
||||||
}
|
}
|
||||||
|
|
||||||
void prusa_statistics_err(char c){
|
void prusa_statistics_err(char c){
|
||||||
SERIAL_ECHO("{[ERR:");
|
SERIAL_ECHOPGM("{[ERR:");
|
||||||
SERIAL_ECHO(c);
|
SERIAL_ECHO(c);
|
||||||
SERIAL_ECHO(']');
|
SERIAL_ECHO(']');
|
||||||
prusa_stat_farm_number();
|
prusa_stat_farm_number();
|
||||||
|
|
@ -4079,7 +4044,7 @@ void prusa_statistics(int _message, uint8_t _fil_nr) {
|
||||||
return;
|
return;
|
||||||
break;
|
break;
|
||||||
case 4: // print succesfull
|
case 4: // print succesfull
|
||||||
SERIAL_ECHO("{[RES:1][FIL:");
|
SERIAL_ECHOPGM("{[RES:1][FIL:");
|
||||||
MYSERIAL.print(int(_fil_nr));
|
MYSERIAL.print(int(_fil_nr));
|
||||||
SERIAL_ECHO(']');
|
SERIAL_ECHO(']');
|
||||||
prusa_stat_printerstatus(status_number);
|
prusa_stat_printerstatus(status_number);
|
||||||
|
|
@ -4087,7 +4052,7 @@ void prusa_statistics(int _message, uint8_t _fil_nr) {
|
||||||
farm_timer = 2;
|
farm_timer = 2;
|
||||||
break;
|
break;
|
||||||
case 5: // print not succesfull
|
case 5: // print not succesfull
|
||||||
SERIAL_ECHO("{[RES:0][FIL:");
|
SERIAL_ECHOPGM("{[RES:0][FIL:");
|
||||||
MYSERIAL.print(int(_fil_nr));
|
MYSERIAL.print(int(_fil_nr));
|
||||||
SERIAL_ECHO(']');
|
SERIAL_ECHO(']');
|
||||||
prusa_stat_printerstatus(status_number);
|
prusa_stat_printerstatus(status_number);
|
||||||
|
|
@ -4095,22 +4060,21 @@ void prusa_statistics(int _message, uint8_t _fil_nr) {
|
||||||
farm_timer = 2;
|
farm_timer = 2;
|
||||||
break;
|
break;
|
||||||
case 6: // print done
|
case 6: // print done
|
||||||
SERIAL_ECHO("{[PRN:8]");
|
SERIAL_ECHOPGM("{[PRN:8]");
|
||||||
prusa_stat_farm_number();
|
prusa_stat_farm_number();
|
||||||
status_number = 8;
|
status_number = 8;
|
||||||
farm_timer = 2;
|
farm_timer = 2;
|
||||||
break;
|
break;
|
||||||
case 7: // print done - stopped
|
case 7: // print done - stopped
|
||||||
SERIAL_ECHO("{[PRN:9]");
|
SERIAL_ECHOPGM("{[PRN:9]");
|
||||||
prusa_stat_farm_number();
|
prusa_stat_farm_number();
|
||||||
status_number = 9;
|
status_number = 9;
|
||||||
farm_timer = 2;
|
farm_timer = 2;
|
||||||
break;
|
break;
|
||||||
case 8: // printer started
|
case 8: // printer started
|
||||||
SERIAL_ECHO("{[PRN:0][PFN:");
|
SERIAL_ECHOPGM("{[PRN:0]");
|
||||||
|
prusa_stat_farm_number();
|
||||||
status_number = 0;
|
status_number = 0;
|
||||||
SERIAL_ECHO(farm_no);
|
|
||||||
SERIAL_ECHO(']');
|
|
||||||
farm_timer = 2;
|
farm_timer = 2;
|
||||||
break;
|
break;
|
||||||
case 20: // echo farm no
|
case 20: // echo farm no
|
||||||
|
|
@ -4126,7 +4090,7 @@ void prusa_statistics(int _message, uint8_t _fil_nr) {
|
||||||
prusa_stat_printerstatus(status_number);
|
prusa_stat_printerstatus(status_number);
|
||||||
break;
|
break;
|
||||||
case 22: // waiting for filament change
|
case 22: // waiting for filament change
|
||||||
SERIAL_ECHO("{[PRN:5]");
|
SERIAL_ECHOPGM("{[PRN:5]");
|
||||||
prusa_stat_farm_number();
|
prusa_stat_farm_number();
|
||||||
status_number = 5;
|
status_number = 5;
|
||||||
break;
|
break;
|
||||||
|
|
@ -4145,12 +4109,9 @@ void prusa_statistics(int _message, uint8_t _fil_nr) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 99: // heartbeat
|
case 99: // heartbeat
|
||||||
SERIAL_ECHO("{[PRN:99]");
|
SERIAL_ECHOPGM("{[PRN:99]");
|
||||||
prusa_stat_temperatures();
|
prusa_stat_temperatures();
|
||||||
SERIAL_ECHO("[PFN:");
|
prusa_stat_farm_number();
|
||||||
SERIAL_ECHO(farm_no);
|
|
||||||
SERIAL_ECHO(']');
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
SERIAL_ECHOLN('}');
|
SERIAL_ECHOLN('}');
|
||||||
|
|
@ -4159,47 +4120,45 @@ void prusa_statistics(int _message, uint8_t _fil_nr) {
|
||||||
|
|
||||||
static void prusa_stat_printerstatus(int _status)
|
static void prusa_stat_printerstatus(int _status)
|
||||||
{
|
{
|
||||||
SERIAL_ECHO("[PRN:");
|
SERIAL_ECHOPGM("[PRN:");
|
||||||
SERIAL_ECHO(_status);
|
SERIAL_ECHO(_status);
|
||||||
SERIAL_ECHO(']');
|
SERIAL_ECHO(']');
|
||||||
}
|
}
|
||||||
|
|
||||||
static void prusa_stat_farm_number() {
|
static void prusa_stat_farm_number() {
|
||||||
SERIAL_ECHO("[PFN:");
|
SERIAL_ECHOPGM("[PFN:0]");
|
||||||
SERIAL_ECHO(farm_no);
|
|
||||||
SERIAL_ECHO(']');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void prusa_stat_diameter() {
|
static void prusa_stat_diameter() {
|
||||||
SERIAL_ECHO("[DIA:");
|
SERIAL_ECHOPGM("[DIA:");
|
||||||
SERIAL_ECHO(eeprom_read_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM));
|
SERIAL_ECHO(eeprom_read_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM));
|
||||||
SERIAL_ECHO(']');
|
SERIAL_ECHO(']');
|
||||||
}
|
}
|
||||||
|
|
||||||
static void prusa_stat_temperatures()
|
static void prusa_stat_temperatures()
|
||||||
{
|
{
|
||||||
SERIAL_ECHO("[ST0:");
|
SERIAL_ECHOPGM("[ST0:");
|
||||||
SERIAL_ECHO(target_temperature[0]);
|
SERIAL_ECHO(target_temperature[0]);
|
||||||
SERIAL_ECHO("][STB:");
|
SERIAL_ECHOPGM("][STB:");
|
||||||
SERIAL_ECHO(target_temperature_bed);
|
SERIAL_ECHO(target_temperature_bed);
|
||||||
SERIAL_ECHO("][AT0:");
|
SERIAL_ECHOPGM("][AT0:");
|
||||||
SERIAL_ECHO(current_temperature[0]);
|
SERIAL_ECHO(current_temperature[0]);
|
||||||
SERIAL_ECHO("][ATB:");
|
SERIAL_ECHOPGM("][ATB:");
|
||||||
SERIAL_ECHO(current_temperature_bed);
|
SERIAL_ECHO(current_temperature_bed);
|
||||||
SERIAL_ECHO(']');
|
SERIAL_ECHO(']');
|
||||||
}
|
}
|
||||||
|
|
||||||
static void prusa_stat_printinfo()
|
static void prusa_stat_printinfo()
|
||||||
{
|
{
|
||||||
SERIAL_ECHO("[TFU:");
|
SERIAL_ECHOPGM("[TFU:");
|
||||||
SERIAL_ECHO(total_filament_used);
|
SERIAL_ECHO(total_filament_used);
|
||||||
SERIAL_ECHO("][PCD:");
|
SERIAL_ECHOPGM("][PCD:");
|
||||||
SERIAL_ECHO(itostr3(card.percentDone()));
|
SERIAL_ECHO(itostr3(card.percentDone()));
|
||||||
SERIAL_ECHO("][FEM:");
|
SERIAL_ECHOPGM("][FEM:");
|
||||||
SERIAL_ECHO(itostr3(feedmultiply));
|
SERIAL_ECHO(itostr3(feedmultiply));
|
||||||
SERIAL_ECHO("][FNM:");
|
SERIAL_ECHOPGM("][FNM:");
|
||||||
SERIAL_ECHO(longFilenameOLD);
|
SERIAL_ECHO(longFilenameOLD);
|
||||||
SERIAL_ECHO("][TIM:");
|
SERIAL_ECHOPGM("][TIM:");
|
||||||
if (starttime != 0)
|
if (starttime != 0)
|
||||||
{
|
{
|
||||||
SERIAL_ECHO(_millis() / 1000 - starttime / 1000);
|
SERIAL_ECHO(_millis() / 1000 - starttime / 1000);
|
||||||
|
|
@ -4208,8 +4167,8 @@ static void prusa_stat_printinfo()
|
||||||
{
|
{
|
||||||
SERIAL_ECHO(0);
|
SERIAL_ECHO(0);
|
||||||
}
|
}
|
||||||
SERIAL_ECHO("][FWR:");
|
SERIAL_ECHOPGM("][FWR:");
|
||||||
SERIAL_ECHO(FW_VERSION);
|
SERIAL_ECHORPGM(FW_VERSION_STR_P());
|
||||||
SERIAL_ECHO(']');
|
SERIAL_ECHO(']');
|
||||||
prusa_stat_diameter();
|
prusa_stat_diameter();
|
||||||
}
|
}
|
||||||
|
|
@ -5795,7 +5754,6 @@ static void lcd_settings_menu()
|
||||||
|
|
||||||
if (farm_mode)
|
if (farm_mode)
|
||||||
{
|
{
|
||||||
MENU_ITEM_SUBMENU_P(PSTR("Farm number"), lcd_farm_no);
|
|
||||||
MENU_ITEM_FUNCTION_P(PSTR("Disable farm mode"), lcd_disable_farm_mode);
|
MENU_ITEM_FUNCTION_P(PSTR("Disable farm mode"), lcd_disable_farm_mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -6397,74 +6355,6 @@ void unload_filament()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void lcd_farm_no()
|
|
||||||
{
|
|
||||||
char step = 0;
|
|
||||||
int enc_dif = 0;
|
|
||||||
int _farmno = farm_no;
|
|
||||||
int _ret = 0;
|
|
||||||
lcd_clear();
|
|
||||||
|
|
||||||
lcd_set_cursor(0, 0);
|
|
||||||
lcd_print("Farm no");
|
|
||||||
|
|
||||||
do
|
|
||||||
{
|
|
||||||
|
|
||||||
if (abs((enc_dif - lcd_encoder_diff)) > 2) {
|
|
||||||
if (enc_dif > lcd_encoder_diff) {
|
|
||||||
switch (step) {
|
|
||||||
case(0): if (_farmno >= 100) _farmno -= 100; break;
|
|
||||||
case(1): if (_farmno % 100 >= 10) _farmno -= 10; break;
|
|
||||||
case(2): if (_farmno % 10 >= 1) _farmno--; break;
|
|
||||||
default: break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (enc_dif < lcd_encoder_diff) {
|
|
||||||
switch (step) {
|
|
||||||
case(0): if (_farmno < 900) _farmno += 100; break;
|
|
||||||
case(1): if (_farmno % 100 < 90) _farmno += 10; break;
|
|
||||||
case(2): if (_farmno % 10 <= 8)_farmno++; break;
|
|
||||||
default: break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
enc_dif = 0;
|
|
||||||
lcd_encoder_diff = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
lcd_set_cursor(0, 2);
|
|
||||||
if (_farmno < 100) lcd_print('0');
|
|
||||||
if (_farmno < 10) lcd_print('0');
|
|
||||||
lcd_print(_farmno);
|
|
||||||
lcd_print(" ");
|
|
||||||
lcd_set_cursor(0, 3);
|
|
||||||
lcd_print(" ");
|
|
||||||
|
|
||||||
|
|
||||||
lcd_set_cursor(step, 3);
|
|
||||||
lcd_print('^');
|
|
||||||
_delay(100);
|
|
||||||
|
|
||||||
if (lcd_clicked())
|
|
||||||
{
|
|
||||||
_delay(200);
|
|
||||||
step++;
|
|
||||||
if(step == 3) {
|
|
||||||
_ret = 1;
|
|
||||||
farm_no = _farmno;
|
|
||||||
EEPROM_save_B(EEPROM_FARM_NUMBER, &farm_no);
|
|
||||||
prusa_statistics(20);
|
|
||||||
lcd_return_to_status();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
manage_heater();
|
|
||||||
} while (_ret == 0);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
unsigned char lcd_choose_color() {
|
unsigned char lcd_choose_color() {
|
||||||
//function returns index of currently chosen item
|
//function returns index of currently chosen item
|
||||||
//following part can be modified from 2 to 255 items:
|
//following part can be modified from 2 to 255 items:
|
||||||
|
|
@ -6549,83 +6439,6 @@ unsigned char lcd_choose_color() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void lcd_confirm_print()
|
|
||||||
{
|
|
||||||
uint8_t filament_type;
|
|
||||||
int enc_dif = 0;
|
|
||||||
int cursor_pos = 1;
|
|
||||||
int _ret = 0;
|
|
||||||
int _t = 0;
|
|
||||||
|
|
||||||
enc_dif = lcd_encoder_diff;
|
|
||||||
lcd_clear();
|
|
||||||
|
|
||||||
lcd_set_cursor(0, 0);
|
|
||||||
lcd_print("Print ok ?");
|
|
||||||
|
|
||||||
do
|
|
||||||
{
|
|
||||||
if (abs(enc_dif - lcd_encoder_diff) > 12) {
|
|
||||||
if (enc_dif > lcd_encoder_diff) {
|
|
||||||
cursor_pos--;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (enc_dif < lcd_encoder_diff) {
|
|
||||||
cursor_pos++;
|
|
||||||
}
|
|
||||||
enc_dif = lcd_encoder_diff;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cursor_pos > 2) { cursor_pos = 2; }
|
|
||||||
if (cursor_pos < 1) { cursor_pos = 1; }
|
|
||||||
|
|
||||||
lcd_set_cursor(0, 2); lcd_space(10);
|
|
||||||
lcd_set_cursor(0, 3); lcd_space(10);
|
|
||||||
lcd_puts_at_P(2, 2, _T(MSG_YES));
|
|
||||||
lcd_puts_at_P(2, 3, _T(MSG_NO));
|
|
||||||
lcd_set_cursor(0, 1 + cursor_pos);
|
|
||||||
lcd_print('>');
|
|
||||||
_delay(100);
|
|
||||||
|
|
||||||
_t = _t + 1;
|
|
||||||
if (_t>100)
|
|
||||||
{
|
|
||||||
prusa_statistics(99);
|
|
||||||
_t = 0;
|
|
||||||
}
|
|
||||||
if (lcd_clicked())
|
|
||||||
{
|
|
||||||
filament_type = FARM_FILAMENT_COLOR_NONE;
|
|
||||||
if (cursor_pos == 1)
|
|
||||||
{
|
|
||||||
_ret = 1;
|
|
||||||
// filament_type = lcd_choose_color();
|
|
||||||
prusa_statistics(4, filament_type);
|
|
||||||
no_response = true; //we need confirmation by recieving PRUSA thx
|
|
||||||
important_status = 4;
|
|
||||||
saved_filament_type = filament_type;
|
|
||||||
NcTime = _millis();
|
|
||||||
}
|
|
||||||
if (cursor_pos == 2)
|
|
||||||
{
|
|
||||||
_ret = 2;
|
|
||||||
// filament_type = lcd_choose_color();
|
|
||||||
prusa_statistics(5, filament_type);
|
|
||||||
no_response = true; //we need confirmation by recieving PRUSA thx
|
|
||||||
important_status = 5;
|
|
||||||
saved_filament_type = filament_type;
|
|
||||||
NcTime = _millis();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
manage_heater();
|
|
||||||
manage_inactivity();
|
|
||||||
proc_commands();
|
|
||||||
|
|
||||||
} while (_ret == 0);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#include "w25x20cl.h"
|
#include "w25x20cl.h"
|
||||||
|
|
||||||
#ifdef LCD_TEST
|
#ifdef LCD_TEST
|
||||||
|
|
@ -6818,6 +6631,8 @@ static void lcd_main_menu()
|
||||||
|
|
||||||
if ( ( IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LcdCommands::Layer1Cal)) && (current_position[Z_AXIS] < Z_HEIGHT_HIDE_LIVE_ADJUST_MENU) && !homing_flag && !mesh_bed_leveling_flag)
|
if ( ( IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LcdCommands::Layer1Cal)) && (current_position[Z_AXIS] < Z_HEIGHT_HIDE_LIVE_ADJUST_MENU) && !homing_flag && !mesh_bed_leveling_flag)
|
||||||
{
|
{
|
||||||
|
if (farm_mode)
|
||||||
|
MENU_ITEM_FUNCTION_P(_T(MSG_FILAMENTCHANGE), lcd_colorprint_change);//8
|
||||||
MENU_ITEM_SUBMENU_P(_T(MSG_BABYSTEP_Z), lcd_babystep_z);//8
|
MENU_ITEM_SUBMENU_P(_T(MSG_BABYSTEP_Z), lcd_babystep_z);//8
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -6906,14 +6721,7 @@ static void lcd_main_menu()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LcdCommands::Layer1Cal))
|
if ( ! ( IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LcdCommands::Layer1Cal) ) )
|
||||||
{
|
|
||||||
if (farm_mode)
|
|
||||||
{
|
|
||||||
MENU_ITEM_SUBMENU_P(PSTR("Farm number"), lcd_farm_no);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
if (mmu_enabled)
|
if (mmu_enabled)
|
||||||
{
|
{
|
||||||
|
|
@ -7104,7 +6912,8 @@ static void lcd_tune_menu()
|
||||||
MENU_ITEM_EDIT_advance_K();//7
|
MENU_ITEM_EDIT_advance_K();//7
|
||||||
#endif
|
#endif
|
||||||
#ifdef FILAMENTCHANGEENABLE
|
#ifdef FILAMENTCHANGEENABLE
|
||||||
MENU_ITEM_FUNCTION_P(_T(MSG_FILAMENTCHANGE), lcd_colorprint_change);//8
|
if (!farm_mode)
|
||||||
|
MENU_ITEM_FUNCTION_P(_T(MSG_FILAMENTCHANGE), lcd_colorprint_change);//8
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef FILAMENT_SENSOR
|
#ifdef FILAMENT_SENSOR
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,6 @@ void lcd_pause_print();
|
||||||
void lcd_resume_print();
|
void lcd_resume_print();
|
||||||
void lcd_print_stop();
|
void lcd_print_stop();
|
||||||
void prusa_statistics(int _message, uint8_t _col_nr = 0);
|
void prusa_statistics(int _message, uint8_t _col_nr = 0);
|
||||||
void lcd_confirm_print();
|
|
||||||
unsigned char lcd_choose_color();
|
unsigned char lcd_choose_color();
|
||||||
void lcd_load_filament_color_check();
|
void lcd_load_filament_color_check();
|
||||||
//void lcd_mylang();
|
//void lcd_mylang();
|
||||||
|
|
@ -127,7 +126,6 @@ extern CustomMsg custom_message_type;
|
||||||
extern unsigned int custom_message_state;
|
extern unsigned int custom_message_state;
|
||||||
|
|
||||||
extern uint8_t farm_mode;
|
extern uint8_t farm_mode;
|
||||||
extern int farm_no;
|
|
||||||
extern int farm_timer;
|
extern int farm_timer;
|
||||||
extern uint8_t farm_status;
|
extern uint8_t farm_status;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue