From 262d20aeb6794cc875b0314423fb46ebd636c9d7 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Fri, 2 Mar 2018 20:55:04 +0100 Subject: [PATCH] First MPCNC specific configuration --- Marlin/Configuration.h | 54 ++++++++++++++-------------- Marlin/Configuration_adv.h | 18 +++++----- Marlin/_Bootscreen.h | 74 ++++++++++++++++++++++++++++++++++++++ Marlin/pins_MKS_13.h | 46 ++++++++++++++++++++++++ 4 files changed, 156 insertions(+), 36 deletions(-) create mode 100644 Marlin/_Bootscreen.h diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 150db5fcd..ab50fb06b 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -90,7 +90,7 @@ // boot image unmodified. For an example have a look at the bq Hephestos 2 // example configuration folder. // -//#define SHOW_CUSTOM_BOOTSCREEN +#define SHOW_CUSTOM_BOOTSCREEN // @section machine /** @@ -119,12 +119,12 @@ // The following define selects which electronics board you have. // Please choose the name from boards.h that matches your setup #ifndef MOTHERBOARD - #define MOTHERBOARD BOARD_RAMPS_14_EFB + #define MOTHERBOARD BOARD_MKS_13 #endif // Optional custom name for your RepStrap or other custom machine // Displayed in the LCD "Ready" message -//#define CUSTOM_MACHINE_NAME "3D Printer" +#define CUSTOM_MACHINE_NAME "MPCNC" // Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines) // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4) @@ -286,7 +286,7 @@ * * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ -#define TEMP_SENSOR_0 1 +#define TEMP_SENSOR_0 999 #define TEMP_SENSOR_1 0 #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 @@ -473,9 +473,9 @@ #define USE_XMIN_PLUG #define USE_YMIN_PLUG #define USE_ZMIN_PLUG -//#define USE_XMAX_PLUG -//#define USE_YMAX_PLUG -//#define USE_ZMAX_PLUG +#define USE_XMAX_PLUG +#define USE_YMAX_PLUG +#define USE_ZMAX_PLUG // coarse Endstop Settings #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors @@ -529,14 +529,14 @@ * Override with M92 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ -#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 500 } +#define DEFAULT_AXIS_STEPS_PER_UNIT { 200, 200, 800, 200 } /** * Default Max Feed Rate (mm/s) * Override with M203 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ -#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } +#define DEFAULT_MAX_FEEDRATE { 190, 190, 30, 25 } /** * Default Max Acceleration (change/s) change = mm/s @@ -544,7 +544,7 @@ * Override with M201 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ -#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } +#define DEFAULT_MAX_ACCELERATION { 500, 500, 35, 10000 } /** * Default Acceleration (change/s) change = mm/s @@ -554,9 +554,9 @@ * M204 R Retract Acceleration * M204 T Travel Acceleration */ -#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E acceleration for printing moves +#define DEFAULT_ACCELERATION 400 // X, Y, Z and E acceleration for printing moves #define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts -#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves +#define DEFAULT_TRAVEL_ACCELERATION 400 // X, Y, Z acceleration for travel (non printing) moves /** * Default Jerk (mm/s) @@ -566,9 +566,9 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 10.0 -#define DEFAULT_YJERK 10.0 -#define DEFAULT_ZJERK 0.3 +#define DEFAULT_XJERK 4.0 +#define DEFAULT_YJERK 4.0 +#define DEFAULT_ZJERK 0.2 #define DEFAULT_EJERK 5.0 //=========================================================================== @@ -626,7 +626,7 @@ * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. * (e.g., an inductive probe or a nozzle-based probe-switch.) */ -//#define FIX_MOUNTED_PROBE +#define FIX_MOUNTED_PROBE /** * Z Servo Probe, such as an endstop switch on a rotating arm. @@ -780,8 +780,8 @@ // @section machine // The size of the print bed -#define X_BED_SIZE 200 -#define Y_BED_SIZE 200 +#define X_BED_SIZE 800 +#define Y_BED_SIZE 800 // Travel limits (mm) after homing, corresponding to endstop positions. #define X_MIN_POS 0 @@ -801,7 +801,7 @@ */ // Min software endstops curtail movement below minimum coordinate bounds -#define MIN_SOFTWARE_ENDSTOPS +//#define MIN_SOFTWARE_ENDSTOPS #if ENABLED(MIN_SOFTWARE_ENDSTOPS) #define MIN_SOFTWARE_ENDSTOP_X #define MIN_SOFTWARE_ENDSTOP_Y @@ -809,7 +809,7 @@ #endif // Max software endstops curtail movement above maximum coordinate bounds -#define MAX_SOFTWARE_ENDSTOPS +//#define MAX_SOFTWARE_ENDSTOPS #if ENABLED(MAX_SOFTWARE_ENDSTOPS) #define MAX_SOFTWARE_ENDSTOP_X #define MAX_SOFTWARE_ENDSTOP_Y @@ -1113,7 +1113,7 @@ // M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily). // M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to. // -//#define EEPROM_SETTINGS // Enable for M500 and M501 commands +#define EEPROM_SETTINGS // Enable for M500 and M501 commands //#define DISABLE_M503 // Saves ~2700 bytes of PROGMEM. Disable for release! #define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM. @@ -1283,7 +1283,7 @@ * * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } */ -#define LCD_LANGUAGE en +#define LCD_LANGUAGE de /** * LCD Character Set @@ -1329,7 +1329,7 @@ * you must uncomment the following option or it won't work. * */ -//#define SDSUPPORT +#define SDSUPPORT /** * SD CARD: SPI SPEED @@ -1377,7 +1377,7 @@ // // Set this option if CLOCKWISE causes values to DECREASE // -//#define REVERSE_ENCODER_DIRECTION +#define REVERSE_ENCODER_DIRECTION // // This option reverses the encoder direction for navigating LCD menus. @@ -1392,7 +1392,7 @@ // // Add individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu. // -//#define INDIVIDUAL_AXIS_HOMING_MENU +#define INDIVIDUAL_AXIS_HOMING_MENU // // SPEAKER/BUZZER @@ -1400,7 +1400,7 @@ // If you have a speaker that can produce tones, enable it here. // By default Marlin assumes you have a buzzer with a fixed frequency. // -//#define SPEAKER +#define SPEAKER // // The duration and frequency for the UI feedback sound. @@ -1481,7 +1481,7 @@ // RepRapDiscount FULL GRAPHIC Smart Controller // http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller // -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER +#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER // // MakerLab Mini Panel with graphic diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index bcae08a0a..026c0f157 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -274,7 +274,7 @@ * in X2. Dual endstop offsets can be set at runtime with 'M666 X Y Z'. */ -//#define X_DUAL_STEPPER_DRIVERS +#define X_DUAL_STEPPER_DRIVERS #if ENABLED(X_DUAL_STEPPER_DRIVERS) #define INVERT_X2_VS_X_DIR true // Set 'true' if X motors should rotate in opposite directions //#define X_DUAL_ENDSTOPS @@ -284,7 +284,7 @@ #endif #endif -//#define Y_DUAL_STEPPER_DRIVERS +#define Y_DUAL_STEPPER_DRIVERS #if ENABLED(Y_DUAL_STEPPER_DRIVERS) #define INVERT_Y2_VS_Y_DIR true // Set 'true' if Y motors should rotate in opposite directions //#define Y_DUAL_ENDSTOPS @@ -474,13 +474,13 @@ //#define LCD_INFO_MENU // Scroll a longer status message into view -//#define STATUS_MESSAGE_SCROLLING +#define STATUS_MESSAGE_SCROLLING // On the Info Screen, display XY with one decimal place when possible //#define LCD_DECIMAL_SMALL_XY // The timeout (in ms) to return to the status screen from sub-menus -//#define LCD_TIMEOUT_TO_STATUS 15000 +#define LCD_TIMEOUT_TO_STATUS 30000 /** * LED Control Menu @@ -743,7 +743,7 @@ // G38.2 and G38.3 Probe Target // Set MULTIPLE_PROBING if you want G38 to double touch -//#define G38_PROBE_TARGET +#define G38_PROBE_TARGET #if ENABLED(G38_PROBE_TARGET) #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move) #endif @@ -1282,15 +1282,15 @@ * * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details. */ -//#define SPINDLE_LASER_ENABLE +#define SPINDLE_LASER_ENABLE #if ENABLED(SPINDLE_LASER_ENABLE) - #define SPINDLE_LASER_ENABLE_INVERT false // set to "true" if the on/off function is reversed - #define SPINDLE_LASER_PWM true // set to true if your controller supports setting the speed/power + #define SPINDLE_LASER_ENABLE_INVERT true // set to "true" if the on/off function is reversed + #define SPINDLE_LASER_PWM false // set to true if your controller supports setting the speed/power #define SPINDLE_LASER_PWM_INVERT true // set to "true" if the speed/power goes up when you want it to go slower #define SPINDLE_LASER_POWERUP_DELAY 5000 // delay in milliseconds to allow the spindle/laser to come up to speed/power #define SPINDLE_LASER_POWERDOWN_DELAY 5000 // delay in milliseconds to allow the spindle to stop - #define SPINDLE_DIR_CHANGE true // set to true if your spindle controller supports changing spindle direction + #define SPINDLE_DIR_CHANGE false // set to true if your spindle controller supports changing spindle direction #define SPINDLE_INVERT_DIR false #define SPINDLE_STOP_ON_DIR_CHANGE true // set to true if Marlin should stop the spindle before changing rotation direction diff --git a/Marlin/_Bootscreen.h b/Marlin/_Bootscreen.h new file mode 100644 index 000000000..442472c13 --- /dev/null +++ b/Marlin/_Bootscreen.h @@ -0,0 +1,74 @@ +/** + * Made with Marlin Bitmap Converter + * http://marlinfw.org/tools/u8glib/converter.html + * + * This bitmap from the file 'binary_kitchen_bw_border.png' + */ +#define CUSTOM_BOOTSCREEN_BMPWIDTH 64 +#define CUSTOM_BOOTSCREEN_BMPHEIGHT 64 +const unsigned char custom_start_bmp[] PROGMEM = { + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ................................................................ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ................................................................ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ................................................................ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ................................................................ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ................................................................ + 0x00,0x00,0x7F,0xE0,0x00,0x00,0x00,0x00, // .................##########..................................... + 0x00,0x01,0xFF,0xF8,0x00,0x00,0x00,0x00, // ...............##############................................... + 0x00,0x03,0xFF,0xFC,0x7F,0x80,0x00,0x00, // ..............################...########....................... + 0x00,0x07,0xFF,0xFE,0xFF,0xE0,0x00,0x00, // .............##################.###########..................... + 0x00,0x07,0xFF,0xFF,0x7F,0xF0,0x00,0x00, // .............###################.###########.................... + 0x00,0x07,0xFF,0xFF,0xFF,0xF0,0x00,0x00, // .............###############################.................... + 0x00,0x07,0xFF,0xFF,0xFF,0xF8,0x00,0x00, // .............################################................... + 0x00,0x07,0xFF,0xFF,0xFF,0xF8,0x00,0x00, // .............################################................... + 0x00,0x07,0xFF,0xFF,0xFF,0xF0,0x00,0x00, // .............###############################.................... + 0x00,0x03,0xFF,0xFF,0xFF,0xF0,0x00,0x00, // ..............##############################.................... + 0x00,0x01,0xFF,0xFF,0xFF,0xE0,0x00,0x00, // ...............############################..................... + 0x00,0x00,0x7F,0xFF,0xFF,0x80,0x00,0x00, // .................########################....................... + 0x00,0x00,0x03,0xFF,0xFE,0x00,0x00,0x00, // ......................#################......................... + 0x00,0x00,0x0F,0xFF,0xFF,0x00,0x00,0x00, // ....................####################........................ + 0x00,0x00,0x0F,0xFF,0xFF,0x00,0x00,0x00, // ....................####################........................ + 0x00,0x00,0x1F,0xFF,0xFF,0x80,0x00,0x00, // ...................######################....................... + 0x00,0x00,0x1F,0xFF,0xFF,0x80,0x00,0x00, // ...................######################....................... + 0x00,0x00,0x1F,0xFF,0xFF,0x80,0x00,0x00, // ...................######################....................... + 0x00,0x00,0x1F,0x8F,0x3F,0x80,0x00,0x00, // ...................######...####..#######....................... + 0x00,0x00,0x1F,0x8E,0x1F,0x80,0x00,0x00, // ...................######...###....######....................... + 0x00,0x00,0x1F,0x8C,0x0F,0x80,0x00,0x00, // ...................######...##......#####....................... + 0x00,0x00,0x1F,0x8C,0x0F,0x80,0x00,0x00, // ...................######...##......#####....................... + 0x00,0x00,0x1F,0x8C,0x0F,0x80,0x00,0x00, // ...................######...##......#####....................... + 0x00,0x00,0x1F,0x8C,0x0F,0x80,0x00,0x00, // ...................######...##......#####....................... + 0x00,0x00,0x1F,0x8C,0x0F,0x00,0x00,0x00, // ...................######...##......####........................ + 0x00,0x00,0x1F,0x8C,0x0F,0x00,0x00,0x00, // ...................######...##......####........................ + 0x00,0x00,0x1F,0x8E,0x1F,0x00,0x00,0x00, // ...................######...###....#####........................ + 0x00,0x00,0x1F,0x9F,0x3F,0x00,0x00,0x00, // ...................######..#####..######........................ + 0x1F,0x00,0x1F,0xFF,0xFF,0x00,0x00,0x08, // ...#####...........#####################....................#... + 0x11,0xC0,0x1F,0xFF,0xFF,0x00,0x01,0xA0, // ...#...###.........#####################...............##.#..... + 0x1E,0x78,0x00,0x00,0x00,0x00,0x0F,0xC0, // ...####..####.......................................######...... + 0x3F,0xCE,0x00,0x00,0x00,0x00,0x3F,0x80, // ..########..###...................................#######....... + 0x19,0xF3,0xC0,0x00,0x00,0x00,0xFF,0x00, // ...##..#####..####..............................########........ + 0x0F,0x7E,0x60,0x00,0x01,0x87,0xF8,0x00, // ....####.######..##....................##....########........... + 0x01,0xCF,0x98,0x00,0x03,0x9F,0xE0,0x00, // .......###..#####..##.................###..########............. + 0x00,0x73,0xF8,0x00,0x03,0xFF,0x80,0x00, // .........###..#######.................###########............... + 0x00,0x1E,0x78,0x00,0x0F,0xFC,0x00,0x00, // ...........####..####...............##########.................. + 0x00,0x03,0xFF,0x00,0x3F,0xF0,0x00,0x00, // ..............##########..........##########.................... + 0x00,0x00,0xF1,0xC0,0xFF,0xE0,0x00,0x00, // ................####...###......###########..................... + 0x00,0x00,0x00,0x73,0xFF,0xE0,0x00,0x00, // .........................###..#############..................... + 0x00,0x00,0x00,0x1F,0xFE,0xF0,0x00,0x00, // ...........................############.####.................... + 0x00,0x00,0x00,0x3F,0xF8,0x20,0x00,0x00, // ..........................###########.....#..................... + 0x00,0x00,0x00,0xFF,0xF0,0x00,0x00,0x00, // ........................############............................ + 0x00,0x00,0x07,0xFF,0x1C,0x00,0x00,0x00, // .....................###########...###.......................... + 0x00,0x00,0x0F,0xF8,0x07,0x80,0x00,0x00, // ....................#########........####....................... + 0x00,0x02,0x8F,0xE0,0x00,0xE0,0x00,0x00, // ..............#.#...#######.............###..................... + 0x00,0x04,0x5F,0x80,0x00,0x3C,0x00,0x00, // .............#...#.######.................####.................. + 0x00,0x04,0x64,0x00,0x00,0x07,0xC0,0x00, // .............#...##..#.......................#####.............. + 0x00,0x07,0x40,0x00,0x00,0x01,0xE0,0x00, // .............###.#.............................####............. + 0x00,0x00,0x80,0x00,0x00,0x00,0xE0,0x00, // ................#...............................###............. + 0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00, // ..............#................................................. + 0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00, // ...........##................................................... + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ................................................................ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ................................................................ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ................................................................ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ................................................................ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ................................................................ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ................................................................ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 // ................................................................ +}; diff --git a/Marlin/pins_MKS_13.h b/Marlin/pins_MKS_13.h index 07aa65811..c62bce11f 100644 --- a/Marlin/pins_MKS_13.h +++ b/Marlin/pins_MKS_13.h @@ -53,6 +53,52 @@ #include "pins_RAMPS.h" +// +// TBA +// Define global dummy pin +// +#define DUMMY_PIN 5 + +// +// TBA +// Set E0 to dummy port, set E1 to E0 and E2 to E1 +// This is used to mirror X and Y axes +// +#undef E0_STEP_PIN +#undef E0_DIR_PIN +#undef E0_ENABLE_PIN +#undef E0_CS_PIN + +#undef E1_STEP_PIN +#undef E1_DIR_PIN +#undef E1_ENABLE_PIN +#undef E1_CS_PIN + +#define E0_STEP_PIN DUMMY_PIN +#define E0_DIR_PIN DUMMY_PIN +#define E0_ENABLE_PIN DUMMY_PIN +#define E0_CS_PIN DUMMY_PIN + +#define E1_STEP_PIN 26 +#define E1_DIR_PIN 28 +#define E1_ENABLE_PIN 24 +#define E1_CS_PIN 42 + +#define E2_STEP_PIN 36 +#define E2_DIR_PIN 34 +#define E2_ENABLE_PIN 30 +#define E2_CS_PIN 44 + +// +// TBA +// Set Spindle pin to E0 (tuned on with M03) +// +#undef HEATER_0_PIN +#define HEATER_0_PIN DUMMY_PIN + +#undef SPINDLE_LASER_ENABLE_PIN +#define SPINDLE_LASER_ENABLE_PIN 10 + // // LCD / Controller //