diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 26552bbc..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.2.1" -#define FW_COMMIT_NR 576 +#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 diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index e86ca3b6..225883bf 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1174,11 +1174,19 @@ 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; +#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); } MYSERIAL.begin(BAUDRATE); fdev_setup_stream(uartout, uart_putchar, NULL, _FDEV_SETUP_WRITE); //setup uart out stream @@ -3274,7 +3282,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."); @@ -8861,7 +8875,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 +8889,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); @@ -8933,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 diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 2a8f5330..832ecfa7 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -2488,7 +2488,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" @@ -2498,7 +2498,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); } @@ -7624,7 +7627,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 0e9dae4f..1aa0f303 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("--:-- ")); } @@ -828,7 +834,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 2cf61d55..2186c4ae 100644 --- a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -467,6 +467,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