Browse Source

MK2.5 printers set mmu to stealth mode (using Mx code), required mmu2 buildnr can be different for MK2.5 and MK3 printers

PavelSindler 6 years ago
parent
commit
b8f92fdfa9

+ 2 - 2
Firmware/Configuration.h

@@ -7,8 +7,8 @@
 #define STR(x) STR_HELPER(x)
 #define STR(x) STR_HELPER(x)
 
 
 // Firmware version
 // Firmware version
-#define FW_VERSION "3.4.1"
-#define FW_COMMIT_NR   1356
+#define FW_VERSION "3.4.2"
+#define FW_COMMIT_NR   1358
 // FW_VERSION_UNKNOWN means this is an unofficial build.
 // FW_VERSION_UNKNOWN means this is an unofficial build.
 // The firmware should only be checked into github with this symbol.
 // The firmware should only be checked into github with this symbol.
 #define FW_DEV_VERSION FW_VERSION_UNKNOWN
 #define FW_DEV_VERSION FW_VERSION_UNKNOWN

+ 24 - 3
Firmware/mmu.cpp

@@ -11,6 +11,7 @@
 #include "cardreader.h"
 #include "cardreader.h"
 #include "ultralcd.h"
 #include "ultralcd.h"
 #include "sound.h"
 #include "sound.h"
+#include "printers.h"
 #include <avr/pgmspace.h>
 #include <avr/pgmspace.h>
 
 
 #define CHECK_FINDA ((IS_SD_PRINTING || is_usb_printing) && (mcode_in_progress != 600) && !saved_printing && e_active())
 #define CHECK_FINDA ((IS_SD_PRINTING || is_usb_printing) && (mcode_in_progress != 600) && !saved_printing && e_active())
@@ -23,8 +24,6 @@
 #define MMU_HWRESET
 #define MMU_HWRESET
 #define MMU_RST_PIN 76
 #define MMU_RST_PIN 76
 
 
-#define MMU_REQUIRED_FW_BUILDNR 83
-
 bool mmu_enabled = false;
 bool mmu_enabled = false;
 
 
 bool mmu_ready = false;
 bool mmu_ready = false;
@@ -148,13 +147,35 @@ void mmu_loop(void)
 			bool version_valid = mmu_check_version();
 			bool version_valid = mmu_check_version();
 			if (!version_valid) mmu_show_warning();
 			if (!version_valid) mmu_show_warning();
 			else puts_P(PSTR("MMU version valid"));
 			else puts_P(PSTR("MMU version valid"));
+
+			if ((PRINTER_TYPE == PRINTER_MK3) || (PRINTER_TYPE == PRINTER_MK3_SNMM))
+			{
+#ifdef MMU_DEBUG
+				puts_P(PSTR("MMU <= 'P0'"));
+#endif //MMU_DEBUG
+				mmu_puts_P(PSTR("P0\n")); //send 'read finda' request
+				mmu_state = -4;
+			}
+			else
+			{
+#ifdef MMU_DEBUG
+				puts_P(PSTR("MMU <= 'M1'"));
+#endif //MMU_DEBUG
+				mmu_puts_P(PSTR("M1\n")); //set mmu mode to stealth
+				mmu_state = -5;
+			}
+
+		}
+		return;
+	case -5:
+		if (mmu_rx_ok() > 0)
+		{
 #ifdef MMU_DEBUG
 #ifdef MMU_DEBUG
 			puts_P(PSTR("MMU <= 'P0'"));
 			puts_P(PSTR("MMU <= 'P0'"));
 #endif //MMU_DEBUG
 #endif //MMU_DEBUG
 		    mmu_puts_P(PSTR("P0\n")); //send 'read finda' request
 		    mmu_puts_P(PSTR("P0\n")); //send 'read finda' request
 			mmu_state = -4;
 			mmu_state = -4;
 		}
 		}
-		return;
 	case -4:
 	case -4:
 		if (mmu_rx_ok() > 0)
 		if (mmu_rx_ok() > 0)
 		{
 		{

+ 1 - 0
Firmware/variants/1_75mm_MK25-RAMBo10a-E3Dv6full.h

@@ -481,6 +481,7 @@
 
 
 //#define SUPPORT_VERBOSITY
 //#define SUPPORT_VERBOSITY
 
 
+#define MMU_REQUIRED_FW_BUILDNR 132
 //#define MMU_DEBUG //print communication between MMU2 and printer on serial
 //#define MMU_DEBUG //print communication between MMU2 and printer on serial
 
 
 #endif //__CONFIGURATION_PRUSA_H
 #endif //__CONFIGURATION_PRUSA_H

+ 1 - 0
Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h

@@ -482,6 +482,7 @@
 
 
 //#define SUPPORT_VERBOSITY
 //#define SUPPORT_VERBOSITY
 
 
+#define MMU_REQUIRED_FW_BUILDNR 132
 //#define MMU_DEBUG //print communication between MMU2 and printer on serial
 //#define MMU_DEBUG //print communication between MMU2 and printer on serial
 
 
 #endif //__CONFIGURATION_PRUSA_H
 #endif //__CONFIGURATION_PRUSA_H

+ 1 - 0
Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h

@@ -613,6 +613,7 @@
 
 
 //#define SUPPORT_VERBOSITY
 //#define SUPPORT_VERBOSITY
 
 
+#define MMU_REQUIRED_FW_BUILDNR 83
 //#define MMU_DEBUG //print communication between MMU2 and printer on serial
 //#define MMU_DEBUG //print communication between MMU2 and printer on serial
 
 
 #endif //__CONFIGURATION_PRUSA_H
 #endif //__CONFIGURATION_PRUSA_H