@ -100,19 +100,29 @@
/**
* Select the serial port on the board to use for communication with the host .
* This allows the connection of wireless adapters ( for instance ) to non - default port pins .
* Serial port 0 is always used by the Arduino bootloader regardless of this setting .
* Note : The first serial port ( - 1 or 0 ) will always be used by the Arduino bootloader .
*
* : [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ]
* : [ - 1 , 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ]
*/
# define SERIAL_PORT 0
/**
* Select a secondary serial port on the board to use for communication with the host .
* This allows the connection of wireless adapters ( for instance ) to non - default port pins .
* Serial port - 1 is the USB emulated serial port , if avaialble .
*
* : [ - 1 , 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ]
*/
# define SERIAL_PORT_2 -1
/**
* This setting determines the communication speed of the printer .
*
* 250000 works in most cases , but you might try a lower speed if
* you commonly experience drop - outs during host printing .
* You may try up to 1000000 to speed up SD file transfer .
*
* : [ 2400 , 9600 , 19200 , 38400 , 57600 , 115200 , 250000 ]
* : [ 2400 , 9600 , 19200 , 38400 , 57600 , 115200 , 250000 , 500000 , 1000000 ]
*/
# define BAUDRATE 250000
@ -139,6 +149,9 @@
// :[1, 2, 3, 4, 5]
# define EXTRUDERS 1
// Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc.
# define DEFAULT_NOMINAL_FILAMENT_DIA 3.0
// For Cyclops or any "multi-extruder" that shares a single nozzle.
//#define SINGLENOZZLE
@ -179,6 +192,21 @@
//#define HOTEND_OFFSET_Z { 0.0, 0.0 }
# endif
/**
* Two separate X - carriages with extruders that connect to a moving part
* via a magnetic docking mechanism . Requires SOL1_PIN and SOL2_PIN .
*/
//#define PARKING_EXTRUDER
# if ENABLED(PARKING_EXTRUDER)
# define PARKING_EXTRUDER_SOLENOIDS_INVERT // If enabled, the solenoid is NOT magnetized with applied voltage
# define PARKING_EXTRUDER_SOLENOIDS_PINS_ACTIVE LOW // LOW or HIGH pin signal energizes the coil
# define PARKING_EXTRUDER_SOLENOIDS_DELAY 250 // Delay (ms) for magnetic field. No delay if 0 or not defined.
# define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
# define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
# define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
# define HOTEND_OFFSET_Z { 0.0, 1.3 } // Z-offsets of the two hotends. The first must be 0.
# endif
/**
* " Mixing Extruder "
* - Adds a new code , M165 , to set the current mix factors .
@ -335,8 +363,9 @@
// Comment the following line to disable PID and enable bang-bang.
# define PIDTEMP
# define BANG_MAX 180 // 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
# define BANG_MAX 180 // 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
# define PID_K1 0.95 // Smoothing factor within any PID loop
# 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.
@ -346,7 +375,6 @@
// 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
// is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
# 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
@ -427,12 +455,13 @@
//===========================================================================
/**
* Thermal Protection protects your printer from damage and fire if a
* thermistor falls out or temperature sensors fail in any way .
* Thermal Protection provides additional protection to your printer from damage
* and fire . Marlin always includes safe min and max temperature ranges which
* protect against a broken or disconnected thermistor wire .
*
* The issue : If a thermistor falls out or a temperature sensor fails ,
* Marlin can no longer sense the actual temperature . Since a disconnected
* thermistor reads as a low temperature , the firmware will keep the heater on .
* The issue : If a thermistor falls out , it will report the much lower
* temperature of the air in the room , and the the firmware will keep
* the heater on .
*
* If you get " Thermal Runaway " or " Heating failed " errors the
* details can be tuned in Configuration_adv . h
@ -567,14 +596,13 @@
# define DEFAULT_ZJERK 0.3
# define DEFAULT_EJERK 5.0
//===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
// @section probes
//
// See http://marlinfw.org/configuration/probes.html
// See http://marlinfw.org/docs/ configuration/probes.html
//
/**
@ -609,7 +637,7 @@
* Probe Type
*
* Allen Key Probes , Servo Probes , Z - Sled Probes , FIX_MOUNTED_PROBE , etc .
* You must a ctivate one of these to use Auto Bed Leveling below .
* A ctivate one of these to use Auto Bed Leveling below .
*/
/**
@ -640,11 +668,11 @@
# endif
/**
* Enable if probing seems unreliable . Heaters and / or fans - consistent with the
* options selected below - will be disabled during probing so as to minimize
* potential EM interference by quieting / silencing the source of the ' noise ' ( the change
* in current flowing through the wires ) . This is likely most useful to users of th e
* BLTouch probe , but may also help those with inductive or other probe type s.
* Enable one or more of the following if probing seems unreliable .
* Heaters and / or fans can be disabled during probing to minimize electrical
* noise . A delay can also be added to allow noise and vibration to settle .
* These options are most useful for the BLTouch probe , but may also improv e
* readings with inductive probes and piezo sensor s.
*/
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
//#define PROBING_FANS_OFF // Turn fans off when probing
@ -686,14 +714,16 @@
// 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 )
// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2 )
# 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
// The number of probes to perform at each point.
// Set to 2 for a fast/slow probe, using the second probe result.
// Set to 3 or more for slow probes, averaging the results.
//#define MULTIPLE_PROBING 2
/**
* Z probes require clearance when deploying , stowing , and moving between
@ -760,6 +790,8 @@
// @section homing
//#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed
//#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.
@ -783,10 +815,30 @@
# define Y_MAX_POS Y_BED_SIZE
# define Z_MAX_POS 180
// If enabled, axes won't move below MIN_POS in response to movement commands.
/**
* Software Endstops
*
* - Prevent moves outside the set machine bounds .
* - Individual axes can be disabled , if desired .
* - X and Y only apply to Cartesian robots .
* - Use ' M211 ' to set software endstops on / off or report current state
*/
// Min software endstops constrain movement within minimum coordinate bounds
# define MIN_SOFTWARE_ENDSTOPS
// If enabled, axes won't move above MAX_POS in response to movement commands.
# if ENABLED(MIN_SOFTWARE_ENDSTOPS)
# define MIN_SOFTWARE_ENDSTOP_X
# define MIN_SOFTWARE_ENDSTOP_Y
# define MIN_SOFTWARE_ENDSTOP_Z
# endif
// Max software endstops constrain movement within maximum coordinate bounds
# define MAX_SOFTWARE_ENDSTOPS
# if ENABLED(MAX_SOFTWARE_ENDSTOPS)
# define MAX_SOFTWARE_ENDSTOP_X
# define MAX_SOFTWARE_ENDSTOP_Y
# define MAX_SOFTWARE_ENDSTOP_Z
# endif
/**
* Filament Runout Sensor
@ -806,7 +858,7 @@
//===========================================================================
//=============================== Bed Leveling ==============================
//===========================================================================
// @section bedlevel
// @section cali brat e
/**
* Choose one of the options below to enable G29 Bed Leveling . The parameters
@ -832,12 +884,7 @@
* - AUTO_BED_LEVELING_UBL ( Unified Bed Leveling )
* A comprehensive bed leveling system combining the features and benefits
* of other systems . UBL also includes integrated Mesh Generation , Mesh
* Validation and Mesh Editing systems . Currently , UBL is only checked out
* for Cartesian Printers . That said , it was primarily designed to correct
* poor quality Delta Printers . If you feel adventurous and have a Delta ,
* please post an issue if something doesn ' t work correctly . Initially ,
* you will need to set a reduced bed size so you have a rectangular area
* to test on .
* Validation and Mesh Editing systems .
*
* - MESH_BED_LEVELING
* Probe a grid manually
@ -864,6 +911,24 @@
// at which point movement will be level to the machine's XY plane.
// The height can be set with M420 Z<height>
# define ENABLE_LEVELING_FADE_HEIGHT
// For Cartesian machines, instead of dividing moves on mesh boundaries,
// split up moves into short segments like a Delta. This follows the
// contours of the bed more closely than edge-to-edge straight moves.
# define SEGMENT_LEVELED_MOVES
# define LEVELED_SEGMENT_LENGTH 5.0 // (mm) Length of all segments (except the last one)
/**
* Enable the G26 Mesh Validation Pattern tool .
*/
//#define G26_MESH_VALIDATION
# if ENABLED(G26_MESH_VALIDATION)
# define MESH_TEST_NOZZLE_SIZE 0.4 // (mm) Diameter of primary nozzle.
# define MESH_TEST_LAYER_HEIGHT 0.2 // (mm) Default layer height for the G26 Mesh Validation Tool.
# define MESH_TEST_HOTEND_TEMP 205.0 // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
# define MESH_TEST_BED_TEMP 60.0 // (°C) Default bed temperature for the G26 Mesh Validation Tool.
# endif
# endif
# if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@ -919,7 +984,9 @@
//========================= Unified Bed Leveling ============================
//===========================================================================
# define UBL_MESH_INSET 1 // Mesh inset margin on print area
//#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh
# define 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
@ -930,8 +997,8 @@
# 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
# define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
# elif ENABLED(MESH_BED_LEVELING)
@ -958,6 +1025,9 @@
# define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
# endif
// Add a menu item to move between bed corners for manual bed adjustment
//#define LEVEL_BED_CORNERS
/**
* Commands to execute at the end of G29 probing .
* Useful to retract or move the Z probe out of the way .
@ -988,14 +1058,71 @@
//#define Z_SAFE_HOMING
# if ENABLED(Z_SAFE_HOMING)
# define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2) // X point for Z homing when homing all axi s (G28).
# define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axi s (G28).
# define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2) // X point for Z homing when homing all axe s (G28).
# define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axe s (G28).
# endif
// Homing speeds (mm/m)
# define HOMING_FEEDRATE_XY (50*60)
# define HOMING_FEEDRATE_Z (4*60)
// @section calibrate
/**
* Bed Skew Compensation
*
* This feature corrects for misalignment in the XYZ axes .
*
* Take the following steps to get the bed skew in the XY plane :
* 1. Print a test square ( e . g . , https : //www.thingiverse.com/thing:2563185)
* 2. For XY_DIAG_AC measure the diagonal A to C
* 3. For XY_DIAG_BD measure the diagonal B to D
* 4. For XY_SIDE_AD measure the edge A to D
*
* Marlin automatically computes skew factors from these measurements .
* Skew factors may also be computed and set manually :
*
* - Compute AB : SQRT ( 2 * AC * AC + 2 * BD * BD - 4 * AD * AD ) / 2
* - XY_SKEW_FACTOR : TAN ( PI / 2 - ACOS ( ( AC * AC - AB * AB - AD * AD ) / ( 2 * AB * AD ) ) )
*
* If desired , follow the same procedure for XZ and YZ .
* Use these diagrams for reference :
*
* Y Z Z
* ^ B - - - - - - - C ^ B - - - - - - - C ^ B - - - - - - - C
* | / / | / / | / /
* | / / | / / | / /
* | A - - - - - - - D | A - - - - - - - D | A - - - - - - - D
* + - - - - - - - - - - - - - - > X + - - - - - - - - - - - - - - > X + - - - - - - - - - - - - - - > Y
* XY_SKEW_FACTOR XZ_SKEW_FACTOR YZ_SKEW_FACTOR
*/
//#define SKEW_CORRECTION
# if ENABLED(SKEW_CORRECTION)
// Input all length measurements here:
# define XY_DIAG_AC 282.8427124746
# define XY_DIAG_BD 282.8427124746
# define XY_SIDE_AD 200
// Or, set the default skew factors directly here
// to override the above measurements:
# define XY_SKEW_FACTOR 0.0
//#define SKEW_CORRECTION_FOR_Z
# if ENABLED(SKEW_CORRECTION_FOR_Z)
# define XZ_DIAG_AC 282.8427124746
# define XZ_DIAG_BD 282.8427124746
# define YZ_DIAG_AC 282.8427124746
# define YZ_DIAG_BD 282.8427124746
# define YZ_SIDE_AD 200
# define XZ_SKEW_FACTOR 0.0
# define YZ_SKEW_FACTOR 0.0
# endif
// Enable this option for M852 to set skew at runtime
//#define SKEW_CORRECTION_GCODE
# endif
//=============================================================================
//============================= Additional Features ===========================
//=============================================================================
@ -1174,11 +1301,11 @@
*
* Select the language to display on the LCD . These languages are available :
*
* en , an , bg , ca , cn , cz , cz_utf8 , de , el , el - gr , es , eu , fi , fr , gl , hr ,
* it , kana , kana_utf8 , nl , pl , pt , pt_utf8 , pt - br , pt - br_utf8 , ru , tr , uk ,
* zh_CN , zh_TW , test
* en , an , bg , ca , cn , cz , cz_utf8 , de , el , el - gr , es , eu , fi , fr , fr_utf8 , gl ,
* hr , it , kana , kana_utf8 , nl , pl , pt , pt_utf8 , pt - br , pt - br_utf8 , ru , sk_utf8 ,
* tr , uk , zh_CN , zh_TW , test
*
* : { ' 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 ' , ' 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 ' , ' tr ' : ' Turkish ' , ' uk ' : ' Ukrainian ' , ' zh_CN ' : ' Chinese ( Simplified ) ' , ' zh_TW ' : ' Chinese ( Taiwan ) ' , test ' : ' TEST ' }
* : { ' 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
@ -1200,7 +1327,7 @@
* - Click the controller to view the LCD menu
* - The LCD will display Japanese , Western , or Cyrillic text
*
* See https : //github.com/MarlinFirmware/Marlin/wiki/LCD-Language
* See http : //marlinfw.org/docs/development/lcd_language.html
*
* : [ ' JAPANESE ' , ' WESTERN ' , ' CYRILLIC ' ]
*/
@ -1332,12 +1459,6 @@
//
//#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
@ -1420,6 +1541,12 @@
//
//#define BQ_LCD_SMART_CONTROLLER
//
// Cartesio UI
// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface
//
//#define CARTESIO_UI
//
// ANET and Tronxy Controller supported displays.
//
@ -1520,6 +1647,47 @@
//
//#define OLED_PANEL_TINYBOY2
//
// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller
// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html
//
//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602
//
// MKS MINI12864 with graphic controller and SD support
// http://reprap.org/wiki/MKS_MINI_12864
//
//#define MKS_MINI_12864
//
// Factory display for Creality CR-10
// https://www.aliexpress.com/item/Universal-LCD-12864-3D-Printer-Display-Screen-With-Encoder-For-CR-10-CR-7-Model/32833148327.html
//
// This is RAMPS-compatible using a single 10-pin connector.
// (For CR-10 owners who want to replace the Melzi Creality board but retain the display)
//
//#define CR10_STOCKDISPLAY
//
// MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER
// http://reprap.org/wiki/MKS_12864OLED
//
// Tiny, but very sharp OLED display
//
//#define MKS_12864OLED // Uses the SH1106 controller (default)
//#define MKS_12864OLED_SSD1306 // Uses the SSD1306 controller
//
// AZSMZ 12864 LCD with SD
// https://www.aliexpress.com/store/product/3D-printer-smart-controller-SMART-RAMPS-OR-RAMPS-1-4-LCD-12864-LCD-control-panel-green/2179173_32213636460.html
//
//#define AZSMZ_12864
// Silvergate GLCD controller
// http://github.com/android444/Silvergate
//
//#define SILVER_GATE_GLCD_CONTROLLER
//=============================================================================
//=============================== Extra Features ==============================
//=============================================================================
@ -1576,16 +1744,22 @@
* Adds the M150 command to set the LED ( or LED strip ) color .
* If pins are PWM capable ( e . g . , 4 , 5 , 6 , 11 ) then a range of
* luminance values can be set from 0 to 255.
* For Neopixel LED an overall brightness parameter is also available .
*
* * * * CAUTION * * *
* LED Strips require a MOFSET Chip between PWM lines and LEDs ,
* as the Arduino cannot handle the current the LEDs will require .
* Failure to follow this precaution can destroy your Arduino !
* NOTE : A separate 5 V power supply is required ! The Neopixel LED needs
* more current than the Arduino 5 V linear regulator can produce .
* * * * CAUTION * * *
*
* LED Type . Enable only one of the following two options .
*
*/
//#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
@ -1594,10 +1768,13 @@
# endif
// Support for Adafruit Neopixel LED driver
//#define NEOPIXEL_RGBW_LED
# if ENABLED(NEOPIXEL_RGBW_LED)
# define NEOPIXEL_PIN 4 // D4 (EXP2-5 on Printrboard)
# define NEOPIXEL_PIXELS 3
//#define NEOPIXEL_LED
# if ENABLED(NEOPIXEL_LED)
# define NEOPIXEL_TYPE NEO_GRBW // NEO_GRBW / NEO_GRB - four/three channel driver type (defined in Adafruit_NeoPixel.h)
# define NEOPIXEL_PIN 4 // LED driving pin on motherboard 4 => D4 (EXP2-5 on Printrboard) / 30 => PC7 (EXP3-13 on Rumba)
# define NEOPIXEL_PIXELS 30 // Number of LEDs in the strip
# define NEOPIXEL_IS_SEQUENTIAL // Sequential display for temperature change - LED by LED. Disable to change all LEDs at once.
# define NEOPIXEL_BRIGHTNESS 127 // Initial brightness (0-255)
//#define NEOPIXEL_STARTUP_TEST // Cycle through colors at startup
# endif
@ -1612,67 +1789,32 @@
* - Change to green once print has finished
* - Turn off after the print has finished and the user has pushed a button
*/
# if ENABLED(BLINKM) || ENABLED(RGB_LED) || ENABLED(RGBW_LED) || ENABLED(PCA9632) || ENABLED(NEOPIXEL_RGBW_ LED)
# if ENABLED(BLINKM) || ENABLED(RGB_LED) || ENABLED(RGBW_LED) || ENABLED(PCA9632) || ENABLED(NEOPIXEL_LED)
# define PRINTER_EVENT_LEDS
# endif
/*********************************************************************\
* R / C SERVO support
* Sponsored by TrinityLabs , Reworked by codexmas
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/**
* R / C SERVO support
* Sponsored by TrinityLabs , Reworked by codexmas
*/
// 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
//
/**
* Number of servos
*
* For some servo - related options NUM_SERVOS will be set automatically .
* Set this manually if there are extra servos needing manual control .
* Leave undefined or set to 0 to entirely disable the servo subsystem .
*/
//#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
# 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
/**
* Filament Width Sensor
*
* Measures the filament width in real - time and adjusts
* flow rate to compensate for any irregularities .
*
* Also allows the measured filament diameter to set the
* extrusion rate , so the slicer only has to specify the
* volume .
*
* Only a single extruder is supported at this time .
*
* 34 RAMPS_14 : Analog input 5 on the AUX2 connector
* 81 PRINTRBOARD : Analog input 2 on the Exp1 connector ( version B , C , D , E )
* 301 RAMBO : Analog input 3
*
* Note : May require analog pins to be defined for other boards .
*/
//#define FILAMENT_WIDTH_SENSOR
# define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 // (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 FILWIDTH_ERROR_MARGIN 1.0 // (mm) If a measurement differs too much from nominal width ignore it
# 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