Skip to content

Commit 4126d51

Browse files
thinkyheadAndy-Big
authored andcommitted
🔧 Config INI, dump options (MarlinFirmware#24528)
1 parent 9da34bd commit 4126d51

17 files changed

Lines changed: 1327 additions & 100 deletions

Marlin/Configuration.h

Lines changed: 70 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@
115115
* :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000]
116116
*/
117117
#define BAUDRATE 250000
118+
118119
//#define BAUD_RATE_GCODE // Enable G-code M575 to set the baud rate
119120

120121
/**
@@ -127,15 +128,15 @@
127128
#define MKS_WIFI
128129
// #define SHOW_PROGRESS
129130
#define SERIAL_PORT_2 1
130-
#define BAUDRATE_2 115200 // Enable to override BAUDRATE
131+
#define BAUDRATE_2 115200 // :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000] Enable to override BAUDRATE
131132

132133
/**
133134
* Select a third serial port on the board to use for communication with the host.
134135
* Currently only supported for AVR, DUE, LPC1768/9 and STM32/STM32F1
135136
* :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
136137
*/
137138
//#define SERIAL_PORT_3 1
138-
//#define BAUDRATE_3 250000 // Enable to override BAUDRATE
139+
//#define BAUDRATE_3 250000 // :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000] Enable to override BAUDRATE
139140

140141
// Enable the Bluetooth serial interface on AT90USB devices
141142
//#define BLUETOOTH
@@ -394,7 +395,7 @@
394395
//#define HOTEND_OFFSET_Y { 0.0, 5.00 } // (mm) relative Y-offset for each nozzle
395396
//#define HOTEND_OFFSET_Z { 0.0, 0.00 } // (mm) relative Z-offset for each nozzle
396397

397-
// @section machine
398+
// @section psu control
398399

399400
/**
400401
* Power Supply Control
@@ -558,22 +559,32 @@
558559
#define DUMMY_THERMISTOR_999_VALUE 100
559560

560561
// Resistor values when using MAX31865 sensors (-5) on TEMP_SENSOR_0 / 1
561-
//#define MAX31865_SENSOR_OHMS_0 100 // (Ω) Typically 100 or 1000 (PT100 or PT1000)
562-
//#define MAX31865_CALIBRATION_OHMS_0 430 // (Ω) Typically 430 for Adafruit PT100; 4300 for Adafruit PT1000
563-
//#define MAX31865_SENSOR_OHMS_1 100
564-
//#define MAX31865_CALIBRATION_OHMS_1 430
562+
#if TEMP_SENSOR_IS_MAX_TC(0)
563+
#define MAX31865_SENSOR_OHMS_0 100 // (Ω) Typically 100 or 1000 (PT100 or PT1000)
564+
#define MAX31865_CALIBRATION_OHMS_0 430 // (Ω) Typically 430 for Adafruit PT100; 4300 for Adafruit PT1000
565+
#endif
566+
#if TEMP_SENSOR_IS_MAX_TC(1)
567+
#define MAX31865_SENSOR_OHMS_1 100
568+
#define MAX31865_CALIBRATION_OHMS_1 430
569+
#endif
565570

566-
#define TEMP_RESIDENCY_TIME 5 // (seconds) Time to wait for hotend to "settle" in M109
567-
#define TEMP_WINDOW 3 // (°C) Temperature proximity for the "temperature reached" timer
568-
#define TEMP_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
571+
#if HAS_E_TEMP_SENSOR
572+
#define TEMP_RESIDENCY_TIME 5 // (seconds) Time to wait for hotend to "settle" in M109
573+
#define TEMP_WINDOW 3 // (°C) Temperature proximity for the "temperature reached" timer
574+
#define TEMP_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
575+
#endif
569576

570-
#define TEMP_BED_RESIDENCY_TIME 5 // (seconds) Time to wait for bed to "settle" in M190
571-
#define TEMP_BED_WINDOW 3 // (°C) Temperature proximity for the "temperature reached" timer
572-
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
577+
#if TEMP_SENSOR_BED
578+
#define TEMP_BED_RESIDENCY_TIME 5 // (seconds) Time to wait for bed to "settle" in M190
579+
#define TEMP_BED_WINDOW 3 // (°C) Temperature proximity for the "temperature reached" timer
580+
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
581+
#endif
573582

574-
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
575-
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
576-
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
583+
#if TEMP_SENSOR_CHAMBER
584+
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
585+
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
586+
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
587+
#endif
577588

578589
/**
579590
* Redundant Temperature Sensor (TEMP_SENSOR_REDUNDANT)
@@ -632,6 +643,8 @@
632643
//============================= PID Settings ================================
633644
//===========================================================================
634645

646+
// @section hotend temp
647+
635648
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
636649
// temperature control. Disable both for bang-bang heating.
637650
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
@@ -642,7 +655,8 @@
642655
#define PID_K1 0.95 // Smoothing factor within any PID loop
643656

644657
#if ENABLED(PIDTEMP)
645-
//#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders)
658+
//#define PID_DEBUG // Print PID debug data to the serial port. Use 'M303 D' to toggle activation.
659+
//#define PID_PARAMS_PER_HOTEND // Use separate PID parameters for each extruder (useful for mismatched extruders)
646660
// Set/get with G-code: M301 E[extruder number, 0-2]
647661

648662
#if ENABLED(PID_PARAMS_PER_HOTEND)
@@ -668,6 +682,7 @@
668682
* Use a physical model of the hotend to control temperature. When configured correctly
669683
* this gives better responsiveness and stability than PID and it also removes the need
670684
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 T to autotune the model.
685+
* @section mpctemp
671686
*/
672687
#if ENABLED(MPCTEMP)
673688
//#define MPC_EDIT_MENU // Add MPC editing to the "Advanced Settings" menu. (~1300 bytes of flash)
@@ -720,6 +735,7 @@
720735
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W
721736
* heater. If your configuration is significantly different than this and you don't understand
722737
* the issues involved, don't use bed PID until someone else verifies that your hardware works.
738+
* @section bed temp
723739
*/
724740
#define PIDTEMPBED
725741

@@ -735,7 +751,7 @@
735751

736752
#if ENABLED(PIDTEMPBED)
737753
//#define MIN_BED_POWER 0
738-
//#define PID_BED_DEBUG // Sends debug data to the serial port.
754+
//#define PID_BED_DEBUG // Print Bed PID debug data to the serial port.
739755

740756
// 120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
741757
// from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
@@ -767,6 +783,7 @@
767783
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
768784
* heater. If your configuration is significantly different than this and you don't understand
769785
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
786+
* @section chamber temp
770787
*/
771788
//#define PIDTEMPCHAMBER
772789
//#define CHAMBER_LIMIT_SWITCHING
@@ -781,7 +798,7 @@
781798

782799
#if ENABLED(PIDTEMPCHAMBER)
783800
#define MIN_CHAMBER_POWER 0
784-
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
801+
//#define PID_CHAMBER_DEBUG // Print Chamber PID debug data to the serial port.
785802

786803
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
787804
// and placed inside the small Creality printer enclosure tent.
@@ -795,7 +812,6 @@
795812
#endif // PIDTEMPCHAMBER
796813

797814
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
798-
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
799815
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
800816
//#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
801817
#define PID_FUNCTIONAL_RANGE 20 // If the temperature difference between the target temperature and the actual temperature
@@ -805,7 +821,7 @@
805821
#define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of flash)
806822
#endif
807823

808-
// @section extruder
824+
// @section safety
809825

810826
/**
811827
* Prevent extrusion if the temperature is below EXTRUDE_MINTEMP.
@@ -873,6 +889,8 @@
873889
#define POLAR_SEGMENTS_PER_SECOND 5
874890
#endif
875891

892+
// @section delta
893+
876894
// Enable for DELTA kinematics and configure below
877895
//#define DELTA
878896
#if ENABLED(DELTA)
@@ -932,6 +950,8 @@
932950
//#define DELTA_DIAGONAL_ROD_TRIM_TOWER { 0.0, 0.0, 0.0 }
933951
#endif
934952

953+
// @section scara
954+
935955
/**
936956
* MORGAN_SCARA was developed by QHARLEY in South Africa in 2012-2013.
937957
* Implemented and slightly reworked by JCERNY in June, 2014.
@@ -975,6 +995,8 @@
975995

976996
#endif
977997

998+
// @section tpara
999+
9781000
// Enable for TPARA kinematics and configure below
9791001
//#define AXEL_TPARA
9801002
#if ENABLED(AXEL_TPARA)
@@ -1001,6 +1023,8 @@
10011023
#define PSI_HOMING_OFFSET 0
10021024
#endif
10031025

1026+
// @section machine
1027+
10041028
// Articulated robot (arm). Joints are directly mapped to axes with no kinematics.
10051029
//#define ARTICULATED_ROBOT_ARM
10061030

@@ -1012,7 +1036,7 @@
10121036
//============================== Endstop Settings ===========================
10131037
//===========================================================================
10141038

1015-
// @section homing
1039+
// @section endstops
10161040

10171041
// Specify here all the endstop connectors that are connected to any endstop or probe.
10181042
// Almost all printers will be using one per axis. Probes will use one or more of the
@@ -1685,7 +1709,7 @@
16851709
//#define V_HOME_DIR -1
16861710
//#define W_HOME_DIR -1
16871711

1688-
// @section machine
1712+
// @section geometry
16891713

16901714
// The size of the printable area
16911715
#define X_BED_SIZE 350
@@ -2146,7 +2170,7 @@
21462170
//============================= Additional Features ===========================
21472171
//=============================================================================
21482172

2149-
// @section extras
2173+
// @section eeprom
21502174

21512175
/**
21522176
* EEPROM
@@ -2195,6 +2219,8 @@ EEPROM_W25Q
21952219
#define DEFAULT_KEEPALIVE_INTERVAL 5 // Number of seconds between "busy" messages. Set with M113.
21962220
#define BUSY_WHILE_HEATING // Some hosts require "busy" messages even during heating
21972221

2222+
// @section units
2223+
21982224
//
21992225
// G20/G21 Inch mode support
22002226
//
@@ -2222,6 +2248,8 @@ EEPROM_W25Q
22222248
#define PREHEAT_2_TEMP_CHAMBER 35
22232249
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
22242250

2251+
// @section motion
2252+
22252253
/**
22262254
* Nozzle Park
22272255
*
@@ -2320,6 +2348,8 @@ EEPROM_W25Q
23202348

23212349
#endif
23222350

2351+
// @section host
2352+
23232353
/**
23242354
* Print Job Timer
23252355
*
@@ -2346,6 +2376,8 @@ EEPROM_W25Q
23462376
*/
23472377
#define PRINTJOB_TIMER_AUTOSTART
23482378

2379+
// @section stats
2380+
23492381
/**
23502382
* Print Counter
23512383
*
@@ -2363,6 +2395,8 @@ EEPROM_W25Q
23632395
#define PRINTCOUNTER_SAVE_INTERVAL 60 // (minutes) EEPROM save interval during print
23642396
#endif
23652397

2398+
// @section security
2399+
23662400
/**
23672401
* Password
23682402
*
@@ -2398,7 +2432,7 @@ EEPROM_W25Q
23982432
//============================= LCD and SD support ============================
23992433
//=============================================================================
24002434

2401-
// @section lcd
2435+
// @section interface
24022436

24032437
/**
24042438
* LCD LANGUAGE
@@ -2554,6 +2588,7 @@ EEPROM_W25Q
25542588
//======================== LCD / Controller Selection =========================
25552589
//======================== (Character-based LCDs) =========================
25562590
//=============================================================================
2591+
// @section lcd
25572592

25582593
//
25592594
// RepRapDiscount Smart Controller.
@@ -3210,7 +3245,7 @@ EEPROM_W25Q
32103245
//=============================== Extra Features ==============================
32113246
//=============================================================================
32123247

3213-
// @section extras
3248+
// @section fans
32143249

32153250
// Set number of user-controlled fans. Disable to use all board-defined fans.
32163251
// :[1,2,3,4,5,6,7,8]
@@ -3234,14 +3269,18 @@ EEPROM_W25Q
32343269
// duty cycle is attained.
32353270
//#define SOFT_PWM_DITHER
32363271

3272+
// @section extras
3273+
3274+
// Support for the BariCUDA Paste Extruder
3275+
//#define BARICUDA
3276+
3277+
// @section lights
3278+
32373279
// Temperature status LEDs that display the hotend and bed temperature.
32383280
// If all hotends, bed temperature, and target temperature are under 54C
32393281
// then the BLUE led is on. Otherwise the RED led is on. (1C hysteresis)
32403282
//#define TEMP_STAT_LEDS
32413283

3242-
// Support for the BariCUDA Paste Extruder
3243-
//#define BARICUDA
3244-
32453284
// Support for BlinkM/CyzRgb
32463285
//#define BLINKM
32473286

@@ -3327,6 +3366,8 @@ EEPROM_W25Q
33273366
#define PRINTER_EVENT_LEDS
33283367
#endif
33293368

3369+
// @section servos
3370+
33303371
/**
33313372
* Number of servos
33323373
*

0 commit comments

Comments
 (0)