Browse Source

pre-production version ;-)

MRprusa3d 4 years ago
parent
commit
8229a45187

+ 12 - 0
Firmware/Configuration.c

@@ -0,0 +1,12 @@
+#include <stdint.h>
+#include <avr/pgmspace.h>
+//!?! #include "Configuration.h"
+#include "Configuration_prusa.h"
+
+const uint16_t _nPrinterType PROGMEM=PRINTER_TYPE;
+const char _sPrinterName[] PROGMEM=PRINTER_NAME;
+const uint16_t _nPrinterMmuType PROGMEM=PRINTER_MMU_TYPE;
+const char _sPrinterMmuName[] PROGMEM=PRINTER_MMU_NAME;
+
+uint16_t nPrinterType;
+PGM_P sPrinterName;

+ 9 - 0
Firmware/Configuration.h

@@ -6,6 +6,15 @@
 #define STR_HELPER(x) #x
 #define STR(x) STR_HELPER(x)
 
+//-//
+#include <avr/pgmspace.h>
+extern const uint16_t _nPrinterType;
+extern const char _sPrinterName[] PROGMEM;
+extern const uint16_t _nPrinterMmuType;
+extern const char _sPrinterMmuName[] PROGMEM;
+extern uint16_t nPrinterType;
+extern PGM_P sPrinterName;
+
 // Firmware version
 #define FW_VERSION "3.7.1"
 #define FW_COMMIT_NR   2266

+ 8 - 4
Firmware/Marlin_main.cpp

@@ -43,8 +43,10 @@
  *
  */
 
+//-//
+#include "Configuration.h"
 #include "Marlin.h"
-
+  
 #ifdef ENABLE_AUTO_BED_LEVELING
 #include "vector_3.h"
   #ifdef AUTO_BED_LEVELING_GRID
@@ -1646,11 +1648,11 @@ void setup()
   }
 #endif //UVLO_SUPPORT
   fCheckModeInit();
+  fSetMmuMode(mmu_enabled);
   KEEPALIVE_STATE(NOT_BUSY);
 #ifdef WATCHDOG
   wdt_enable(WDTO_4S);
 #endif //WATCHDOG
-
 }
 
 
@@ -6894,12 +6896,14 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
                          nDiameter=(uint16_t)(code_value()*1000.0+0.5); // [,um]
                          nozzle_diameter_check(nDiameter);
                          }
+/*
                     else if(code_seen('S')&&farm_mode)
                          {
                          nDiameter=(uint16_t)(code_value()*1000.0+0.5); // [,um]
                          eeprom_update_byte((uint8_t*)EEPROM_NOZZLE_DIAMETER,(uint8_t)ClNozzleDiameter::_Diameter_Undef); // for correct synchronization after farm-mode exiting
                          eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,nDiameter);
                          }
+*/
                     else if(code_seen('Q'))
                          SERIAL_PROTOCOLLN((float)eeprom_read_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM)/1000.0);
                     break;
@@ -6911,13 +6915,13 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
                          printer_model_check(nPrinterModel);
                          }
                     else if(code_seen('Q'))
-                         SERIAL_PROTOCOLLN(PRINTER_TYPE);
+                         SERIAL_PROTOCOLLN(nPrinterType);
                     break;
                case ClPrintChecking::_Smodel:     // ~ .3
                     if(code_seen('P'))
                          printer_smodel_check(strchr_pointer);
                     else if(code_seen('Q'))
-                         SERIAL_PROTOCOLLN(PRINTER_NAME);
+                         SERIAL_PROTOCOLLNRPGM(sPrinterName);
                     break;
                case ClPrintChecking::_Version:    // ~ .4
                     if(code_seen('P'))

+ 5 - 0
Firmware/mmu.cpp

@@ -15,6 +15,8 @@
 #include <avr/pgmspace.h>
 #include "io_atmega2560.h"
 #include "AutoDeplete.h"
+//-//
+#include "util.h"
 
 #ifdef TMC2130
 #include "tmc2130.h"
@@ -263,6 +265,9 @@ void mmu_loop(void)
 			FDEBUG_PRINTF_P(PSTR("MMU => '%dok'\n"), mmu_finda);
 			puts_P(PSTR("MMU - ENABLED"));
 			mmu_enabled = true;
+//-//
+// ... PrinterType/Name
+fSetMmuMode(true);
 			mmu_state = S::Idle;
 		}
 		return;

+ 40 - 14
Firmware/printers.h

@@ -3,23 +3,49 @@
 
 #define PRINTER_UNKNOWN 0
 
-#define PRINTER_MK1           100
-#define PRINTER_MK2           200
-#define PRINTER_MK2_SNMM      201
-#define PRINTER_MK25          250
-#define PRINTER_MK25_SNMM      251
+/* original definition(s)
+#define PRINTER_MK1         100
+#define PRINTER_MK2         200
+#define PRINTER_MK2_SNMM    201
+#define PRINTER_MK25        250
+#define PRINTER_MK25_SNMM   251
+#define PRINTER_MK25S	   252
+#define PRINTER_MK3         300
+#define PRINTER_MK3_SNMM    301
+#define PRINTER_MK3S	   302
+*/
+// *** MK1
+#define PRINTER_MK1	               100
+#define PRINTER_MK1_NAME           "MK1"
+// *** MK2
+#define PRINTER_MK2	               200
+#define PRINTER_MK2_NAME           "MK2"
+#define PRINTER_MK2_SNMM           201            // better is "10200"
+#define PRINTER_MK2_SNMM_NAME      "MK2MM"        // better is "MK2MMU1"
+// *** MK2S ??? is same as "MK2" ???
+#define PRINTER_MK2S	          202
+#define PRINTER_MK2S_NAME          "MK2S"
+#define PRINTER_MK2S_SNMM          203            // better is "10202"
+#define PRINTER_MK2S_SNMM_NAME     "MK2SMM"       // better is "MK2SMMU1"
+// *** MK2.5
+#define PRINTER_MK25	          250
+#define PRINTER_MK25_NAME          "MK2.5"
+#define PRINTER_MK25_MMU2          20250
+#define PRINTER_MK25_MMU2_NAME     "MK2.5MMU2"
+// *** MK2.5S
 #define PRINTER_MK25S	     	252
-
-#define PRINTER_MK3              300
+#define PRINTER_MK25S_NAME         "MK2.5S"
+#define PRINTER_MK25S_MMU2         20252
+#define PRINTER_MK25S_MMU2_NAME    "MK2.5SMMU2S"
+// *** MK3
+#define PRINTER_MK3                300
 #define PRINTER_MK3_NAME           "MK3"
-#define PRINTER_MK3_SNMM           301
-
-#define PRINTER_MK3_MMU2         20300
-#define PRINTER_MK3_MMU2_NAME     "MK3MMU2"
-
+#define PRINTER_MK3_MMU2           20300
+#define PRINTER_MK3_MMU2_NAME      "MK3MMU2"
+// *** MK3S
 #define PRINTER_MK3S     		302
-#define PRINTER_MK3S_NAME         "MK3S"
-#define PRINTER_MK3S_MMU2         20302
+#define PRINTER_MK3S_NAME          "MK3S"
+#define PRINTER_MK3S_MMU2          20302
 #define PRINTER_MK3S_MMU2_NAME     "MK3SMMU2S"
 
 #endif //PRINTERS_H

+ 19 - 18
Firmware/ultralcd.cpp

@@ -5311,16 +5311,16 @@ do\
     switch(oCheckMode)\
          {\
          case ClCheckMode::_None:\
-              MENU_ITEM_FUNCTION_P(_i("Nozzle Ch. [none]"),lcd_check_mode_set);\
+              MENU_ITEM_FUNCTION_P(_i("Nozzle     [none]"),lcd_check_mode_set);\
               break;\
          case ClCheckMode::_Warn:\
-              MENU_ITEM_FUNCTION_P(_i("Nozzle Ch. [warn]"),lcd_check_mode_set);\
+              MENU_ITEM_FUNCTION_P(_i("Nozzle     [warn]"),lcd_check_mode_set);\
               break;\
          case ClCheckMode::_Strict:\
-              MENU_ITEM_FUNCTION_P(_i("Nozzle Ch[strict]"),lcd_check_mode_set);\
+              MENU_ITEM_FUNCTION_P(_i("Nozzle   [strict]"),lcd_check_mode_set);\
               break;\
          default:\
-              MENU_ITEM_FUNCTION_P(_i("Nozzle Ch. [none]"),lcd_check_mode_set);\
+              MENU_ITEM_FUNCTION_P(_i("Nozzle     [none]"),lcd_check_mode_set);\
          }\
 }\
 while (0)
@@ -5396,16 +5396,16 @@ do\
     switch(oCheckModel)\
          {\
          case ClCheckModel::_None:\
-              MENU_ITEM_FUNCTION_P(_i("Model Ch.  [none]"),lcd_check_model_set);\
+              MENU_ITEM_FUNCTION_P(_i("Model      [none]"),lcd_check_model_set);\
               break;\
          case ClCheckModel::_Warn:\
-              MENU_ITEM_FUNCTION_P(_i("Model Ch.  [warn]"),lcd_check_model_set);\
+              MENU_ITEM_FUNCTION_P(_i("Model      [warn]"),lcd_check_model_set);\
               break;\
          case ClCheckModel::_Strict:\
-              MENU_ITEM_FUNCTION_P(_i("Model Ch.[strict]"),lcd_check_model_set);\
+              MENU_ITEM_FUNCTION_P(_i("Model    [strict]"),lcd_check_model_set);\
               break;\
          default:\
-              MENU_ITEM_FUNCTION_P(_i("Model Ch.  [none]"),lcd_check_model_set);\
+              MENU_ITEM_FUNCTION_P(_i("Model      [none]"),lcd_check_model_set);\
          }\
 }\
 while (0)
@@ -5435,16 +5435,16 @@ do\
     switch(oCheckVersion)\
          {\
          case ClCheckVersion::_None:\
-              MENU_ITEM_FUNCTION_P(_i("FW Ch.     [none]"),lcd_check_version_set);\
+              MENU_ITEM_FUNCTION_P(_i("Firmware   [none]"),lcd_check_version_set);\
               break;\
          case ClCheckVersion::_Warn:\
-              MENU_ITEM_FUNCTION_P(_i("FW Ch.     [warn]"),lcd_check_version_set);\
+              MENU_ITEM_FUNCTION_P(_i("Firmware   [warn]"),lcd_check_version_set);\
               break;\
          case ClCheckVersion::_Strict:\
-              MENU_ITEM_FUNCTION_P(_i("FW Ch.   [strict]"),lcd_check_version_set);\
+              MENU_ITEM_FUNCTION_P(_i("Firmware [strict]"),lcd_check_version_set);\
               break;\
          default:\
-              MENU_ITEM_FUNCTION_P(_i("FW Ch.     [none]"),lcd_check_version_set);\
+              MENU_ITEM_FUNCTION_P(_i("Firmware   [none]"),lcd_check_version_set);\
          }\
 }\
 while (0)
@@ -5474,25 +5474,26 @@ do\
     switch(oCheckGcode)\
          {\
          case ClCheckGcode::_None:\
-              MENU_ITEM_FUNCTION_P(_i("Gcode Ch.  [none]"),lcd_check_gcode_set);\
+              MENU_ITEM_FUNCTION_P(_i("Gcode      [none]"),lcd_check_gcode_set);\
               break;\
          case ClCheckGcode::_Warn:\
-              MENU_ITEM_FUNCTION_P(_i("Gcode Ch.  [warn]"),lcd_check_gcode_set);\
+              MENU_ITEM_FUNCTION_P(_i("Gcode      [warn]"),lcd_check_gcode_set);\
               break;\
          case ClCheckGcode::_Strict:\
-              MENU_ITEM_FUNCTION_P(_i("Gcode Ch.[strict]"),lcd_check_gcode_set);\
+              MENU_ITEM_FUNCTION_P(_i("Gcode    [strict]"),lcd_check_gcode_set);\
               break;\
          default:\
-              MENU_ITEM_FUNCTION_P(_i("Gcode Ch.  [none]"),lcd_check_gcode_set);\
+              MENU_ITEM_FUNCTION_P(_i("Gcode      [none]"),lcd_check_gcode_set);\
          }\
 }\
 while (0)
 
-//static void lcd_checking_menu()
+//-//static void lcd_checking_menu()
 void lcd_checking_menu()
 {
 MENU_BEGIN();
-MENU_ITEM_BACK_P(_T(MSG_SETTINGS));
+//-//MENU_ITEM_BACK_P(_T(MSG_SETTINGS));
+MENU_ITEM_BACK_P(_T(MSG_BACK));
 SETTINGS_NOZZLE;
 MENU_ITEM_TEXT_P(STR_SEPARATOR);
 MENU_ITEM_TEXT_P(_i("Checks:"));

+ 38 - 42
Firmware/util.cpp

@@ -359,19 +359,19 @@ oCheckModel=(ClCheckModel)eeprom_read_byte((uint8_t*)EEPROM_CHECK_MODEL);
 if(oCheckModel==ClCheckModel::_Undef)
      {
      oCheckModel=ClCheckModel::_Warn;
-//     eeprom_update_byte((uint8_t*)EEPROM_CHECK_MODEL,(uint8_t)oCheckModel);
+     eeprom_update_byte((uint8_t*)EEPROM_CHECK_MODEL,(uint8_t)oCheckModel);
      }
 oCheckVersion=(ClCheckVersion)eeprom_read_byte((uint8_t*)EEPROM_CHECK_VERSION);
 if(oCheckVersion==ClCheckVersion::_Undef)
      {
      oCheckVersion=ClCheckVersion::_Warn;
-//     eeprom_update_byte((uint8_t*)EEPROM_CHECK_VERSION,(uint8_t)oCheckVersion);
+     eeprom_update_byte((uint8_t*)EEPROM_CHECK_VERSION,(uint8_t)oCheckVersion);
      }
 oCheckGcode=(ClCheckGcode)eeprom_read_byte((uint8_t*)EEPROM_CHECK_GCODE);
 if(oCheckGcode==ClCheckGcode::_Undef)
      {
      oCheckGcode=ClCheckGcode::_Warn;
-//     eeprom_update_byte((uint8_t*)EEPROM_CHECK_GCODE,(uint8_t)oCheckGcode);
+     eeprom_update_byte((uint8_t*)EEPROM_CHECK_GCODE,(uint8_t)oCheckGcode);
      }
 }
 
@@ -407,12 +407,12 @@ void printer_model_check(uint16_t nPrinterModel)
 {
 if(oCheckModel==ClCheckModel::_None)
      return;
-if(nPrinterModel==(uint16_t)PRINTER_TYPE)
+if(nPrinterModel==nPrinterType)
      return;
 SERIAL_ECHO_START;
 SERIAL_ECHOLNPGM("Printer model doesn't match ...");
 SERIAL_ECHOPGM("actual  : ");
-SERIAL_ECHOLN(PRINTER_TYPE);
+SERIAL_ECHOLN(nPrinterType);
 SERIAL_ECHOPGM("expected: ");
 SERIAL_ECHOLN(nPrinterModel);
 switch(oCheckModel)
@@ -427,47 +427,31 @@ switch(oCheckModel)
      }
 }
 
-int8_t mCmp(uint16_t nX,uint16_t nY)
+uint8_t mCompareValue(uint16_t nX,uint16_t nY)
 {
 if(nX>nY)
-     return(1);
+     return((uint8_t)ClCompareValue::_Greater);
 if(nX<nY)
-     return(-1);
-return(0);
+     return((uint8_t)ClCompareValue::_Less);
+return((uint8_t)ClCompareValue::_Equal);
 }
 
 void fw_version_check(const char *pVersion)
 {
 uint16_t aVersion[4];
-bool bMatch;
-parse_version(pVersion,aVersion);
+uint8_t nCompareValueResult;
 
 if(oCheckVersion==ClCheckVersion::_None)
      return;
-bMatch=(aVersion[0]==eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_MAJOR));
-bMatch=bMatch&&(aVersion[1]==eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_MINOR));
-bMatch=bMatch&&(aVersion[2]==eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_REVISION));
-bMatch=bMatch&&(aVersion[3]==eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_FLAVOR));
-if(bMatch)
-     return;
-
-bMatch=(aVersion[0]>eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_MAJOR));
-bMatch=!bMatch||(aVersion[1]>eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_MINOR));
-bMatch=!bMatch||(aVersion[2]>eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_REVISION));
-bMatch=!bMatch||(aVersion[3]>eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_FLAVOR));
-if(!bMatch&&oCheckVersion==ClCheckVersion::_Warn)
-     return;
-/*
-if((aVersion[0]<eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_MAJOR))&&(oCheckVersion==ClCheckVersion::_Warn))
-     return;
-else if((aVersion[1]<eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_MINOR))&&(oCheckVersion==ClCheckVersion::_Warn))
-     return;
-else if((aVersion[2]<eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_REVISION))&&(oCheckVersion==ClCheckVersion::_Warn))
+parse_version(pVersion,aVersion);
+nCompareValueResult=mCompareValue(aVersion[0],eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_MAJOR))<<6;
+nCompareValueResult+=mCompareValue(aVersion[1],eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_MINOR))<<4;
+nCompareValueResult+=mCompareValue(aVersion[2],eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_REVISION))<<2;
+nCompareValueResult+=mCompareValue(aVersion[3],eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_FLAVOR));
+if(nCompareValueResult==COMPARE_VALUE_EQUAL)
      return;
-else if((aVersion[3]<eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_FLAVOR))&&(oCheckVersion==ClCheckVersion::_Warn))
+if((nCompareValueResult<COMPARE_VALUE_EQUAL)&&oCheckVersion==ClCheckVersion::_Warn)
      return;
-*/
-
 SERIAL_ECHO_START;
 SERIAL_ECHOLNPGM("FW version doesn't match ...");
 SERIAL_ECHOPGM("actual  : ");
@@ -494,8 +478,6 @@ if(nGcodeLevel==(uint16_t)GCODE_LEVEL)
      return;
 if((nGcodeLevel<(uint16_t)GCODE_LEVEL)&&(oCheckGcode==ClCheckGcode::_Warn))
      return;
-if(oCheckGcode==ClCheckGcode::_None)
-     return;
 SERIAL_ECHO_START;
 SERIAL_ECHOLNPGM("G-code level doesn't match ...");
 SERIAL_ECHOPGM("actual  : ");
@@ -515,7 +497,7 @@ switch(oCheckGcode)
 }
 
 //-// -> cmdqueue ???
-#define PRINTER_NAME_LENGTH (sizeof(PRINTER_NAME)-1)
+#define PRINTER_NAME_LENGTH ((sizeof(PRINTER_MMU_NAME)>sizeof(PRINTER_NAME))?(sizeof(PRINTER_MMU_NAME)-1):(sizeof(PRINTER_NAME)-1))
 #define GCODE_DELIMITER '"'
 #define ELLIPSIS "..."
 
@@ -538,24 +520,25 @@ return(pStrBegin);
 void printer_smodel_check(char* pStrPos)
 {
 char* pResult;
-size_t nLength;
+size_t nLength,nPrinterNameLength;
 bool bCheckOK;
 char sPrinterName[PRINTER_NAME_LENGTH+sizeof(ELLIPSIS)-1+1]="";
 
+nPrinterNameLength=strlen_P(::sPrinterName);
 pResult=code_string(pStrPos,&nLength);
 if(pResult!=NULL)
      {
-     strlcpy(sPrinterName,pResult,min(PRINTER_NAME_LENGTH,nLength)+1);
-     if(nLength>PRINTER_NAME_LENGTH)
+     strlcpy(sPrinterName,pResult,min(nPrinterNameLength,nLength)+1);
+     if(nLength>nPrinterNameLength)
           strcat(sPrinterName,ELLIPSIS);
-     bCheckOK=(nLength==PRINTER_NAME_LENGTH);
-     if(bCheckOK&&(!strncasecmp(pResult,PRINTER_NAME,nLength))) // i.e. string compare execute only if lengths are same
+     bCheckOK=(nLength==nPrinterNameLength);
+     if(bCheckOK&&(!strncasecmp_P(pResult,::sPrinterName,nLength))) // i.e. string compare execute only if lengths are same
           return;
      }
 SERIAL_ECHO_START;
 SERIAL_ECHOLNPGM("Printer model doesn't match ...");
 SERIAL_ECHOPGM("actual  : \"");
-SERIAL_ECHO(PRINTER_NAME);
+serialprintPGM(::sPrinterName);
 SERIAL_ECHOLNPGM("\"");
 SERIAL_ECHOPGM("expected: \"");
 SERIAL_ECHO(sPrinterName);
@@ -571,3 +554,16 @@ switch(oCheckModel)
           break;
      }
 }
+
+void fSetMmuMode(bool bMMu)
+{
+if(bMMu)
+     {
+     nPrinterType=pgm_read_word(&_nPrinterMmuType);
+     sPrinterName=_sPrinterMmuName;
+     }
+else {
+     nPrinterType=pgm_read_word(&_nPrinterType);
+     sPrinterName=_sPrinterName;
+     }
+}

+ 10 - 0
Firmware/util.h

@@ -84,6 +84,14 @@ enum class ClCheckGcode:uint_least8_t
     _Undef=EEPROM_EMPTY_VALUE
 };
 
+#define COMPARE_VALUE_EQUAL (((uint8_t)ClCompareValue::_Equal<<6)+((uint8_t)ClCompareValue::_Equal<<4)+((uint8_t)ClCompareValue::_Equal<<2)+((uint8_t)ClCompareValue::_Equal))
+enum class ClCompareValue:uint_least8_t
+{
+    _Less=0,
+    _Equal=1,
+    _Greater=2
+};
+
 extern ClNozzleDiameter oNozzleDiameter;
 extern ClCheckMode oCheckMode;
 extern ClCheckModel oCheckModel;
@@ -97,4 +105,6 @@ void printer_smodel_check(char* pStrPos);
 void fw_version_check(const char *pVersion);
 void gcode_level_check(uint16_t nGcodeLevel);
 
+void fSetMmuMode(bool bMMu);
+
 #endif /* UTIL_H */

+ 4 - 0
Firmware/variants/1_75mm_MK2-RAMBo10a-E3Dv6full.h

@@ -2,12 +2,16 @@
 #define CONFIGURATION_PRUSA_H
 
 #include <limits.h>
+#include "printers.h"
 /*------------------------------------
 GENERAL SETTINGS
 *------------------------------------*/
 
 // Printer revision
 #define PRINTER_TYPE PRINTER_MK2
+#define PRINTER_NAME PRINTER_MK2_NAME
+#define PRINTER_MMU_TYPE PRINTER_MK2              // dummy item (due to successfully compilation / building only)
+#define PRINTER_MMU_NAME PRINTER_MK2_NAME         // dummy item (due to successfully compilation / building only)
 #define FILAMENT_SIZE "1_75mm_MK2"
 #define NOZZLE_TYPE "E3Dv6full"
 

+ 4 - 0
Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h

@@ -2,12 +2,16 @@
 #define CONFIGURATION_PRUSA_H
 
 #include <limits.h>
+#include "printers.h"
 /*------------------------------------
 GENERAL SETTINGS
 *------------------------------------*/
 
 // Printer revision
 #define PRINTER_TYPE PRINTER_MK2
+#define PRINTER_NAME PRINTER_MK2_NAME
+#define PRINTER_MMU_TYPE PRINTER_MK2              // dummy item (due to successfully compilation / building only)
+#define PRINTER_MMU_NAME PRINTER_MK2_NAME         // dummy item (due to successfully compilation / building only)
 #define FILAMENT_SIZE "1_75mm_MK2"
 #define NOZZLE_TYPE "E3Dv6full"
 

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

@@ -2,12 +2,16 @@
 #define CONFIGURATION_PRUSA_H
 
 #include <limits.h>
+#include "printers.h"
 /*------------------------------------
  GENERAL SETTINGS
  *------------------------------------*/
 
 // Printer revision
 #define PRINTER_TYPE PRINTER_MK25
+#define PRINTER_NAME PRINTER_MK25_NAME
+#define PRINTER_MMU_TYPE PRINTER_MK25_MMU2
+#define PRINTER_MMU_NAME PRINTER_MK25_MMU2_NAME
 #define FILAMENT_SIZE "1_75mm_MK25"
 #define NOZZLE_TYPE "E3Dv6full"
 

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

@@ -2,12 +2,16 @@
 #define CONFIGURATION_PRUSA_H
 
 #include <limits.h>
+#include "printers.h"
 /*------------------------------------
  GENERAL SETTINGS
  *------------------------------------*/
 
 // Printer revision
 #define PRINTER_TYPE PRINTER_MK25
+#define PRINTER_NAME PRINTER_MK25_NAME
+#define PRINTER_MMU_TYPE PRINTER_MK25_MMU2
+#define PRINTER_MMU_NAME PRINTER_MK25_MMU2_NAME
 #define FILAMENT_SIZE "1_75mm_MK25"
 #define NOZZLE_TYPE "E3Dv6full"
 

+ 4 - 0
Firmware/variants/1_75mm_MK25S-RAMBo10a-E3Dv6full.h

@@ -2,12 +2,16 @@
 #define CONFIGURATION_PRUSA_H
 
 #include <limits.h>
+#include "printers.h"
 /*------------------------------------
  GENERAL SETTINGS
  *------------------------------------*/
 
 // Printer revision
 #define PRINTER_TYPE PRINTER_MK25S
+#define PRINTER_NAME PRINTER_MK25S_NAME
+#define PRINTER_MMU_TYPE PRINTER_MK25S_MMU2
+#define PRINTER_MMU_NAME PRINTER_MK25S_MMU2_NAME
 #define FILAMENT_SIZE "1_75mm_MK25S"
 #define NOZZLE_TYPE "E3Dv6full"
 

+ 4 - 0
Firmware/variants/1_75mm_MK25S-RAMBo13a-E3Dv6full.h

@@ -2,12 +2,16 @@
 #define CONFIGURATION_PRUSA_H
 
 #include <limits.h>
+#include "printers.h"
 /*------------------------------------
  GENERAL SETTINGS
  *------------------------------------*/
 
 // Printer revision
 #define PRINTER_TYPE PRINTER_MK25S
+#define PRINTER_NAME PRINTER_MK25S_NAME
+#define PRINTER_MMU_TYPE PRINTER_MK25S_MMU2
+#define PRINTER_MMU_NAME PRINTER_MK25S_MMU2_NAME
 #define FILAMENT_SIZE "1_75mm_MK25"
 #define NOZZLE_TYPE "E3Dv6full"
 

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

@@ -2,6 +2,7 @@
 #define CONFIGURATION_PRUSA_H
 
 #include <limits.h>
+//-//
 #include "printers.h"
 /*------------------------------------
  GENERAL SETTINGS
@@ -10,6 +11,7 @@
 // Printer revision
 #define PRINTER_TYPE PRINTER_MK3
 #define PRINTER_NAME PRINTER_MK3_NAME
+#define PRINTER_MMU_TYPE PRINTER_MK3_MMU2
 #define PRINTER_MMU_NAME PRINTER_MK3_MMU2_NAME
 #define FILAMENT_SIZE "1_75mm_MK3"
 #define NOZZLE_TYPE "E3Dv6full"

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

@@ -10,6 +10,7 @@
 // Printer revision
 #define PRINTER_TYPE PRINTER_MK3S
 #define PRINTER_NAME PRINTER_MK3S_NAME
+#define PRINTER_MMU_TYPE PRINTER_MK3S_MMU2
 #define PRINTER_MMU_NAME PRINTER_MK3S_MMU2_NAME
 #define FILAMENT_SIZE "1_75mm_MK3"
 #define NOZZLE_TYPE "E3Dv6full"