From 6d4c3b8b272e2cb4ff2570b4739a80ec3fbde272 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Mon, 25 Jun 2018 16:04:47 +0200 Subject: [PATCH 1/9] Farm mode - reset using watchdog for MK3 --- Firmware/Marlin_main.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index e86ca3b6..5c3ebf65 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -3274,7 +3274,13 @@ void process_commands() } else if (code_seen("RESET")) { // careful! if (farm_mode) { - asm volatile(" jmp 0x3E000"); +#ifdef WATCHDOG + wdt_enable(WDTO_15MS); + cli(); + while(1); +#else //WATCHDOG + asm volatile("jmp 0x3E000"); +#endif //WATCHDOG } else { MYSERIAL.println("Not in farm mode."); From 12de2f95e65c9611c4b687c022e155c5f454ca7e Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Mon, 25 Jun 2018 17:29:34 +0200 Subject: [PATCH 2/9] Farm mode: PFW360, PFW361, PFW362, PFW363 --- Firmware/Marlin_main.cpp | 8 +++++++- Firmware/ultralcd.cpp | 2 ++ Firmware/ultralcd_implementation_hitachi_HD44780.h | 2 +- Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h | 2 ++ 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 5c3ebf65..d02c46e5 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1174,11 +1174,17 @@ void setup() selectedSerialPort = eeprom_read_byte((uint8_t*)EEPROM_SECOND_SERIAL_ACTIVE); if (selectedSerialPort == 0xFF) selectedSerialPort = 0; if (farm_mode) - { + { no_response = true; //we need confirmation by recieving PRUSA thx important_status = 8; prusa_statistics(8); selectedSerialPort = 1; + //increased extruder current (PFW363) + tmc2130_current_h[E_AXIS] = 36; + tmc2130_current_r[E_AXIS] = 36; + //disabled filament autoload (PFW360) + filament_autoload_enabled = false; + eeprom_update_byte((uint8_t*)EEPROM_FSENS_AUTOLOAD_ENABLED, 0); } MYSERIAL.begin(BAUDRATE); fdev_setup_stream(uartout, uart_putchar, NULL, _FDEV_SETUP_WRITE); //setup uart out stream diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 1ed59689..54a8458d 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -7451,7 +7451,9 @@ static void lcd_send_status() { //send important status messages periodicaly prusa_statistics(important_status, saved_filament_type); NcTime = millis(); +#ifdef FARM_CONNECT_MESSAGE lcd_connect_printer(); +#endif //FARM_CONNECT_MESSAGE } } diff --git a/Firmware/ultralcd_implementation_hitachi_HD44780.h b/Firmware/ultralcd_implementation_hitachi_HD44780.h index 25ce2cea..31ea06c0 100644 --- a/Firmware/ultralcd_implementation_hitachi_HD44780.h +++ b/Firmware/ultralcd_implementation_hitachi_HD44780.h @@ -828,7 +828,7 @@ if (print_sd_status) // Farm number display if (farm_mode) { - lcd.setCursor(0, 6); + lcd.setCursor(6, 2); lcd_printPGM(PSTR(" F")); lcd.print(farm_no); lcd_printPGM(PSTR(" ")); diff --git a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h index 4c9f2433..984b99dd 100644 --- a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -468,6 +468,8 @@ // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. #endif // PIDTEMPBED +//connect message when communication with monitoring broken +//#define FARM_CONNECT_MESSAGE /*----------------------------------- PREHEAT SETTINGS From 5d531b0f667b1979c4e47f30eaa38b28fb9403c5 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Mon, 25 Jun 2018 17:30:20 +0200 Subject: [PATCH 3/9] save extruder relative mode correctly --- Firmware/Marlin_main.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index e86ca3b6..75a40486 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -8861,7 +8861,7 @@ void stop_and_save_print_to_ram(float z_move, float e_move) saved_active_extruder = active_extruder; //save active_extruder saved_extruder_under_pressure = extruder_under_pressure; //extruder under pressure flag - currently unused - + saved_extruder_relative_mode = axis_relative_modes[E_AXIS]; cmdqueue_reset(); //empty cmdqueue card.sdprinting = false; // card.closefile(); @@ -8875,7 +8875,6 @@ void stop_and_save_print_to_ram(float z_move, float e_move) char buf[48]; // First unretract (relative extrusion) - saved_extruder_relative_mode = axis_relative_modes[E_AXIS]; if(!saved_extruder_relative_mode){ strcpy_P(buf, PSTR("M83")); enquecommand(buf, false); From fe9b4e5f1f833952321782b6b08d9a0f07596eb7 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Mon, 25 Jun 2018 17:45:07 +0200 Subject: [PATCH 4/9] Farm mode - tmc2130 extruder current setting fixed --- Firmware/Marlin_main.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index d02c46e5..0cc19e68 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1179,9 +1179,11 @@ void setup() important_status = 8; prusa_statistics(8); selectedSerialPort = 1; +#ifdef TMC2130 //increased extruder current (PFW363) tmc2130_current_h[E_AXIS] = 36; tmc2130_current_r[E_AXIS] = 36; +#endif //TMC2130 //disabled filament autoload (PFW360) filament_autoload_enabled = false; eeprom_update_byte((uint8_t*)EEPROM_FSENS_AUTOLOAD_ENABLED, 0); From 81c0c018251522b0baf6741064d4907623e5d8b7 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Mon, 25 Jun 2018 17:50:37 +0200 Subject: [PATCH 5/9] status screen update --- Firmware/ultralcd_implementation_hitachi_HD44780.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Firmware/ultralcd_implementation_hitachi_HD44780.h b/Firmware/ultralcd_implementation_hitachi_HD44780.h index 25ce2cea..623e4816 100644 --- a/Firmware/ultralcd_implementation_hitachi_HD44780.h +++ b/Firmware/ultralcd_implementation_hitachi_HD44780.h @@ -699,7 +699,7 @@ static inline void lcd_print_percent_done() { { lcd_printPGM(PSTR("---")); } - lcd.print('%'); + lcd_printPGM(PSTR("% ")); } static inline void lcd_print_time() { @@ -718,8 +718,14 @@ static inline void lcd_print_time() { lcd.print(itostr2(print_t/60)); lcd.print(':'); lcd.print(itostr2(print_t%60)); - (print_time_remaining_normal != PRINT_TIME_REMAINING_INIT) ? lcd.print('R') : lcd.print(' '); - (feedmultiply == 100) ? lcd.print(' ') : lcd.print('?'); + if (print_time_remaining_normal != PRINT_TIME_REMAINING_INIT) + { + lcd.print('R'); + (feedmultiply == 100) ? lcd.print(' ') : lcd.print('?'); + } + else { + lcd_printPGM(PSTR(" ")); + } }else{ lcd_printPGM(PSTR("--:-- ")); } From 3ff4105024d3e5ebc3d297db10b4e88416dbb82f Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Mon, 25 Jun 2018 18:28:43 +0200 Subject: [PATCH 6/9] XYZ cal. details screen fixed --- Firmware/ultralcd.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 54a8458d..0d3801d8 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -2297,7 +2297,7 @@ static void lcd_menu_xyz_skew() float angleDiff = eeprom_read_float((float*)(EEPROM_XYZ_CAL_SKEW)); lcd_printf_P(_N( ESC_H(0,0) - "%S: N/A\n" + "%S:\n" "%S\n" "%S: %5.2f\x01\n" "%S: %5.2f\x01" @@ -2307,7 +2307,10 @@ static void lcd_menu_xyz_skew() _i("Slight skew"), _deg(bed_skew_angle_mild), _i("Severe skew"), _deg(bed_skew_angle_extreme) ); - if (angleDiff < 100) lcd_printf_P(_N(ESC_H(15,0)"%4.2f\x01"), _deg(angleDiff)); + if (angleDiff < 100) + lcd_printf_P(_N(ESC_H(15,0)"%4.2f\x01"), _deg(angleDiff)); + else + lcd_puts_P(_N(ESC_H(15,0)"N/A")); if (lcd_clicked()) { lcd_goto_menu(lcd_menu_xyz_offset); From 6f617696ac772929c6d06ed35be5af9159518d34 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Mon, 25 Jun 2018 18:52:22 +0200 Subject: [PATCH 7/9] dummy "ok" reponse readded (fix for SD card print with Octoprint: fixes communication timeout issues) --- Firmware/Marlin_main.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 93331684..225883bf 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -8946,6 +8946,7 @@ void restore_print_from_ram_and_continue(float e_move) card.setIndex(saved_sdpos); sdpos_atomic = saved_sdpos; card.sdprinting = true; + printf_P(PSTR("ok\n")); //dummy response because of octoprint is waiting for this } else if (saved_printing_type == PRINTING_TYPE_USB) { //was usb printing gcode_LastN = saved_sdpos; //saved_sdpos was reused for storing line number when usb printing From 6abde828fac4583babf9ad573d5ac76ca13b1102 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 26 Jun 2018 18:53:11 +0200 Subject: [PATCH 8/9] version changed --- Firmware/Configuration.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 26552bbc..5d0559dd 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -7,8 +7,8 @@ #define STR(x) STR_HELPER(x) // Firmware version -#define FW_VERSION "3.2.1" -#define FW_COMMIT_NR 576 +#define FW_VERSION "3.3.0-RC1" +#define FW_COMMIT_NR 828 // FW_VERSION_UNKNOWN means this is an unofficial build. // The firmware should only be checked into github with this symbol. #define FW_DEV_VERSION FW_VERSION_UNKNOWN From c8d5648ea8f3711682dde11f8b78554740fb5aa1 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Mon, 2 Jul 2018 16:53:10 +0200 Subject: [PATCH 9/9] Version changed --- Firmware/Configuration.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 5d0559dd..9a9304a2 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -7,8 +7,8 @@ #define STR(x) STR_HELPER(x) // Firmware version -#define FW_VERSION "3.3.0-RC1" -#define FW_COMMIT_NR 828 +#define FW_VERSION "3.3.0" +#define FW_COMMIT_NR 830 // FW_VERSION_UNKNOWN means this is an unofficial build. // The firmware should only be checked into github with this symbol. #define FW_DEV_VERSION FW_VERSION_UNKNOWN