Pārlūkot izejas kodu

Merge remote-tracking branch 'upstream/MK3' into MK3-new_lang

Robert Pelnar 5 gadi atpakaļ
vecāks
revīzija
8d2acd02a5

+ 2 - 2
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

+ 18 - 4
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

+ 7 - 2
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
 	}
 }
 

+ 10 - 4
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("  "));

+ 2 - 0
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