@ -21,6 +21,8 @@
*/
# pragma once
# define CONFIG_EXAMPLES_DIR "Anet / A8"
/**
* Configuration . h
*
@ -69,7 +71,7 @@
// @section info
// Author info of this build printed to the host during boot and M115
# define STRING_CONFIG_H_AUTHOR "( none, defaul t config)" // Who made the changes.
# define STRING_CONFIG_H_AUTHOR "( Bob Kuhn, Ane t config)" // Who made the changes.
//#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes)
/**
@ -115,7 +117,7 @@
*
* : [ 2400 , 9600 , 19200 , 38400 , 57600 , 115200 , 250000 , 500000 , 1000000 ]
*/
# define BAUDRATE 2500 00
# define BAUDRATE 1152 00
//#define BAUD_RATE_GCODE // Enable G-code M575 to set the baud rate
/**
@ -139,11 +141,11 @@
// Choose the name from boards.h that matches your setup
# ifndef MOTHERBOARD
# define MOTHERBOARD BOARD_ RAMPS_14_EFB
# define MOTHERBOARD BOARD_ ANET_10
# endif
// Name displayed in the LCD "Ready" message and Info menu
//#define CUSTOM_MACHINE_NAME "3D Printer"
# define CUSTOM_MACHINE_NAME "Anet A8"
// Printer's unique ID, used by some programs to differentiate between machines.
// Choose your own or use a service like https://www.uuidgenerator.net/version4
@ -195,6 +197,7 @@
# define EXTRUDERS 1
// Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc.
// The Anet A8 original extruder is designed for 1.75mm
# define DEFAULT_NOMINAL_FILAMENT_DIA 1.75
// For Cyclops or any "multi-extruder" that shares a single nozzle.
@ -487,7 +490,7 @@
* 999 : Dummy Table that ALWAYS reads 100 ° C or the temperature defined below .
*
*/
# define TEMP_SENSOR_0 1
# define TEMP_SENSOR_0 5
# define TEMP_SENSOR_1 0
# define TEMP_SENSOR_2 0
# define TEMP_SENSOR_3 0
@ -495,7 +498,7 @@
# define TEMP_SENSOR_5 0
# define TEMP_SENSOR_6 0
# define TEMP_SENSOR_7 0
# define TEMP_SENSOR_BED 0
# define TEMP_SENSOR_BED 5
# define TEMP_SENSOR_PROBE 0
# define TEMP_SENSOR_CHAMBER 0
# define TEMP_SENSOR_COOLER 0
@ -512,11 +515,11 @@
//#define MAX31865_SENSOR_OHMS_1 100
//#define MAX31865_CALIBRATION_OHMS_1 430
# define TEMP_RESIDENCY_TIME 10 // (seconds) Time to wait for hotend to "settle" in M109
# define TEMP_RESIDENCY_TIME 6 // (seconds) Time to wait for hotend to "settle" in M109
# define TEMP_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
# define TEMP_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
# define TEMP_BED_RESIDENCY_TIME 10 // (seconds) Time to wait for bed to "settle" in M190
# define TEMP_BED_RESIDENCY_TIME 6 // (seconds) Time to wait for bed to "settle" in M190
# define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
# define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
@ -564,7 +567,7 @@
# define HEATER_5_MAXTEMP 275
# define HEATER_6_MAXTEMP 275
# define HEATER_7_MAXTEMP 275
# define BED_MAXTEMP 1 5 0
# define BED_MAXTEMP 1 3 0
# define CHAMBER_MAXTEMP 60
/**
@ -594,16 +597,18 @@
//#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]
// ANET A8 Standard Extruder at 210 Degree Celsius and 100% Fan
// (measured after M106 S255 with M303 E0 S210 C8)
# if ENABLED(PID_PARAMS_PER_HOTEND)
// Specify up to one value per hotend here, according to your setup.
// If there are fewer values, the last one applies to the remaining hotends.
# define DEFAULT_Kp_LIST { 2 2.20, 22.2 0 }
# define DEFAULT_Ki_LIST { 1. 08, 1.08 }
# define DEFAULT_Kd_LIST { 114.00, 114 .00 }
# define DEFAULT_Kp_LIST { 2 1.00, 20.0 0 }
# define DEFAULT_Ki_LIST { 1. 25, 1.25 }
# define DEFAULT_Kd_LIST { 86.00, 86 .00 }
# else
# define DEFAULT_Kp 2 2.2 0
# define DEFAULT_Ki 1. 08
# define DEFAULT_Kd 114 .00
# define DEFAULT_Kp 2 1.0 0
# define DEFAULT_Ki 1. 25
# define DEFAULT_Kd 86 .00
# endif
# endif // PIDTEMP
@ -624,7 +629,7 @@
* heater . If your configuration is significantly different than this and you don ' t understand
* the issues involved , don ' t use bed PID until someone else verifies that your hardware works .
*/
//#define PIDTEMPBED
# define PIDTEMPBED
//#define BED_LIMIT_SWITCHING
@ -640,11 +645,11 @@
//#define MIN_BED_POWER 0
//#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
// ANET A8
// original Bed + 0.3mm Heat conducting into 4mm borosilicate (PID-Autotune: M303 E-1 S60 C5):
# define DEFAULT_bedKp 295 .00
# define DEFAULT_bedKi 35.65
# define DEFAULT_bedKd 610.21
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
# endif // PIDTEMPBED
@ -697,7 +702,7 @@
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
//#define PID_OPENLOOP // 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_FUNCTIONAL_RANGE 1 0 // If the temperature difference between the target temperature and the actual temperature
# define PID_FUNCTIONAL_RANGE 1 5 // 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.
# endif
@ -711,7 +716,7 @@
* * * * IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED ! * * *
*/
# define PREVENT_COLD_EXTRUSION
# define EXTRUDE_MINTEMP 1 70
# define EXTRUDE_MINTEMP 1 60 // 160 guards against false tripping when the extruder fan kicks on.
/**
* Prevent a single extrusion longer than EXTRUDE_MAXLENGTH .
@ -829,9 +834,9 @@
# endif
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
# define X_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
# define Y_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
# define Z_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
# 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 I_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
# define J_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
# define K_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
@ -841,7 +846,7 @@
# define I_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
# define J_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
# define K_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.
# define Z_MIN_PROBE_ENDSTOP_INVERTING true // Set to true to invert the logic of the probe.
/**
* Stepper Drivers
@ -883,7 +888,7 @@
// 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
# define ENDSTOP_INTERRUPTS_FEATURE
/**
* Endstop Noise Threshold
@ -927,14 +932,14 @@
* Override with M92
* X , Y , Z [ , I [ , J [ , K ] ] ] , E0 [ , E1 [ , E2 . . . ] ]
*/
# define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 5 00 }
# define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 400, 1 00 }
/**
* Default Max Feed Rate ( mm / s )
* Override with M203
* X , Y , Z [ , I [ , J [ , K ] ] ] , E0 [ , E1 [ , E2 . . . ] ]
*/
# define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 }
# define DEFAULT_MAX_FEEDRATE { 400, 400, 8, 50 }
//#define LIMITED_MAX_FR_EDITING // Limit edit via M203 or LCD to DEFAULT_MAX_FEEDRATE * 2
# if ENABLED(LIMITED_MAX_FR_EDITING)
@ -947,7 +952,7 @@
* Override with M201
* X , Y , Z [ , I [ , J [ , K ] ] ] , E0 [ , E1 [ , E2 . . . ] ]
*/
# define DEFAULT_MAX_ACCELERATION { 3000, 3 000, 100, 10000 }
# define DEFAULT_MAX_ACCELERATION { 2000, 2 000, 100, 10000 }
//#define LIMITED_MAX_ACCEL_EDITING // Limit edit via M201 or LCD to DEFAULT_MAX_ACCELERATION * 2
# if ENABLED(LIMITED_MAX_ACCEL_EDITING)
@ -962,9 +967,9 @@
* M204 R Retract Acceleration
* M204 T Travel Acceleration
*/
# define DEFAULT_ACCELERATION 3000 // X, Y, Z and E acceleration for printing moves
# define DEFAULT_RETRACT_ACCELERATION 3 000 // E acceleration for retracts
# define DEFAULT_TRAVEL_ACCELERATION 3 000 // X, Y, Z acceleration for travel (non printing) moves
# define DEFAULT_ACCELERATION 400 // X, Y, Z and E acceleration for printing moves
# define DEFAULT_RETRACT_ACCELERATION 1 000 // E acceleration for retracts
# define DEFAULT_TRAVEL_ACCELERATION 1 000 // X, Y, Z acceleration for travel (non printing) moves
/**
* Default Jerk limits ( mm / s )
@ -1001,7 +1006,7 @@
* https : //blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html
*/
# if DISABLED(CLASSIC_JERK)
# define JUNCTION_DEVIATION_MM 0. 013 // (mm) Distance from real junction edge
# define JUNCTION_DEVIATION_MM 0. 10 // (mm) Distance from real junction edge
# define JD_HANDLE_SMALL_SEGMENTS // Use curvature estimation instead of just the junction angle
// for small segments (< 1mm) with large junction angles (> 135°).
# endif
@ -1179,14 +1184,14 @@
* | [ - ] |
* O - - FRONT - - +
*/
# define NOZZLE_TO_PROBE_OFFSET { 1 0, 1 0, 0 }
# define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0 }
// Most probes should stay away from the edges of the bed, but
// with NOZZLE_AS_PROBE this can be negative for a wider probing area.
# define PROBING_MARGIN 10
// X and Y axis travel speed (mm/min) between probes
# define XY_PROBE_FEEDRATE (1 33 *60)
# define XY_PROBE_FEEDRATE (1 00 *60)
// Feedrate (mm/min) for the first approach when double-probing (MULTIPLE_PROBING == 2)
# define Z_PROBE_FEEDRATE_FAST (4*60)
@ -1322,8 +1327,8 @@
// 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 tru e
# define INVERT_Z_DIR fals e
# define INVERT_Y_DIR fals e
# define INVERT_Z_DIR tru e
//#define INVERT_I_DIR false
//#define INVERT_J_DIR false
//#define INVERT_K_DIR false
@ -1369,16 +1374,16 @@
// @section machine
// The size of the printable area
# define X_BED_SIZE 2 0 0
# define Y_BED_SIZE 2 0 0
# define X_BED_SIZE 2 2 0
# define Y_BED_SIZE 2 2 0
// Travel limits (mm) after homing, corresponding to endstop positions.
# define X_MIN_POS 0
# define Y_MIN_POS 0
# define X_MIN_POS -33
# define Y_MIN_POS -1 0
# define Z_MIN_POS 0
# define X_MAX_POS X_BED_SIZE
# define Y_MAX_POS Y_BED_SIZE
# define Z_MAX_POS 2 0 0
# define Z_MAX_POS 2 4 0
//#define I_MIN_POS 0
//#define I_MAX_POS 50
//#define J_MIN_POS 0
@ -1745,7 +1750,7 @@
# endif
// Homing speeds (mm/min)
# define HOMING_FEEDRATE_MM_M { ( 50*60), (5 0*60), (4*60) }
# define HOMING_FEEDRATE_MM_M { ( 100*60), (10 0*60), (4*60) }
// Validate that endstops are triggered on homing moves
# define VALIDATE_HOMING_ENDSTOPS
@ -1822,7 +1827,7 @@
* M501 - Read settings from EEPROM . ( i . e . , Throw away unsaved changes )
* M502 - Revert settings to " factory " defaults . ( Follow with M500 to init the EEPROM . )
*/
//#define EEPROM_SETTINGS // Persistent storage with M500 and M501
# define EEPROM_SETTINGS // Persistent storage with M500 and M501
//#define DISABLE_M503 // Saves ~2700 bytes of PROGMEM. Disable for release!
# define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM.
# define EEPROM_BOOT_SILENT // Keep M503 quiet and only give errors during first load
@ -1836,8 +1841,8 @@
// 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.
//#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.
# define BUSY_WHILE_HEATING // Some hosts require "busy" messages even during heating
//
@ -1856,14 +1861,14 @@
// Preheat Constants - Up to 5 are supported without changes
//
# define PREHEAT_1_LABEL "PLA"
# define PREHEAT_1_TEMP_HOTEND 1 8 0
# define PREHEAT_1_TEMP_BED 7 0
# define PREHEAT_1_TEMP_HOTEND 1 9 0
# define PREHEAT_1_TEMP_BED 6 0
# define PREHEAT_1_TEMP_CHAMBER 35
# define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
# define PREHEAT_2_LABEL "ABS"
# define PREHEAT_2_TEMP_HOTEND 240
# define PREHEAT_2_TEMP_BED 11 0
# define PREHEAT_2_TEMP_BED 9 0
# define PREHEAT_2_TEMP_CHAMBER 35
# define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
@ -2095,7 +2100,7 @@
* SD Card support is disabled by default . If your controller has an SD slot ,
* you must uncomment the following option or it won ' t work .
*/
//#define SDSUPPORT
# define SDSUPPORT
/**
* SD CARD : ENABLE CRC
@ -2252,7 +2257,7 @@
//
// ANET and Tronxy 20x4 Controller
//
//#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin.
# define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin.
// This LCD is known to be susceptible to electrical interference
// which scrambles the display. Pressing any button clears it up.
// This is a LCD2004 display with 5 analog buttons.
@ -2355,6 +2360,8 @@
// RepRapDiscount FULL GRAPHIC Smart Controller
// https://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
// Note: Details on connecting to the Anet V1.0 controller are in the file pins_ANET_10.h
//
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
//
@ -2376,6 +2383,11 @@
//#define VIKI2
//#define miniVIKI
//
// Alfawise Ex8 printer LCD marked as WYH L12864 COG
//
//#define WYH_L12864
//
// MakerLab Mini Panel with graphic
// controller and SD support - https://reprap.org/wiki/Mini_panel