Closed Tylerun closed 7 years ago
Support for the Anet LCD controllers is being done under PR #7016.
I'm not sure if the PR will be merged in a day or in a month.
PR #7134 merged with these fixes.
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
So I did not see any information on this anywhere in my numerous google searches. I have a melzi 2.0 board that I had recently replaced. I have everything reconfigured from my previous settings but I do not know how the hell the company that gave me my original firmware configured the LCD Display. Any ideas cause I can not get anything but 2 of the 4 lines to light up and those 2 are straight blocks.
/**
*/
/**
*/
ifndef CONFIGURATION_H
define CONFIGURATION_H
define CONFIGURATION_H_VERSION 010100
//=========================================================================== //============================= Getting Started ============================= //===========================================================================
/**
//=========================================================================== //============================= DELTA Printer =============================== //=========================================================================== // For a Delta printer replace the configuration files with the files in the // example_configurations/delta directory. //
//=========================================================================== //============================= SCARA Printer =============================== //=========================================================================== // For a Scara printer replace the configuration files with the files in the // example_configurations/SCARA directory. //
// @section info
// User-specified version info of this build to display in [Pronterface, etc] terminal window during // startup. Implementation of an idea by Prof Braino to inform user that any changes made to this // build by the user have been successfully uploaded into firmware.
define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes.
define SHOW_BOOTSCREEN
define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1
define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2
// // * VENDORS PLEASE READ *** // // Marlin now allow you to have a vendor boot image to be displayed on machine // start. When SHOW_CUSTOM_BOOTSCREEN is defined Marlin will first show your // custom boot image and then the default Marlin boot image is shown. // // We suggest for you to take advantage of this new feature and keep the Marlin // boot image unmodified. For an example have a look at the bq Hephestos 2 // example configuration folder. // //#define SHOW_CUSTOM_BOOTSCREEN // @section machine
/**
define SERIAL_PORT 0
/**
define BAUDRATE 250000
// Enable the Bluetooth serial interface on AT90USB devices //#define BLUETOOTH
// 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_MELZI
endif
// Optional custom name for your RepStrap or other custom machine // Displayed in the LCD "Ready" message //#define CUSTOM_MACHINE_NAME "Tiberious"
// 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) //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
// @section extruder
// This defines the number of extruders // :[1, 2, 3, 4, 5]
define EXTRUDERS 1
// For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE
// A dual extruder that uses a single stepper motor //#define SWITCHING_EXTRUDER
if ENABLED(SWITCHING_EXTRUDER)
define SWITCHING_EXTRUDER_SERVO_NR 0
define SWITCHING_EXTRUDER_SERVO_ANGLES { 0, 90 } // Angles for E0, E1
endif
// A dual-nozzle that uses a servomotor to raise/lower one of the nozzles //#define SWITCHING_NOZZLE
if ENABLED(SWITCHING_NOZZLE)
define SWITCHING_NOZZLE_SERVO_NR 0
define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 90 } // Angles for E0, E1
//#define HOTEND_OFFSET_Z { 0.0, 0.0 }
endif
/**
if ENABLED(MIXING_EXTRUDER)
define MIXING_STEPPERS 2 // Number of steppers in your mixing extruder
define MIXING_VIRTUAL_TOOLS 16 // Use the Virtual Tool method with M163 and M164
//#define DIRECT_MIXING_IN_G1 // Allow ABCDHI mix factors in G1 movement commands
endif
// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing). // The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder). // For the other hotends it is their distance from the extruder 0 hotend.
define HOTEND_OFFSET_X {0.0, 50.00} // (in mm) for each extruder, offset of the hotend on the X axis
//#define HOTEND_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis
// @section machine
/**
define POWER_SUPPLY 0
if POWER_SUPPLY > 0
// Enable this option to leave the PSU off at startup. // Power to steppers and heaters will need to be turned on with M80. //#define PS_DEFAULT_OFF
endif
// @section temperature
//=========================================================================== //============================= Thermal Settings ============================ //===========================================================================
/**
define TEMP_SENSOR_0 1
define TEMP_SENSOR_1 0
define TEMP_SENSOR_2 0
define TEMP_SENSOR_3 0
define TEMP_SENSOR_4 0
define TEMP_SENSOR_BED 1
// Dummy thermistor constant temperature readings, for use with 998 and 999
define DUMMY_THERMISTOR_998_VALUE 25
define DUMMY_THERMISTOR_999_VALUE 100
// Use temp sensor 1 as a redundant sensor with sensor 0. If the readings // from the two sensors differ too much the print will be aborted. //#define TEMP_SENSOR_1_AS_REDUNDANT
define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
// Extruder temperature must be close to target for this long before M109 returns success
define TEMP_RESIDENCY_TIME 10 // (seconds)
define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one
define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early.
// Bed temperature must be close to target for this long before M190 returns success
define TEMP_BED_RESIDENCY_TIME 10 // (seconds)
define TEMP_BED_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one
define TEMP_BED_WINDOW 1 // (degC) Window around target to start the residency timer x degC early.
// The minimal temperature defines the temperature below which the heater will not be enabled It is used // to check that the wiring to the thermistor is not broken. // Otherwise this would lead to the heater being powered on all the time.
define HEATER_0_MINTEMP 15
define HEATER_1_MINTEMP 15
define HEATER_2_MINTEMP 15
define HEATER_3_MINTEMP 15
define HEATER_4_MINTEMP 15
define BED_MINTEMP 15
// When temperature exceeds max temp, your heater will be switched off. // This feature exists to protect your hotend from overheating accidentally, but NOT from thermistor short/failure! // You should use MINTEMP for thermistor short/failure protection.
define HEATER_0_MAXTEMP 300
define HEATER_1_MAXTEMP 275
define HEATER_2_MAXTEMP 275
define HEATER_3_MAXTEMP 275
define HEATER_4_MAXTEMP 275
define BED_MAXTEMP 160
//=========================================================================== //============================= PID Settings ================================ //=========================================================================== // PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning
// Comment the following line to disable PID and enable bang-bang.
define PIDTEMP
define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current
define PID_MAX BANG_MAX // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
if ENABLED(PIDTEMP)
//#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result. //#define PID_DEBUG // Sends debug data to the serial port. //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay //#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders) // Set/get with gcode: M301 E[extruder number, 0-2]
define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
define K1 0.95 //smoothing factor within the PID
// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
// Ultimaker
define DEFAULT_Kp 241.48
define DEFAULT_Ki 1.85
define DEFAULT_Kd 231.90
// MakerGear //#define DEFAULT_Kp 7.0 //#define DEFAULT_Ki 0.1 //#define DEFAULT_Kd 12
// Mendel Parts V9 on 12V //#define DEFAULT_Kp 63.0 //#define DEFAULT_Ki 2.25 //#define DEFAULT_Kd 440
endif // PIDTEMP
//=========================================================================== //============================= PID > Bed Temperature Control =============== //=========================================================================== // Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis // // Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder. // If your PID_dT is the default, and correct for your hardware/configuration, that means 7.689Hz, // which is fine for driving a square wave into a resistive load and does not significantly impact you FET heating. // This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W heater. // If your configuration is significantly different than this and you don't understand the issues involved, you probably // shouldn't use bed PID until someone else verifies your hardware works. // If this is enabled, find your own PID constants below. //#define PIDTEMPBED
//#define BED_LIMIT_SWITCHING
// This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option. // all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis) // setting this to anything other than 255 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did, // so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
if ENABLED(PIDTEMPBED)
//#define PID_BED_DEBUG // Sends debug data to the serial port.
//120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
define DEFAULT_bedKp 10.00
define DEFAULT_bedKi .023
define DEFAULT_bedKd 305.4
//120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) //from pidautotune //#define DEFAULT_bedKp 97.1 //#define DEFAULT_bedKi 1.41 //#define DEFAULT_bedKd 1675.16
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
endif // PIDTEMPBED
// @section extruder
// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. // It also enables the M302 command to set the minimum extrusion temperature // or to allow moving the extruder regardless of the hotend temperature. // IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED!
define PREVENT_COLD_EXTRUSION
define EXTRUDE_MINTEMP 170
// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. // Note that for Bowden Extruders a too-small value here may prevent loading.
define PREVENT_LENGTHY_EXTRUDE
define EXTRUDE_MAXLENGTH 200
//=========================================================================== //======================== Thermal Runaway Protection ======================= //===========================================================================
/**
define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders
define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed
//=========================================================================== //============================= Mechanical Settings ========================= //===========================================================================
// @section machine
// Uncomment one of these options to enable CoreXY, CoreXZ, or CoreYZ kinematics // either in the usual order or reversed //#define COREXY //#define COREXZ //#define COREYZ //#define COREYX //#define COREZX //#define COREZY
//=========================================================================== //============================== Endstop Settings =========================== //===========================================================================
// @section homing
// Specify here all the endstop connectors that are connected to any endstop or probe. // Almost all printers will be using one per axis. Probes will use one or more of the // extra connectors. Leave undefined any used for non-endstop and non-probe purposes.
define USE_XMIN_PLUG
define USE_YMIN_PLUG
define USE_ZMIN_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
if DISABLED(ENDSTOPPULLUPS)
// fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined //#define ENDSTOPPULLUP_XMAX //#define ENDSTOPPULLUP_YMAX //#define ENDSTOPPULLUP_ZMAX //#define ENDSTOPPULLUP_XMIN //#define ENDSTOPPULLUP_YMIN //#define ENDSTOPPULLUP_ZMIN //#define ENDSTOPPULLUP_ZMIN_PROBE
endif
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
// Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE
//============================================================================= //============================== Movement Settings ============================ //============================================================================= // @section motion
/**
/**
/**
define DEFAULT_AXIS_STEPS_PER_UNIT {85.3333, 85.3333, 2560, 158.8308}
/**
define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 }
/**
define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 }
/**
define DEFAULT_ACCELERATION 3000 // 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_XJERK 20.0
define DEFAULT_YJERK 20.0
define DEFAULT_ZJERK 0.4
define DEFAULT_EJERK 5.0
//=========================================================================== //============================= Z Probe Options ============================= //=========================================================================== // @section probes
// // See http://marlinfw.org/configuration/probes.html //
/**
define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
/**
*/ //#define Z_MIN_PROBE_ENDSTOP //#define Z_MIN_PROBE_PIN Z_MAX_PIN
/**
/**
/**
/**
/**
if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
endif
/**
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN) //#define SOLENOID_PROBE
// A sled-mounted probe like those designed by Charles Bell. //#define Z_PROBE_SLED //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// // For Z_PROBE_ALLEN_KEY see the Delta example configurations. //
/**
define X_PROBE_OFFSET_FROM_EXTRUDER 10
define Y_PROBE_OFFSET_FROM_EXTRUDER 10
define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle]
define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle]
define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
// X and Y axis travel speed (mm/m) between probes
define XY_PROBE_SPEED 8000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing //#define PROBE_DOUBLE_TOUCH
/**
M851 Z-5
with a CLEARANCE of 4 => 9mm from bed to nozzle.M851 Z+1
with a CLEARANCE of 2 => 2mm from bed to nozzle. */define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow
define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
// For M851 give a range for adjusting the Z probe offset
define Z_PROBE_OFFSET_RANGE_MIN -20
define Z_PROBE_OFFSET_RANGE_MAX 20
// Enable the M48 repeatability test to test probe accuracy //#define Z_MIN_PROBE_REPEATABILITY_TEST
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // :{ 0:'Low', 1:'High' }
define X_ENABLE_ON 0
define Y_ENABLE_ON 0
define Z_ENABLE_ON 0
define E_ENABLE_ON 0 // For all extruders
// Disables axis stepper immediately when it's not being used. // WARNING: When motors turn off there is a chance of losing position accuracy!
define DISABLE_X false
define DISABLE_Y false
define DISABLE_Z false
// Warn on display about possibly reduced accuracy //#define DISABLE_REDUCED_ACCURACY_WARNING
// @section extruder
define DISABLE_E false // For all extruders
define DISABLE_INACTIVE_EXTRUDER true // Keep only the active extruder enabled.
// @section machine
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
define INVERT_X_DIR false
define INVERT_Y_DIR false
define INVERT_Z_DIR true
// Enable this option for Toshiba stepper drivers //#define CONFIG_STEPPERS_TOSHIBA
// @section extruder
// For direct drive extruder v9 set to true, for geared extruder set to false.
define INVERT_E0_DIR false
define INVERT_E1_DIR false
define INVERT_E2_DIR false
define INVERT_E3_DIR false
define INVERT_E4_DIR false
// @section homing
//#define Z_HOMING_HEIGHT 4 // (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, ... // Be sure you have this distance over your Z_MAX_POS in case.
// Direction of endstops when homing; 1=MAX, -1=MIN // :[-1,1]
define X_HOME_DIR -1
define Y_HOME_DIR -1
define Z_HOME_DIR -1
// @section machine
// Travel limits after homing (units are in mm)
define X_MIN_POS 0
define Y_MIN_POS 0
define Z_MIN_POS 0
define X_MAX_POS 270
define Y_MAX_POS 270
define Z_MAX_POS 105
// If enabled, axes won't move below MIN_POS in response to movement commands. //#define MIN_SOFTWARE_ENDSTOPS // If enabled, axes won't move above MAX_POS in response to movement commands.
define MAX_SOFTWARE_ENDSTOPS
/**
if ENABLED(FILAMENT_RUNOUT_SENSOR)
define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
define FILAMENT_RUNOUT_SCRIPT "M600"
endif
//=========================================================================== //=============================== Bed Leveling ============================== //=========================================================================== // @section bedlevel
/**
/**
if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_BILINEAR) || ENABLED(AUTO_BED_LEVELING_UBL)
// Gradually reduce leveling correction until a set height is reached, // at which point movement will be level to the machine's XY plane. // The height can be set with M420 Z
define ENABLE_LEVELING_FADE_HEIGHT
endif
if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
// Set the number of grid points per dimension.
define GRID_MAX_POINTS_X 3
define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
// Set the boundaries for probing (where the probe can reach).
define LEFT_PROBE_BED_POSITION 15
define RIGHT_PROBE_BED_POSITION 170
define FRONT_PROBE_BED_POSITION 20
define BACK_PROBE_BED_POSITION 170
// The Z probe minimum outer margin (to validate G29 parameters).
define MIN_PROBE_EDGE 10
// Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST
if ENABLED(AUTO_BED_LEVELING_BILINEAR)
endif
elif ENABLED(AUTO_BED_LEVELING_3POINT)
// 3 arbitrary points to probe. // A simple cross-product is used to estimate the plane of the bed.
define ABL_PROBE_PT_1_X 15
define ABL_PROBE_PT_1_Y 180
define ABL_PROBE_PT_2_X 15
define ABL_PROBE_PT_2_Y 20
define ABL_PROBE_PT_3_X 170
define ABL_PROBE_PT_3_Y 20
elif ENABLED(AUTO_BED_LEVELING_UBL)
//=========================================================================== //========================= Unified Bed Leveling ============================ //===========================================================================
define UBL_MESH_INSET 1 // Mesh inset margin on print area
define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
define UBL_PROBE_PT_1_X 39 // These set the probe locations for when UBL does a 3-Point leveling
define UBL_PROBE_PT_1_Y 180 // of the mesh.
define UBL_PROBE_PT_2_X 39
define UBL_PROBE_PT_2_Y 20
define UBL_PROBE_PT_3_X 180
define UBL_PROBE_PT_3_Y 20
define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
elif ENABLED(MESH_BED_LEVELING)
//=========================================================================== //=================================== Mesh ================================== //===========================================================================
define MESH_INSET 10 // Mesh inset margin on print area
define GRID_MAX_POINTS_X 3 // Don't use more than 7 points per axis, implementation limited.
define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
//#define MESH_G28_REST_ORIGIN // After homing all axes ('G28' or 'G28 XYZ') rest Z at Z_MIN_POS
endif // BED_LEVELING
/**
if ENABLED(LCD_BED_LEVELING)
define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
endif
/**
// @section homing
// The center of the bed is at (X=0, Y=0) //#define BED_CENTER_AT_0_0
// Manually set the home position. Leave these undefined for automatic settings. // For DELTA this is the top-center of the Cartesian print volume. //#define MANUAL_X_HOME_POS 0 //#define MANUAL_Y_HOME_POS 0 //#define MANUAL_Z_HOME_POS 0
// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area. // // With this feature enabled: // // - Allow Z homing only after X and Y homing AND stepper drivers still enabled. // - If stepper drivers time out, it will need X and Y homing again before Z homing. // - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28). // - Prevent Z homing when the Z probe is outside bed area. //#define Z_SAFE_HOMING
if ENABLED(Z_SAFE_HOMING)
define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28).
define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28).
endif
// Homing speeds (mm/m)
define HOMING_FEEDRATE_XY (50*60)
define HOMING_FEEDRATE_Z (4*60)
//============================================================================= //============================= Additional Features =========================== //=============================================================================
// @section extras
// // EEPROM // // The microcontroller can store settings in the EEPROM, e.g. max velocity... // M500 - stores parameters in EEPROM // 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 this to enable EEPROM support
define EEPROM_SETTINGS
if ENABLED(EEPROM_SETTINGS)
// To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
define EEPROM_CHITCHAT // Please keep turned on if you can.
endif
// // Host Keepalive // // When enabled Marlin will send a busy status message to the host // every couple of seconds when it can't accept commands. //
define HOST_KEEPALIVE_FEATURE // Disable this if your host doesn't like keepalive messages
define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
// // M100 Free Memory Watcher // //#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
// // G20/G21 Inch mode support // //#define INCH_MODE_SUPPORT
// // M149 Set temperature units support // //#define TEMPERATURE_UNITS_SUPPORT
// @section temperature
// Preheat Constants
define PREHEAT_1_TEMP_HOTEND 180
define PREHEAT_1_TEMP_BED 70
define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
define PREHEAT_2_TEMP_HOTEND 240
define PREHEAT_2_TEMP_BED 110
define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
/**
if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z }
define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
endif
/**
*/ //#define NOZZLE_CLEAN_FEATURE
if ENABLED(NOZZLE_CLEAN_FEATURE)
// Default number of pattern repetitions
define NOZZLE_CLEAN_STROKES 12
// Default number of triangles
define NOZZLE_CLEAN_TRIANGLES 3
// Specify positions as { X, Y, Z }
define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)}
define NOZZLE_CLEAN_END_POINT {100, 60, (Z_MIN_POS + 1)}
// Circular pattern radius
define NOZZLE_CLEAN_CIRCLE_RADIUS 6.5
// Circular pattern circle fragments number
define NOZZLE_CLEAN_CIRCLE_FN 10
// Middle point of circle
define NOZZLE_CLEAN_CIRCLE_MIDDLE NOZZLE_CLEAN_START_POINT
// Moves the nozzle to the initial position
define NOZZLE_CLEAN_GOBACK
endif
/**
define PRINTJOB_TIMER_AUTOSTART
/**
//============================================================================= //============================= LCD and SD support ============================ //=============================================================================
// @section lcd
/**
define LCD_LANGUAGE en
/**
define DISPLAY_CHARSET_HD44780 JAPANESE
/**
define ULTRA_LCD // Character based
//#define DOGLCD // Full graphics display
/**
*/
define SDSUPPORT
/**
/**
// // ENCODER SETTINGS // // This option overrides the default number of encoder pulses needed to // produce one step. Should be increased for high-resolution encoders. // //#define ENCODER_PULSES_PER_STEP 1
// // Use this option to override the number of step signals required to // move between next/prev menu items. // //#define ENCODER_STEPS_PER_MENU_ITEM 5
/**
// // This option reverses the encoder direction everywhere. // // Set this option if CLOCKWISE causes values to DECREASE // //#define REVERSE_ENCODER_DIRECTION
// // This option reverses the encoder direction for navigating LCD menus. // // If CLOCKWISE normally moves DOWN this makes it go UP. // If CLOCKWISE normally moves UP this makes it go DOWN. // //#define REVERSE_MENU_DIRECTION
// // Individual Axis Homing // // Add individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu. // //#define INDIVIDUAL_AXIS_HOMING_MENU
// // SPEAKER/BUZZER // // 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
// // The duration and frequency for the UI feedback sound. // Set these to 0 to disable audio feedback in the LCD menus. // // Note: Test audio output with the G-Code: // M300 S P
//
//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100
//#define LCD_FEEDBACK_FREQUENCY_HZ 1000
// // CONTROLLER TYPE: Standard // // Marlin supports a wide variety of controllers. // Enable one of the following options to specify your controller. //
// // ULTIMAKER Controller. // //#define ULTIMAKERCONTROLLER
// // ULTIPANEL as seen on Thingiverse. // //#define ULTIPANEL
// // Cartesio UI // http://mauk.cc/webshop/cartesio-shop/electronics/user-interface // //#define CARTESIO_UI
// // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3) // http://reprap.org/wiki/PanelOne // //#define PANEL_ONE
// // MaKr3d Makr-Panel with graphic controller and SD support. // http://reprap.org/wiki/MaKr3d_MaKrPanel // //#define MAKRPANEL
// // ReprapWorld Graphical LCD // https://reprapworld.com/?products_details&products_id/1218 // //#define REPRAPWORLD_GRAPHICAL_LCD
// // Activate one of these if you have a Panucatt Devices // Viki 2.0 or mini Viki with Graphic LCD // http://panucatt.com // //#define VIKI2 //#define miniVIKI
// // Adafruit ST7565 Full Graphic Controller. // https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ // //#define ELB_FULL_GRAPHIC_CONTROLLER
// // RepRapDiscount Smart Controller. // http://reprap.org/wiki/RepRapDiscount_Smart_Controller // // Note: Usually sold with a white PCB. //
define REPRAP_DISCOUNT_SMART_CONTROLLER
// // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel // // Note: Usually sold with a blue PCB. // //#define G3D_PANEL
// // RepRapDiscount FULL GRAPHIC Smart Controller // http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller // //#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
// // MakerLab Mini Panel with graphic // controller and SD support - http://reprap.org/wiki/Mini_panel // //#define MINIPANEL
// // RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 // // REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key // is pressed, a value of 10.0 means 10mm per click. // //#define REPRAPWORLD_KEYPAD //#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0
// // RigidBot Panel V1.0 // http://www.inventapart.com/ // //#define RIGIDBOT_PANEL
// // BQ LCD Smart Controller shipped by // default with the BQ Hephestos 2 and Witbox 2. // //#define BQ_LCD_SMART_CONTROLLER
// // CONTROLLER TYPE: I2C // // Note: These controllers require the installation of Arduino's LiquidCrystal_I2C // library. For more info: https://github.com/kiyoshigawa/LiquidCrystal_I2C //
// // Elefu RA Board Control Panel // http://www.elefu.com/index.php?route=product/product&product_id=53 // //#define RA_CONTROL_PANEL
// // Sainsmart YW Robot (LCM1602) LCD Display // //#define LCD_I2C_SAINSMART_YWROBOT
// // Generic LCM1602 LCD adapter // //#define LCM1602
// // PANELOLU2 LCD with status LEDs, // separate encoder and click inputs. // // Note: This controller requires Arduino's LiquidTWI2 library v1.2.3 or later. // For more info: https://github.com/lincomatic/LiquidTWI2 // // Note: The PANELOLU2 encoder click input can either be directly connected to // a pin (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1). // //#define LCD_I2C_PANELOLU2
// // Panucatt VIKI LCD with status LEDs, // integrated click & L/R/U/D buttons, separate encoder inputs. // //#define LCD_I2C_VIKI
// // SSD1306 OLED full graphics generic display // //#define U8GLIB_SSD1306
// // SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules // //#define SAV_3DGLCD
if ENABLED(SAV_3DGLCD)
//#define U8GLIB_SSD1306
define U8GLIB_SH1106
endif
// // CONTROLLER TYPE: Shift register panels // // 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH // LCD configuration: http://reprap.org/wiki/SAV_3D_LCD // //#define SAV_3DLCD
// // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2
//============================================================================= //=============================== Extra Features ============================== //=============================================================================
// @section extras
// Increase the FAN PWM frequency. Removes the PWM noise but increases heating in the FET/Arduino //#define FAST_PWM_FAN
// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency // which is not as annoying as with the hardware PWM. On the other hand, if this frequency // is too low, you should also increment SOFT_PWM_SCALE. //#define FAN_SOFT_PWM
// Incrementing this by 1 will double the software PWM frequency, // affecting heaters, and the fan if FAN_SOFT_PWM is enabled. // However, control resolution will be halved for each increment; // at zero value, there are 128 effective control positions.
define SOFT_PWM_SCALE 0
// If SOFT_PWM_SCALE is set to a value higher than 0, dithering can // be used to mitigate the associated resolution loss. If enabled, // some of the PWM cycles are stretched so on average the desired // duty cycle is attained. //#define SOFT_PWM_DITHER
// Temperature status LEDs that display the hotend and bed temperature. // If all hotends, bed temperature, and target temperature are under 54C // then the BLUE led is on. Otherwise the RED led is on. (1C hysteresis) //#define TEMP_STAT_LEDS
// M240 Triggers a camera by emulating a Canon RC-1 Remote // Data from: http://www.doc-diy.net/photo/rc-1_hacked/ //#define PHOTOGRAPH_PIN 23
// SkeinForge sends the wrong arc g-codes when using Arc Point as fillet procedure //#define SF_ARC_FIX
// Support for the BariCUDA Paste Extruder. //#define BARICUDA
//define BlinkM/CyzRgb Support //#define BLINKM
/**
*/ //#define RGB_LED //#define RGBW_LED
if ENABLED(RGB_LED) || ENABLED(RGBW_LED)
define RGB_LED_R_PIN 34
define RGB_LED_G_PIN 43
define RGB_LED_B_PIN 35
define RGB_LED_W_PIN -1
endif
/**
if ENABLED(BLINKM) || ENABLED(RGB_LED) || ENABLED(RGBW_LED)
define PRINTER_EVENT_LEDS
endif
/*****\
// Number of servos // // If you select a configuration below, this will receive a default value and does not need to be set manually // set it manually if you have more servos than extruders and wish to manually control some // leaving it undefined or defining as 0 will disable the servo subsystem // If unsure, leave commented / disabled // //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. // 300ms is a good value but you can try less delay. // If the servo can't reach the requested position, increase it.
define SERVO_DELAY 300
// Servo deactivation // // With this option servos are powered only during movement, then turned off to prevent jitter. //#define DEACTIVATE_SERVOS_AFTER_MOVE
/**
define DEFAULT_NOMINAL_FILAMENT_DIA 3.00 // (mm) Diameter of the filament generally used (3.0 or 1.75mm), also used in the slicer. Used to validate sensor reading.
if ENABLED(FILAMENT_WIDTH_SENSOR)
define FILAMENT_SENSOR_EXTRUDER_NUM 0 // Index of the extruder that has the filament sensor (0,1,2,3)
define MEASUREMENT_DELAY_CM 14 // (cm) The distance from the filament sensor to the melting chamber
define MEASURED_UPPER_LIMIT 3.30 // (mm) Upper limit used to validate sensor reading
define MEASURED_LOWER_LIMIT 1.90 // (mm) Lower limit used to validate sensor reading
define MAX_MEASUREMENT_DELAY 20 // (bytes) Buffer size for stored measurements (1 byte per cm). Must be larger than MEASUREMENT_DELAY_CM.
define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA // Set measured to nominal initially
// Display filament width on the LCD status line. Status messages will expire after 5 seconds. //#define FILAMENT_LCD_DISPLAY
endif
endif // CONFIGURATION_H