From a3a7f3106e69533f492c91454eaef745866fda2e Mon Sep 17 00:00:00 2001 From: MRprusa3d Date: Wed, 3 Jul 2019 17:21:11 +0200 Subject: [PATCH 1/9] print parameters checking --- Firmware/Configuration.h | 3 + Firmware/Marlin_main.cpp | 97 +++++++- Firmware/eeprom.h | 4 + Firmware/printers.h | 27 +- Firmware/ultralcd.cpp | 232 ++++++++++++++---- Firmware/util.cpp | 229 +++++++++++++++-- Firmware/util.h | 69 ++++-- .../variants/1_75mm_MK3-EINSy10a-E3Dv6full.h | 2 + 8 files changed, 568 insertions(+), 95 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index bfa44a735..41358686a 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -15,6 +15,9 @@ #define FW_REPOSITORY "Unknown" #define FW_VERSION_FULL FW_VERSION "-" STR(FW_COMMIT_NR) +// G-code language level +#define GCODE_LEVEL 1 + // Debug version has debugging enabled (the symbol DEBUG_BUILD is set). // The debug build may be a bit slower than the non-debug build, therefore the debug build should // not be shipped to a customer. diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 230fda94e..3594419a5 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -3654,7 +3654,7 @@ void process_commands() //-// /* - } else if(code_seen("qqq")) { + } else if(code_seen("rrr")) { MYSERIAL.println("=== checking ==="); MYSERIAL.println(eeprom_read_byte((uint8_t*)EEPROM_CHECK_MODE),DEC); MYSERIAL.println(eeprom_read_byte((uint8_t*)EEPROM_NOZZLE_DIAMETER),DEC); @@ -3676,13 +3676,47 @@ eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,0xFFFF); } else if(code_seen("set") && farm_mode) { + strchr_pointer++; // skip 1st char (~ 's') strchr_pointer++; // skip 2nd char (~ 'e') - strchr_pointer++; // skip 3rd char (~ 't') nDiameter=(uint16_t)(code_value()*1000.0+0.5); // [,um] - eeprom_update_byte((uint8_t*)EEPROM_NOZZLE_DIAMETER,(uint8_t)e_NOZZLE_DIAMETER_NULL); // for correct synchronization after farm-mode exiting + 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 SERIAL_PROTOCOLLN((float)eeprom_read_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM)/1000.0); + +//-// !!! SupportMenu +/* +// musi byt PRED "PRUSA model" + } else if (code_seen("smodel")) { //! PRUSA smodel + size_t nOffset; +// ! -> "l" + strchr_pointer+=5*sizeof(*strchr_pointer); // skip 1st - 5th char (~ 'smode') + nOffset=strspn(strchr_pointer+1," \t\n\r\v\f"); + if(*(strchr_pointer+1+nOffset)) + printer_smodel_check(strchr_pointer); + else SERIAL_PROTOCOLLN(PRINTER_NAME); + } else if (code_seen("model")) { //! PRUSA model + uint16_t nPrinterModel; + strchr_pointer+=4*sizeof(*strchr_pointer); // skip 1st - 4th char (~ 'mode') + nPrinterModel=(uint16_t)code_value_long(); + if(nPrinterModel!=0) + printer_model_check(nPrinterModel); + else SERIAL_PROTOCOLLN(PRINTER_TYPE); + } else if (code_seen("version")) { //! PRUSA version + strchr_pointer+=7*sizeof(*strchr_pointer); // skip 1st - 7th char (~ 'version') + while(*strchr_pointer==' ') // skip leading spaces + strchr_pointer++; + if(*strchr_pointer!=0) + fw_version_check(strchr_pointer); + else SERIAL_PROTOCOLLN(FW_VERSION); + } else if (code_seen("gcode")) { //! PRUSA gcode + uint16_t nGcodeLevel; + strchr_pointer+=4*sizeof(*strchr_pointer); // skip 1st - 4th char (~ 'gcod') + nGcodeLevel=(uint16_t)code_value_long(); + if(nGcodeLevel!=0) + gcode_level_check(nGcodeLevel); + else SERIAL_PROTOCOLLN(GCODE_LEVEL); +*/ } //else if (code_seen('Cal')) { // lcd_calibration(); @@ -6847,6 +6881,63 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE)) #endif //PINDA_THERMISTOR + case 862: // M862: print checking + float nDummy; + uint8_t nCommand; + nCommand=(uint8_t)(modff(code_value_float(),&nDummy)*10.0+0.5); + switch((ClPrintChecking)nCommand) + { + case ClPrintChecking::_Nozzle: // ~ .1 + uint16_t nDiameter; + if(code_seen('P')) + { + 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; + case ClPrintChecking::_Model: // ~ .2 + if(code_seen('P')) + { + uint16_t nPrinterModel; + nPrinterModel=(uint16_t)code_value_long(); + printer_model_check(nPrinterModel); + } + else if(code_seen('Q')) + SERIAL_PROTOCOLLN(PRINTER_TYPE); + break; + case ClPrintChecking::_Smodel: // ~ .3 + if(code_seen('P')) + printer_smodel_check(strchr_pointer); + else if(code_seen('Q')) + SERIAL_PROTOCOLLN(PRINTER_NAME); + break; + case ClPrintChecking::_Version: // ~ .4 + if(code_seen('P')) + fw_version_check(++strchr_pointer); + else if(code_seen('Q')) + SERIAL_PROTOCOLLN(FW_VERSION); + break; + case ClPrintChecking::_Gcode: // ~ .5 + if(code_seen('P')) + { + uint16_t nGcodeLevel; + nGcodeLevel=(uint16_t)code_value_long(); + gcode_level_check(nGcodeLevel); + } + else if(code_seen('Q')) + SERIAL_PROTOCOLLN(GCODE_LEVEL); + break; + } + break; + #ifdef LIN_ADVANCE case 900: // M900: Set LIN_ADVANCE options. gcode_M900(); diff --git a/Firmware/eeprom.h b/Firmware/eeprom.h index 70f9f726b..464a1fb01 100644 --- a/Firmware/eeprom.h +++ b/Firmware/eeprom.h @@ -1,6 +1,7 @@ #ifndef EEPROM_H #define EEPROM_H +#define EEPROM_EMPTY_VALUE 0xFF // The total size of the EEPROM is // 4096 for the Atmega2560 #define EEPROM_TOP 4096 @@ -166,6 +167,9 @@ #define EEPROM_CHECK_MODE (EEPROM_MMU_STEALTH-1) // uint8 #define EEPROM_NOZZLE_DIAMETER (EEPROM_CHECK_MODE-1) // uint8 #define EEPROM_NOZZLE_DIAMETER_uM (EEPROM_NOZZLE_DIAMETER-2) // uint16 +#define EEPROM_CHECK_MODEL (EEPROM_NOZZLE_DIAMETER_uM-1) // uint8 +#define EEPROM_CHECK_VERSION (EEPROM_CHECK_MODEL-1) // uint8 +#define EEPROM_CHECK_GCODE (EEPROM_CHECK_VERSION-1) // uint8 // !!!!! // !!!!! this is end of EEPROM section ... all updates MUST BE inserted before this mark !!!!! diff --git a/Firmware/printers.h b/Firmware/printers.h index 8111beb05..cdebbba5d 100644 --- a/Firmware/printers.h +++ b/Firmware/printers.h @@ -3,14 +3,23 @@ #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 -#define PRINTER_MK25S 252 -#define PRINTER_MK3 300 -#define PRINTER_MK3_SNMM 301 -#define PRINTER_MK3S 302 +#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_NAME "MK3" +#define PRINTER_MK3_SNMM 301 + +#define PRINTER_MK3_MMU2 20300 +#define PRINTER_MK3_MMU2_NAME "MK3MMU2" + +#define PRINTER_MK3S 302 +#define PRINTER_MK3S_NAME "MK3S" +#define PRINTER_MK3S_MMU2 20302 +#define PRINTER_MK3S_MMU2_NAME "MK3SMMU2S" #endif //PRINTERS_H diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 88d0b7d01..cdd6f9a6e 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -5288,95 +5288,218 @@ while (0) //-// static void lcd_check_mode_set(void) { -switch(eCheckMode) +switch(oCheckMode) { - case e_CHECK_MODE_none: - eCheckMode=e_CHECK_MODE_warn; + case ClCheckMode::_None: + oCheckMode=ClCheckMode::_Warn; break; - case e_CHECK_MODE_warn: - eCheckMode=e_CHECK_MODE_strict; + case ClCheckMode::_Warn: + oCheckMode=ClCheckMode::_Strict; break; - case e_CHECK_MODE_strict: - eCheckMode=e_CHECK_MODE_none; + case ClCheckMode::_Strict: + oCheckMode=ClCheckMode::_None; break; default: - eCheckMode=e_CHECK_MODE_none; + oCheckMode=ClCheckMode::_None; } -eeprom_update_byte((uint8_t*)EEPROM_CHECK_MODE,(uint8_t)eCheckMode); -} - -static void lcd_nozzle_diameter_set(void) -{ -uint16_t nDiameter; - -switch(eNozzleDiameter) - { - case e_NOZZLE_DIAMETER_250: - eNozzleDiameter=e_NOZZLE_DIAMETER_400; - nDiameter=400; - break; - case e_NOZZLE_DIAMETER_400: - eNozzleDiameter=e_NOZZLE_DIAMETER_600; - nDiameter=600; - break; - case e_NOZZLE_DIAMETER_600: - eNozzleDiameter=e_NOZZLE_DIAMETER_250; - nDiameter=250; - break; - default: - eNozzleDiameter=e_NOZZLE_DIAMETER_400; - nDiameter=400; - } -eeprom_update_byte((uint8_t*)EEPROM_NOZZLE_DIAMETER,(uint8_t)eNozzleDiameter); -eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,nDiameter); +eeprom_update_byte((uint8_t*)EEPROM_CHECK_MODE,(uint8_t)oCheckMode); } #define SETTINGS_MODE \ do\ {\ - switch(eCheckMode)\ + switch(oCheckMode)\ {\ - case e_CHECK_MODE_none:\ - MENU_ITEM_FUNCTION_P(_i("Action [none]"),lcd_check_mode_set);\ + case ClCheckMode::_None:\ + MENU_ITEM_FUNCTION_P(_i("Nozzle Ch. [none]"),lcd_check_mode_set);\ break;\ - case e_CHECK_MODE_warn:\ - MENU_ITEM_FUNCTION_P(_i("Action [warn]"),lcd_check_mode_set);\ + case ClCheckMode::_Warn:\ + MENU_ITEM_FUNCTION_P(_i("Nozzle Ch. [warn]"),lcd_check_mode_set);\ break;\ - case e_CHECK_MODE_strict:\ - MENU_ITEM_FUNCTION_P(_i("Action [strict]"),lcd_check_mode_set);\ + case ClCheckMode::_Strict:\ + MENU_ITEM_FUNCTION_P(_i("Nozzle Ch[strict]"),lcd_check_mode_set);\ break;\ default:\ - MENU_ITEM_FUNCTION_P(_i("Action [none]"),lcd_check_mode_set);\ + MENU_ITEM_FUNCTION_P(_i("Nozzle Ch. [none]"),lcd_check_mode_set);\ }\ }\ while (0) +static void lcd_nozzle_diameter_set(void) +{ +uint16_t nDiameter; + +switch(oNozzleDiameter) + { + case ClNozzleDiameter::_Diameter_250: + oNozzleDiameter=ClNozzleDiameter::_Diameter_400; + nDiameter=400; + break; + case ClNozzleDiameter::_Diameter_400: + oNozzleDiameter=ClNozzleDiameter::_Diameter_600; + nDiameter=600; + break; + case ClNozzleDiameter::_Diameter_600: + oNozzleDiameter=ClNozzleDiameter::_Diameter_250; + nDiameter=250; + break; + default: + oNozzleDiameter=ClNozzleDiameter::_Diameter_400; + nDiameter=400; + } +eeprom_update_byte((uint8_t*)EEPROM_NOZZLE_DIAMETER,(uint8_t)oNozzleDiameter); +eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,nDiameter); +} + #define SETTINGS_NOZZLE \ do\ {\ - switch(eNozzleDiameter)\ + switch(oNozzleDiameter)\ {\ - case e_NOZZLE_DIAMETER_250:\ - MENU_ITEM_FUNCTION_P(_i("Nozzle [0.25]"),lcd_nozzle_diameter_set);\ + case ClNozzleDiameter::_Diameter_250:\ + MENU_ITEM_FUNCTION_P(_i("Nozzle d. [0.25]"),lcd_nozzle_diameter_set);\ break;\ - case e_NOZZLE_DIAMETER_400:\ - MENU_ITEM_FUNCTION_P(_i("Nozzle [0.40]"),lcd_nozzle_diameter_set);\ + case ClNozzleDiameter::_Diameter_400:\ + MENU_ITEM_FUNCTION_P(_i("Nozzle d. [0.40]"),lcd_nozzle_diameter_set);\ break;\ - case e_NOZZLE_DIAMETER_600:\ - MENU_ITEM_FUNCTION_P(_i("Nozzle [0.60]"),lcd_nozzle_diameter_set);\ + case ClNozzleDiameter::_Diameter_600:\ + MENU_ITEM_FUNCTION_P(_i("Nozzle d. [0.60]"),lcd_nozzle_diameter_set);\ break;\ default:\ - MENU_ITEM_FUNCTION_P(_i("Nozzle [0.40]"),lcd_nozzle_diameter_set);\ + MENU_ITEM_FUNCTION_P(_i("Nozzle d. [0.40]"),lcd_nozzle_diameter_set);\ }\ }\ while (0) -static void lcd_checking_menu() +static void lcd_check_model_set(void) +{ +switch(oCheckModel) + { + case ClCheckModel::_None: + oCheckModel=ClCheckModel::_Warn; + break; + case ClCheckModel::_Warn: + oCheckModel=ClCheckModel::_Strict; + break; + case ClCheckModel::_Strict: + oCheckModel=ClCheckModel::_None; + break; + default: + oCheckModel=ClCheckModel::_None; + } +eeprom_update_byte((uint8_t*)EEPROM_CHECK_MODEL,(uint8_t)oCheckModel); +} + +#define SETTINGS_MODEL \ +do\ +{\ + switch(oCheckModel)\ + {\ + case ClCheckModel::_None:\ + MENU_ITEM_FUNCTION_P(_i("Model Ch. [none]"),lcd_check_model_set);\ + break;\ + case ClCheckModel::_Warn:\ + MENU_ITEM_FUNCTION_P(_i("Model Ch. [warn]"),lcd_check_model_set);\ + break;\ + case ClCheckModel::_Strict:\ + MENU_ITEM_FUNCTION_P(_i("Model Ch.[strict]"),lcd_check_model_set);\ + break;\ + default:\ + MENU_ITEM_FUNCTION_P(_i("Model Ch. [none]"),lcd_check_model_set);\ + }\ +}\ +while (0) + +static void lcd_check_version_set(void) +{ +switch(oCheckVersion) + { + case ClCheckVersion::_None: + oCheckVersion=ClCheckVersion::_Warn; + break; + case ClCheckVersion::_Warn: + oCheckVersion=ClCheckVersion::_Strict; + break; + case ClCheckVersion::_Strict: + oCheckVersion=ClCheckVersion::_None; + break; + default: + oCheckVersion=ClCheckVersion::_None; + } +eeprom_update_byte((uint8_t*)EEPROM_CHECK_VERSION,(uint8_t)oCheckVersion); +} + +#define SETTINGS_VERSION \ +do\ +{\ + switch(oCheckVersion)\ + {\ + case ClCheckVersion::_None:\ + MENU_ITEM_FUNCTION_P(_i("FW Ch. [none]"),lcd_check_version_set);\ + break;\ + case ClCheckVersion::_Warn:\ + MENU_ITEM_FUNCTION_P(_i("FW Ch. [warn]"),lcd_check_version_set);\ + break;\ + case ClCheckVersion::_Strict:\ + MENU_ITEM_FUNCTION_P(_i("FW Ch. [strict]"),lcd_check_version_set);\ + break;\ + default:\ + MENU_ITEM_FUNCTION_P(_i("FW Ch. [none]"),lcd_check_version_set);\ + }\ +}\ +while (0) + +static void lcd_check_gcode_set(void) +{ +switch(oCheckGcode) + { + case ClCheckGcode::_None: + oCheckGcode=ClCheckGcode::_Warn; + break; + case ClCheckGcode::_Warn: + oCheckGcode=ClCheckGcode::_Strict; + break; + case ClCheckGcode::_Strict: + oCheckGcode=ClCheckGcode::_None; + break; + default: + oCheckGcode=ClCheckGcode::_None; + } +eeprom_update_byte((uint8_t*)EEPROM_CHECK_GCODE,(uint8_t)oCheckGcode); +} + +#define SETTINGS_GCODE \ +do\ +{\ + switch(oCheckGcode)\ + {\ + case ClCheckGcode::_None:\ + MENU_ITEM_FUNCTION_P(_i("Gcode Ch. [none]"),lcd_check_gcode_set);\ + break;\ + case ClCheckGcode::_Warn:\ + MENU_ITEM_FUNCTION_P(_i("Gcode Ch. [warn]"),lcd_check_gcode_set);\ + break;\ + case ClCheckGcode::_Strict:\ + MENU_ITEM_FUNCTION_P(_i("Gcode Ch.[strict]"),lcd_check_gcode_set);\ + break;\ + default:\ + MENU_ITEM_FUNCTION_P(_i("Gcode Ch. [none]"),lcd_check_gcode_set);\ + }\ +}\ +while (0) + +//static void lcd_checking_menu() +void lcd_checking_menu() { MENU_BEGIN(); MENU_ITEM_BACK_P(_T(MSG_SETTINGS)); -SETTINGS_MODE; SETTINGS_NOZZLE; +MENU_ITEM_TEXT_P(STR_SEPARATOR); +MENU_ITEM_TEXT_P(_i("Checks:")); +SETTINGS_MODE; +SETTINGS_MODEL; +SETTINGS_VERSION; +SETTINGS_GCODE; MENU_END(); } @@ -6489,7 +6612,8 @@ static void lcd_main_menu() if (mmu_enabled) { MENU_ITEM_SUBMENU_P(_i("Fail stats MMU"), lcd_menu_fails_stats_mmu); } - MENU_ITEM_SUBMENU_P(_i("Support"), lcd_support_menu);////MSG_SUPPORT +//-// +// MENU_ITEM_SUBMENU_P(_i("Support"), lcd_support_menu);////MSG_SUPPORT #ifdef LCD_TEST MENU_ITEM_SUBMENU_P(_i("W25x20CL init"), lcd_test_menu);////MSG_SUPPORT #endif //LCD_TEST diff --git a/Firmware/util.cpp b/Firmware/util.cpp index da60cb701..02e054618 100644 --- a/Firmware/util.cpp +++ b/Firmware/util.cpp @@ -330,43 +330,244 @@ void update_current_firmware_version_to_eeprom() //-// -eNOZZLE_DIAMETER eNozzleDiameter=e_NOZZLE_DIAMETER_400; -eCHECK_MODE eCheckMode=e_CHECK_MODE_none; +void lcd_checking_menu(void); + +ClNozzleDiameter oNozzleDiameter=ClNozzleDiameter::_Diameter_400; +ClCheckMode oCheckMode=ClCheckMode::_None; +ClCheckModel oCheckModel=ClCheckModel::_None; +ClCheckVersion oCheckVersion=ClCheckVersion::_None; +ClCheckGcode oCheckGcode=ClCheckGcode::_None; void fCheckModeInit() { -eCheckMode=(eCHECK_MODE)eeprom_read_byte((uint8_t*)EEPROM_CHECK_MODE); -if(eCheckMode==e_CHECK_MODE_NULL) +oCheckMode=(ClCheckMode)eeprom_read_byte((uint8_t*)EEPROM_CHECK_MODE); +if(oCheckMode==ClCheckMode::_Undef) { - eCheckMode=e_CHECK_MODE_warn; - eeprom_update_byte((uint8_t*)EEPROM_CHECK_MODE,(uint8_t)eCheckMode); + oCheckMode=ClCheckMode::_Warn; + eeprom_update_byte((uint8_t*)EEPROM_CHECK_MODE,(uint8_t)oCheckMode); } if(farm_mode) - eCheckMode=e_CHECK_MODE_strict; -eNozzleDiameter=(eNOZZLE_DIAMETER)eeprom_read_byte((uint8_t*)EEPROM_NOZZLE_DIAMETER); -if((eNozzleDiameter==e_NOZZLE_DIAMETER_NULL)&& !farm_mode) + oCheckMode=ClCheckMode::_Strict; +oNozzleDiameter=(ClNozzleDiameter)eeprom_read_byte((uint8_t*)EEPROM_NOZZLE_DIAMETER); +if((oNozzleDiameter==ClNozzleDiameter::_Diameter_Undef)&& !farm_mode) { - eNozzleDiameter=e_NOZZLE_DIAMETER_400; - eeprom_update_byte((uint8_t*)EEPROM_NOZZLE_DIAMETER,(uint8_t)eNozzleDiameter); + oNozzleDiameter=ClNozzleDiameter::_Diameter_400; + eeprom_update_byte((uint8_t*)EEPROM_NOZZLE_DIAMETER,(uint8_t)oNozzleDiameter); eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,400); } +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); + } +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); + } +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); + } } void nozzle_diameter_check(uint16_t nDiameter) { uint16_t nDiameter_um; +if(oCheckMode==ClCheckMode::_None) + return; nDiameter_um=eeprom_read_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM); if(nDiameter==nDiameter_um) return; -switch(eCheckMode) +SERIAL_ECHO_START; +SERIAL_ECHOLNPGM("Nozzle diameter doesn't match ..."); +SERIAL_ECHOPGM("actual : "); +SERIAL_ECHOLN((float)(nDiameter_um/1000.0)); +SERIAL_ECHOPGM("expected: "); +SERIAL_ECHOLN((float)(nDiameter/1000.0)); +switch(oCheckMode) { - case e_CHECK_MODE_warn: + case ClCheckMode::_Warn: lcd_show_fullscreen_message_and_wait_P(_i("Nozzle diameter doesn't match! Press the knob to continue.")); break; - case e_CHECK_MODE_strict: + case ClCheckMode::_Strict: lcd_show_fullscreen_message_and_wait_P(_i("Nozzle diameter doesn't match! Print is aborted, press the knob.")); lcd_print_stop(); break; } +menu_submenu(lcd_checking_menu); +} + +void printer_model_check(uint16_t nPrinterModel) +{ +if(oCheckModel==ClCheckModel::_None) + return; +if(nPrinterModel==(uint16_t)PRINTER_TYPE) + return; +SERIAL_ECHO_START; +SERIAL_ECHOLNPGM("Printer model doesn't match ..."); +SERIAL_ECHOPGM("actual : "); +SERIAL_ECHOLN(PRINTER_TYPE); +SERIAL_ECHOPGM("expected: "); +SERIAL_ECHOLN(nPrinterModel); +switch(oCheckModel) + { + case ClCheckModel::_Warn: + lcd_show_fullscreen_message_and_wait_P(_i("Printer model doesn't match! Press the knob to continue.")); + break; + case ClCheckModel::_Strict: + lcd_show_fullscreen_message_and_wait_P(_i("Printer model doesn't match! Print is aborted, press the knob.")); + lcd_print_stop(); + break; + } +} + +int8_t mCmp(uint16_t nX,uint16_t nY) +{ +if(nX>nY) + return(1); +if(nXeeprom_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] cmdqueue ??? +#define PRINTER_NAME_LENGTH (sizeof(PRINTER_NAME)-1) +#define GCODE_DELIMITER '"' +#define ELLIPSIS "..." + +char* code_string(char* pStr,size_t* nLength) +{ +char* pStrBegin; +char* pStrEnd; + +pStrBegin=strchr(pStr,GCODE_DELIMITER); +if(!pStrBegin) + return(NULL); +pStrBegin++; +pStrEnd=strchr(pStrBegin,GCODE_DELIMITER); +if(!pStrEnd) + return(NULL); +*nLength=pStrEnd-pStrBegin; +return(pStrBegin); +} + +void printer_smodel_check(char* pStrPos) +{ +char* pResult; +size_t nLength; +bool bCheckOK; +char sPrinterName[PRINTER_NAME_LENGTH+sizeof(ELLIPSIS)-1+1]=""; + +pResult=code_string(pStrPos,&nLength); +if(pResult!=NULL) + { + strlcpy(sPrinterName,pResult,min(PRINTER_NAME_LENGTH,nLength)+1); + if(nLength>PRINTER_NAME_LENGTH) + 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 + return; + } +SERIAL_ECHO_START; +SERIAL_ECHOLNPGM("Printer model doesn't match ..."); +SERIAL_ECHOPGM("actual : \""); +SERIAL_ECHO(PRINTER_NAME); +SERIAL_ECHOLNPGM("\""); +SERIAL_ECHOPGM("expected: \""); +SERIAL_ECHO(sPrinterName); +SERIAL_ECHOLNPGM("\""); +switch(oCheckModel) + { + case ClCheckModel::_Warn: + lcd_show_fullscreen_message_and_wait_P(_i("Printer model doesn't match! Press the knob to continue.")); + break; + case ClCheckModel::_Strict: + lcd_show_fullscreen_message_and_wait_P(_i("Printer model doesn't match! Print is aborted, press the knob.")); + lcd_print_stop(); + break; + } } diff --git a/Firmware/util.h b/Firmware/util.h index d3b7e7d16..96358ef7c 100644 --- a/Firmware/util.h +++ b/Firmware/util.h @@ -35,27 +35,66 @@ inline void eeprom_update_int8(unsigned char* addr, int8_t v) { //-// -#define e_CHECK_MODE_NULL 0xFF -#define e_NOZZLE_DIAMETER_NULL 0xFF - -typedef enum +enum class ClPrintChecking:uint_least8_t { - e_NOZZLE_DIAMETER_250, - e_NOZZLE_DIAMETER_400, - e_NOZZLE_DIAMETER_600 -} eNOZZLE_DIAMETER; + _Nozzle=1, + _Model=2, + _Smodel=3, + _Version=4, + _Gcode=5 +}; -typedef enum +enum class ClNozzleDiameter:uint_least8_t { - e_CHECK_MODE_none, - e_CHECK_MODE_warn, - e_CHECK_MODE_strict -} eCHECK_MODE; + _Diameter_250=25, + _Diameter_400=40, + _Diameter_600=60, + _Diameter_Undef=EEPROM_EMPTY_VALUE +}; -extern eNOZZLE_DIAMETER eNozzleDiameter; -extern eCHECK_MODE eCheckMode; +enum class ClCheckMode:uint_least8_t +{ + _None, + _Warn, + _Strict, + _Undef=EEPROM_EMPTY_VALUE +}; + +enum class ClCheckModel:uint_least8_t +{ + _None, + _Warn, + _Strict, + _Undef=EEPROM_EMPTY_VALUE +}; + +enum class ClCheckVersion:uint_least8_t +{ + _None, + _Warn, + _Strict, + _Undef=EEPROM_EMPTY_VALUE +}; + +enum class ClCheckGcode:uint_least8_t +{ + _None, + _Warn, + _Strict, + _Undef=EEPROM_EMPTY_VALUE +}; + +extern ClNozzleDiameter oNozzleDiameter; +extern ClCheckMode oCheckMode; +extern ClCheckModel oCheckModel; +extern ClCheckVersion oCheckVersion; +extern ClCheckGcode oCheckGcode; void fCheckModeInit(); void nozzle_diameter_check(uint16_t nDiameter); +void printer_model_check(uint16_t nPrinterModel); +void printer_smodel_check(char* pStrPos); +void fw_version_check(const char *pVersion); +void gcode_level_check(uint16_t nGcodeLevel); #endif /* UTIL_H */ diff --git a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h index 1e1fcfe13..39b0c9e8b 100644 --- a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -8,6 +8,8 @@ // Printer revision #define PRINTER_TYPE PRINTER_MK3 +#define PRINTER_NAME PRINTER_MK3_NAME +#define PRINTER_MMU_NAME PRINTER_MK3_MMU2_NAME #define FILAMENT_SIZE "1_75mm_MK3" #define NOZZLE_TYPE "E3Dv6full" From 7e3cb98a1f966143b5eebe0084fec4d3638ee5db Mon Sep 17 00:00:00 2001 From: MRprusa3d Date: Wed, 3 Jul 2019 17:50:41 +0200 Subject: [PATCH 2/9] & MK3S --- Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h index 9bb423675..9b03dbbdb 100644 --- a/Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h @@ -8,6 +8,8 @@ // Printer revision #define PRINTER_TYPE PRINTER_MK3S +#define PRINTER_NAME PRINTER_MK3S_NAME +#define PRINTER_MMU_NAME PRINTER_MK3S_MMU2_NAME #define FILAMENT_SIZE "1_75mm_MK3" #define NOZZLE_TYPE "E3Dv6full" From 4db4f19128225dac9c6d9612f4f1bde0753096fe Mon Sep 17 00:00:00 2001 From: MRprusa3d Date: Wed, 3 Jul 2019 18:14:48 +0200 Subject: [PATCH 3/9] 'variant files' update ;-((( --- Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h | 1 + Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h | 1 + 2 files changed, 2 insertions(+) diff --git a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h index 39b0c9e8b..9a1938e0f 100644 --- a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -2,6 +2,7 @@ #define CONFIGURATION_PRUSA_H #include +#include "printers.h" /*------------------------------------ GENERAL SETTINGS *------------------------------------*/ diff --git a/Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h index 9b03dbbdb..6e3b5150d 100644 --- a/Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h @@ -2,6 +2,7 @@ #define CONFIGURATION_PRUSA_H #include +#include "printers.h" /*------------------------------------ GENERAL SETTINGS *------------------------------------*/ From 8229a451872eb8b0414aeac59343c5c26ba3d291 Mon Sep 17 00:00:00 2001 From: MRprusa3d Date: Tue, 9 Jul 2019 12:16:51 +0200 Subject: [PATCH 4/9] pre-production version ;-) --- Firmware/Configuration.c | 12 +++ Firmware/Configuration.h | 9 +++ Firmware/Marlin_main.cpp | 12 ++- Firmware/mmu.cpp | 5 ++ Firmware/printers.h | 54 +++++++++---- Firmware/ultralcd.cpp | 37 ++++----- Firmware/util.cpp | 80 +++++++++---------- Firmware/util.h | 10 +++ .../variants/1_75mm_MK2-RAMBo10a-E3Dv6full.h | 4 + .../variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h | 4 + .../variants/1_75mm_MK25-RAMBo10a-E3Dv6full.h | 4 + .../variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h | 4 + .../1_75mm_MK25S-RAMBo10a-E3Dv6full.h | 4 + .../1_75mm_MK25S-RAMBo13a-E3Dv6full.h | 4 + .../variants/1_75mm_MK3-EINSy10a-E3Dv6full.h | 2 + .../variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h | 1 + 16 files changed, 168 insertions(+), 78 deletions(-) create mode 100644 Firmware/Configuration.c diff --git a/Firmware/Configuration.c b/Firmware/Configuration.c new file mode 100644 index 000000000..1fd334541 --- /dev/null +++ b/Firmware/Configuration.c @@ -0,0 +1,12 @@ +#include +#include +//!?! #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; \ No newline at end of file diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 41358686a..010213eac 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -6,6 +6,15 @@ #define STR_HELPER(x) #x #define STR(x) STR_HELPER(x) +//-// +#include +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 diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 3594419a5..1fdfd0b4b 100755 --- a/Firmware/Marlin_main.cpp +++ b/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')) diff --git a/Firmware/mmu.cpp b/Firmware/mmu.cpp index 916b3d0fd..d4b55b485 100644 --- a/Firmware/mmu.cpp +++ b/Firmware/mmu.cpp @@ -15,6 +15,8 @@ #include #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; diff --git a/Firmware/printers.h b/Firmware/printers.h index cdebbba5d..ef8c6e80c 100644 --- a/Firmware/printers.h +++ b/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 diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index cdd6f9a6e..5983f657b 100755 --- a/Firmware/ultralcd.cpp +++ b/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:")); diff --git a/Firmware/util.cpp b/Firmware/util.cpp index 02e054618..d2d8e6cc1 100644 --- a/Firmware/util.cpp +++ b/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(nXeeprom_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) +if((nCompareValueResult 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; + } +} diff --git a/Firmware/util.h b/Firmware/util.h index 96358ef7c..a9bbcb1d6 100644 --- a/Firmware/util.h +++ b/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 */ diff --git a/Firmware/variants/1_75mm_MK2-RAMBo10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK2-RAMBo10a-E3Dv6full.h index 1ed888edb..442e8b944 100644 --- a/Firmware/variants/1_75mm_MK2-RAMBo10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK2-RAMBo10a-E3Dv6full.h @@ -2,12 +2,16 @@ #define CONFIGURATION_PRUSA_H #include +#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" diff --git a/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h b/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h index 26ca70be2..44fee01ec 100644 --- a/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h @@ -2,12 +2,16 @@ #define CONFIGURATION_PRUSA_H #include +#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" diff --git a/Firmware/variants/1_75mm_MK25-RAMBo10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK25-RAMBo10a-E3Dv6full.h index 752a61317..a979503ae 100644 --- a/Firmware/variants/1_75mm_MK25-RAMBo10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK25-RAMBo10a-E3Dv6full.h @@ -2,12 +2,16 @@ #define CONFIGURATION_PRUSA_H #include +#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" diff --git a/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h b/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h index 525590bd4..bb897fd74 100644 --- a/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h @@ -2,12 +2,16 @@ #define CONFIGURATION_PRUSA_H #include +#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" diff --git a/Firmware/variants/1_75mm_MK25S-RAMBo10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK25S-RAMBo10a-E3Dv6full.h index b47991590..8425dfd72 100644 --- a/Firmware/variants/1_75mm_MK25S-RAMBo10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK25S-RAMBo10a-E3Dv6full.h @@ -2,12 +2,16 @@ #define CONFIGURATION_PRUSA_H #include +#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" diff --git a/Firmware/variants/1_75mm_MK25S-RAMBo13a-E3Dv6full.h b/Firmware/variants/1_75mm_MK25S-RAMBo13a-E3Dv6full.h index 927fc9a18..525c2206f 100644 --- a/Firmware/variants/1_75mm_MK25S-RAMBo13a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK25S-RAMBo13a-E3Dv6full.h @@ -2,12 +2,16 @@ #define CONFIGURATION_PRUSA_H #include +#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" diff --git a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h index 9a1938e0f..b3828ce53 100644 --- a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -2,6 +2,7 @@ #define CONFIGURATION_PRUSA_H #include +//-// #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" diff --git a/Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h index 6e3b5150d..d331171f5 100644 --- a/Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h +++ b/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" From 4d535f12172b70b0f1ab2c3e6fc16e7e492ace9f Mon Sep 17 00:00:00 2001 From: MRprusa3d Date: Tue, 9 Jul 2019 12:31:20 +0200 Subject: [PATCH 5/9] ... incl. SupportMenu ;-P --- Firmware/ultralcd.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 5983f657b..6eaf6c63d 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -6613,8 +6613,7 @@ static void lcd_main_menu() if (mmu_enabled) { MENU_ITEM_SUBMENU_P(_i("Fail stats MMU"), lcd_menu_fails_stats_mmu); } -//-// -// MENU_ITEM_SUBMENU_P(_i("Support"), lcd_support_menu);////MSG_SUPPORT + MENU_ITEM_SUBMENU_P(_i("Support"), lcd_support_menu);////MSG_SUPPORT #ifdef LCD_TEST MENU_ITEM_SUBMENU_P(_i("W25x20CL init"), lcd_test_menu);////MSG_SUPPORT #endif //LCD_TEST From 3333d937ed4b37ff8b3863e1373b6319c63c4bf2 Mon Sep 17 00:00:00 2001 From: MRprusa3d Date: Wed, 10 Jul 2019 16:29:40 +0200 Subject: [PATCH 6/9] some improvements --- .../{Configuration.c => Configuration.cpp} | 4 +- Firmware/ultralcd.cpp | 7 +- Firmware/ultralcd.h | 3 + Firmware/util.cpp | 65 ++++++++++--------- 4 files changed, 42 insertions(+), 37 deletions(-) rename Firmware/{Configuration.c => Configuration.cpp} (73%) diff --git a/Firmware/Configuration.c b/Firmware/Configuration.cpp similarity index 73% rename from Firmware/Configuration.c rename to Firmware/Configuration.cpp index 1fd334541..f87849285 100644 --- a/Firmware/Configuration.c +++ b/Firmware/Configuration.cpp @@ -1,6 +1,4 @@ -#include -#include -//!?! #include "Configuration.h" +#include "Configuration.h" #include "Configuration_prusa.h" const uint16_t _nPrinterType PROGMEM=PRINTER_TYPE; diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 6eaf6c63d..35ce0f63a 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -307,6 +307,7 @@ bool wait_for_unclick; #endif bool bMain; // flag (i.e. 'fake parameter') for 'lcd_sdcard_menu()' function +bool bSettings; // flag (i.e. 'fake parameter') for 'lcd_checkink_menu()' function @@ -5492,8 +5493,7 @@ while (0) void lcd_checking_menu() { MENU_BEGIN(); -//-//MENU_ITEM_BACK_P(_T(MSG_SETTINGS)); -MENU_ITEM_BACK_P(_T(MSG_BACK)); +MENU_ITEM_BACK_P(_T(bSettings?MSG_SETTINGS:MSG_BACK)); // i.e. default menu-item / menu-item after checking mismatch SETTINGS_NOZZLE; MENU_ITEM_TEXT_P(STR_SEPARATOR); MENU_ITEM_TEXT_P(_i("Checks:")); @@ -5556,7 +5556,10 @@ static void lcd_settings_menu() #endif //(LANG_MODE != 0) if (!farm_mode) + { + bSettings=true; // flag ('fake parameter') for 'lcd_checking_menu()' function MENU_ITEM_SUBMENU_P(_i("Print checking"), lcd_checking_menu); + } SETTINGS_SD; SETTINGS_SOUND; diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index a75cf6c40..a4abd1068 100755 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -137,6 +137,9 @@ void lcd_ignore_click(bool b=true); void lcd_commands(); +extern bool bSettings; // flag (i.e. 'fake parameter') for 'lcd_checkink_menu()' function + + void change_extr(int extr); #ifdef SNMM diff --git a/Firmware/util.cpp b/Firmware/util.cpp index d2d8e6cc1..490f2897d 100644 --- a/Firmware/util.cpp +++ b/Firmware/util.cpp @@ -384,12 +384,12 @@ if(oCheckMode==ClCheckMode::_None) nDiameter_um=eeprom_read_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM); if(nDiameter==nDiameter_um) return; -SERIAL_ECHO_START; -SERIAL_ECHOLNPGM("Nozzle diameter doesn't match ..."); -SERIAL_ECHOPGM("actual : "); -SERIAL_ECHOLN((float)(nDiameter_um/1000.0)); -SERIAL_ECHOPGM("expected: "); -SERIAL_ECHOLN((float)(nDiameter/1000.0)); +//SERIAL_ECHO_START; +//SERIAL_ECHOLNPGM("Nozzle diameter doesn't match ..."); +//SERIAL_ECHOPGM("actual : "); +//SERIAL_ECHOLN((float)(nDiameter_um/1000.0)); +//SERIAL_ECHOPGM("expected: "); +//SERIAL_ECHOLN((float)(nDiameter/1000.0)); switch(oCheckMode) { case ClCheckMode::_Warn: @@ -400,6 +400,7 @@ switch(oCheckMode) lcd_print_stop(); break; } +bSettings=false; // flag ('fake parameter') for 'lcd_checking_menu()' function menu_submenu(lcd_checking_menu); } @@ -409,12 +410,12 @@ if(oCheckModel==ClCheckModel::_None) return; if(nPrinterModel==nPrinterType) return; -SERIAL_ECHO_START; -SERIAL_ECHOLNPGM("Printer model doesn't match ..."); -SERIAL_ECHOPGM("actual : "); -SERIAL_ECHOLN(nPrinterType); -SERIAL_ECHOPGM("expected: "); -SERIAL_ECHOLN(nPrinterModel); +//SERIAL_ECHO_START; +//SERIAL_ECHOLNPGM("Printer model doesn't match ..."); +//SERIAL_ECHOPGM("actual : "); +//SERIAL_ECHOLN(nPrinterType); +//SERIAL_ECHOPGM("expected: "); +//SERIAL_ECHOLN(nPrinterModel); switch(oCheckModel) { case ClCheckModel::_Warn: @@ -452,12 +453,12 @@ if(nCompareValueResult==COMPARE_VALUE_EQUAL) return; if((nCompareValueResult Date: Wed, 10 Jul 2019 17:07:00 +0200 Subject: [PATCH 7/9] Disable TMC2130 linarity correction for MK3 to save FLASH to enable compilation. Add symlink /Firmware/variants/printers.h to .gitignore. --- .gitignore | 1 + Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index bbd9b9ac2..dec628d07 100644 --- a/.gitignore +++ b/.gitignore @@ -51,3 +51,4 @@ Firmware/Doc /build-env/ /Firmware/Firmware.vcxproj /Firmware/Configuration_prusa_bckp.h +/Firmware/variants/printers.h diff --git a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h index b3828ce53..8b843095f 100644 --- a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -193,9 +193,9 @@ //#define FSENSOR_QUALITY -#define LINEARITY_CORRECTION -#define TMC2130_LINEARITY_CORRECTION -#define TMC2130_LINEARITY_CORRECTION_XYZ +//#define LINEARITY_CORRECTION +//#define TMC2130_LINEARITY_CORRECTION +//#define TMC2130_LINEARITY_CORRECTION_XYZ #define TMC2130_VARIABLE_RESOLUTION From e0f46f128dd71e7caa7c692c74fb0f6b0804ab4d Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Wed, 10 Jul 2019 17:39:24 +0200 Subject: [PATCH 8/9] Fix indentation. --- Firmware/mmu.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Firmware/mmu.cpp b/Firmware/mmu.cpp index 541a53d91..48baeb314 100755 --- a/Firmware/mmu.cpp +++ b/Firmware/mmu.cpp @@ -267,9 +267,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); + //-// + // ... PrinterType/Name + fSetMmuMode(true); mmu_state = S::Idle; } return; From 7189f44bcd8ba8fa4487db7c638c90c1daed201f Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Wed, 10 Jul 2019 17:40:33 +0200 Subject: [PATCH 9/9] Remove commented out defines. --- Firmware/printers.h | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/Firmware/printers.h b/Firmware/printers.h index ef8c6e80c..e26431302 100644 --- a/Firmware/printers.h +++ b/Firmware/printers.h @@ -3,17 +3,6 @@ #define PRINTER_UNKNOWN 0 -/* 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"