New Option: Model Predictive Temperature Control (Experimental)

I’ve extracted the saved Config from my firmware with M503 C.

Prettified version is below. I don’t see the MPTC tuning or menu options in this config.

marlin_config.json
{
    "__INITIAL_HASH": "46983608e6a3ceff48aa",
    "Configuration.h": {
        "Z_SAFE_HOMING_X_POINT": "X_CENTER",
        "VALIDATE_HOMING_ENDSTOPS": "",
        "Y_DRIVER_TYPE": "TMC2208_STANDALONE",
        "TEMP_SENSOR_PROBE": "0",
        "PREHEAT_1_LABEL": "\"PLA\"",
        "EXTRUDE_MAXLENGTH": "200",
        "MPC_STEADYSTATE": "0.5f",
        "TEMP_WINDOW": "1",
        "EEPROM_SETTINGS": "",
        "Z_PROBE_FEEDRATE_SLOW": "(Z_PROBE_FEEDRATE_FAST / 4)",
        "MPC_MAX": "255",
        "SEGMENT_LEVELED_MOVES": "",
        "PREHEAT_1_TEMP_HOTEND": "195",
        "LCD_INFO_SCREEN_STYLE": "0",
        "DISPLAY_CHARSET_HD44780": "JAPANESE",
        "GRID_MAX_POINTS_Y": "GRID_MAX_POINTS_X",
        "ENABLE_LEVELING_FADE_HEIGHT": "",
        "THERMAL_PROTECTION_BED": "",
        "CONFIGURATION_H_VERSION": "02010300",
        "SOFT_PWM_SCALE": "0",
        "DEFAULT_bedKi": ".023",
        "PREHEAT_1_TEMP_CHAMBER": "35",
        "DUMMY_THERMISTOR_998_VALUE": "25",
        "FAN_SOFT_PWM": "",
        "Z_MAX_POS": "250",
        "Z_CLEARANCE_MULTI_PROBE": "5",
        "E0_DRIVER_TYPE": "TMC2208_STANDALONE",
        "G26_XY_FEEDRATE_TRAVEL": "100",
        "MOTHERBOARD": "BOARD_CREALITY_V427",
        "DEFAULT_TRAVEL_ACCELERATION": "500",
        "NOZZLE_TO_PROBE_OFFSET": "{ -45, -7, 0 }",
        "RET6_12864_LCD": "",
        "X_MIN_POS": "0",
        "PRINTCOUNTER_SAVE_INTERVAL": "60",
        "PREHEAT_2_TEMP_CHAMBER": "35",
        "COOLER_OVERSHOOT": "2",
        "HOST_KEEPALIVE_FEATURE": "",
        "XY_PROBE_FEEDRATE": "(200*60)",
        "SERVO_DELAY": "{ 50 }",
        "INVERT_E0_DIR": "false",
        "X_MAX_ENDSTOP_HIT_STATE": "HIGH",
        "AUTO_BED_LEVELING_UBL": "",
        "Y_MAX_ENDSTOP_HIT_STATE": "HIGH",
        "TEMP_SENSOR_0": "1",
        "TEMP_SENSOR_BOARD": "0",
        "Z_MAX_ENDSTOP_HIT_STATE": "HIGH",
        "TEMP_SENSOR_BED": "1",
        "JUNCTION_DEVIATION_MM": "0.08",
        "TEMP_BED_WINDOW": "1",
        "LCD_PROBE_Z_RANGE": "4",
        "DEFAULT_RETRACT_ACCELERATION": "500",
        "BLTOUCH": "",
        "STRING_CONFIG_H_AUTHOR": "\"marlin.crc.id.au\"",
        "DEFAULT_LEVELING_FADE_HEIGHT": "10.0",
        "JD_HANDLE_SMALL_SEGMENTS": "",
        "E_ENABLE_ON": "0",
        "MPC_TUNING_POS": "{ X_CENTER, Y_CENTER, 1.0f }",
        "PRINTJOB_TIMER_AUTOSTART": "",
        "BANG_MAX": "255",
        "MESH_TEST_NOZZLE_SIZE": "0.6",
        "HEATER_0_MINTEMP": "5",
        "LCD_LANGUAGE": "en",
        "MESH_TEST_BED_TEMP": "62",
        "X_BED_SIZE": "220",
        "X_DRIVER_TYPE": "TMC2208_STANDALONE",
        "Z_PROBE_OFFSET_RANGE_MAX": "20",
        "THERMAL_PROTECTION_HOTENDS": "",
        "MAX_SOFTWARE_ENDSTOPS": "",
        "MAX_SOFTWARE_ENDSTOP_X": "",
        "MAX_SOFTWARE_ENDSTOP_Y": "",
        "MAX_SOFTWARE_ENDSTOP_Z": "",
        "SDSUPPORT": "",
        "PRINTCOUNTER": "",
        "Z_CLEARANCE_BETWEEN_PROBES": "5",
        "Z_PROBE_OFFSET_RANGE_MIN": "-20",
        "INVERT_Y_DIR": "false",
        "PIDTEMPBED": "",
        "TEMP_BED_HYSTERESIS": "3",
        "Y_MAX_POS": "Y_BED_SIZE",
        "G26_RETRACT_MULTIPLIER": "1.0",
        "PROBING_MARGIN": "10",
        "MPC_SENSOR_RESPONSIVENESS": "{ 0.22f }",
        "PID_FUNCTIONAL_RANGE": "10",
        "FILAMENT_HEAT_CAPACITY_PERMM": "{ 5.6e-3f }",
        "EXTRUDERS": "1",
        "Z_ENABLE_ON": "0",
        "USE_PROBE_FOR_Z_HOMING": "",
        "MESH_TEST_HOTEND_TEMP": "210",
        "CR10_STOCKDISPLAY": "",
        "INVERT_X_DIR": "false",
        "GRID_MAX_POINTS_X": "GRID_MAX_POINTS_X_UBL",
        "Z_SAFE_HOMING_POINT_ABSOLUTE": "",
        "HOTEND_OVERSHOOT": "15",
        "G26_MESH_VALIDATION": "",
        "LEVELED_SEGMENT_LENGTH": "5.0",
        "DEFAULT_KEEPALIVE_INTERVAL": "2",
        "WEBSITE_URL": "\"marlin.crc.id.au\"",
        "G26_XY_FEEDRATE": "20",
        "Z_HOME_DIR": "-1",
        "CUSTOM_MACHINE_NAME": "\"Ender-3\"",
        "DEFAULT_bedKp": "10.00",
        "MPC_HEATER_POWER": "{ 40.0f }",
        "Z_SAFE_HOMING_Y_POINT": "Y_CENTER",
        "DEFAULT_MAX_FEEDRATE": "{ 500, 500, 5, 25 }",
        "TEMP_SENSOR_REDUNDANT": "0",
        "TEMP_SENSOR_COOLER": "0",
        "UBL_MESH_EDIT_MOVES_Z": "",
        "Z_PROBE_FEEDRATE_FAST": "(10*60)",
        "BUSY_WHILE_HEATING": "",
        "SERIAL_PORT": "1",
        "TEMP_BED_RESIDENCY_TIME": "10",
        "MPC_BLOCK_HEAT_CAPACITY": "{ 16.7f }",
        "PID_K1": "0.95",
        "PID_EDIT_MENU": "",
        "MPC_SMOOTHING_FACTOR": "0.5f",
        "Y_HOME_DIR": "-1",
        "MPC_AMBIENT_XFER_COEFF_FAN255": "{ 0.097f }",
        "SPEAKER": "",
        "DUMMY_THERMISTOR_999_VALUE": "100",
        "PREVENT_LENGTHY_EXTRUDE": "",
        "TEMP_HYSTERESIS": "3",
        "DEFAULT_AXIS_STEPS_PER_UNIT": "{ 80, 80, 400, 93 }",
        "MAX_CHAMBER_POWER": "255",
        "MPC_TUNING_END_Z": "10.0f",
        "Z_MIN_POS": "0",
        "TEMP_SENSOR_1": "0",
        "TEMP_SENSOR_2": "0",
        "TEMP_SENSOR_3": "0",
        "TEMP_SENSOR_4": "0",
        "TEMP_SENSOR_5": "0",
        "TEMP_SENSOR_6": "0",
        "TEMP_SENSOR_7": "0",
        "X_MAX_POS": "X_BED_SIZE",
        "ENDSTOPPULLUPS": "",
        "PREHEAT_2_LABEL": "\"ABS\"",
        "TEMP_SENSOR_CHAMBER": "0",
        "MESH_EDIT_Z_STEP": "0.025",
        "HOMING_FEEDRATE_MM_M": "{ (20*60), (20*60), (4*60) }",
        "Z_SAFE_HOMING": "",
        "MPC_INCLUDE_FAN": "",
        "EEPROM_BOOT_SILENT": "",
        "Y_ENABLE_ON": "0",
        "X_MIN_ENDSTOP_HIT_STATE": "HIGH",
        "Y_MIN_ENDSTOP_HIT_STATE": "HIGH",
        "Z_CLEARANCE_DEPLOY_PROBE": "10",
        "Z_PROBE_LOW_POINT": "-5",
        "Z_MIN_ENDSTOP_HIT_STATE": "HIGH",
        "Z_DRIVER_TYPE": "TMC2208_STANDALONE",
        "X_HOME_DIR": "-1",
        "MPC_AMBIENT_XFER_COEFF": "{ 0.068f }",
        "MIN_SOFTWARE_ENDSTOP_X": "",
        "MIN_SOFTWARE_ENDSTOP_Y": "",
        "MPC_MIN_AMBIENT_CHANGE": "1.0f",
        "Y_MIN_POS": "0",
        "DEFAULT_MAX_ACCELERATION": "{ 500, 500, 100, 5000 }",
        "PID_MAX": "255",
        "PREHEAT_2_TEMP_BED": "70",
        "CORP_WEBSITE_C": "WEBSITE_URL",
        "CORP_WEBSITE_E": "WEBSITE_URL",
        "HEATER_0_MAXTEMP": "300",
        "ENABLE_LEVELING_AFTER_G28": "",
        "PREHEAT_1_FAN_SPEED": "255",
        "GRID_MAX_POINTS_X_UBL": "5",
        "PREHEAT_2_FAN_SPEED": "255",
        "MESH_TEST_LAYER_HEIGHT": "0.3",
        "BAUDRATE": "115200",
        "PREVENT_COLD_EXTRUSION": "",
        "BED_MINTEMP": "5",
        "MIN_SOFTWARE_ENDSTOPS": "",
        "EEPROM_CHITCHAT": "",
        "DEFAULT_bedKd": "305.4",
        "EXTRUDE_MINTEMP": "170",
        "DEFAULT_EJERK": "5.0",
        "MIN_SOFTWARE_ENDSTOP_Z": "",
        "TEMP_RESIDENCY_TIME": "10",
        "DEFAULT_ACCELERATION": "500",
        "UBL_SAVE_ACTIVE_ON_M500": "",
        "MAX_BED_POWER": "255",
        "BAUDRATE_2": "250000",
        "BAUDRATE_3": "250000",
        "CONFIG_EXAMPLES_DIR": "\"Creality/Ender-3/CrealityV427\"",
        "DETAILED_BUILD_VERSION": "\"bugfix-2.1.x-mfs\"",
        "TEMP_SENSOR_SOC": "0",
        "PREHEAT_1_TEMP_BED": "60",
        "MANUAL_PROBE_START_Z": "0.2",
        "MESH_INSET": "1",
        "Y_BED_SIZE": "220",
        "PID_AUTOTUNE_MENU": "",
        "BED_OVERSHOOT": "10",
        "PREHEAT_2_TEMP_HOTEND": "240",
        "DEFAULT_NOMINAL_FILAMENT_DIA": "1.75",
        "MPCTEMP": "",
        "X_ENABLE_ON": "0",
        "BED_MAXTEMP": "125",
        "INVERT_Z_DIR": "true",
        "Z_MIN_PROBE_ENDSTOP_HIT_STATE": "HIGH"
    },
    "Configuration_adv.h": {
        "PROBE_DEPLOY_STOW_MENU": "",
        "FANMUX2_PIN": "-1",
        "EXTRUDER_AUTO_FAN_TEMPERATURE": "50",
        "FWRETRACT": "",
        "WATCH_CHAMBER_TEMP_INCREASE": "2",
        "CHAMBER_AUTO_FAN_SPEED": "255",
        "MICROSTEP_MODES": "{ 16, 16, 16, 16, 16, 16 }",
        "RETRACT_FEEDRATE": "80",
        "COOLER_AUTO_FAN_SPEED": "255",
        "TEMP_SENSOR_AD8495_GAIN": "1.0",
        "TX_BUFFER_SIZE": "0",
        "DOUBLECLICK_MAX_INTERVAL": "1250",
        "PROBE_OFFSET_WIZARD": "",
        "FANMUX1_PIN": "-1",
        "WATCH_CHAMBER_TEMP_PERIOD": "60",
        "SOUND_ON_DEFAULT": "",
        "THERMAL_PROTECTION_COOLER_HYSTERESIS": "3",
        "EXTRUDER_AUTO_FAN_SPEED": "255",
        "MAX_ARC_SEGMENT_MM": "1.0",
        "CHAMBER_CHECK_INTERVAL": "5000",
        "HOTEND_IDLE_TIMEOUT_SEC": "(5*60)",
        "HOMING_BUMP_MM": "{ 5, 5, 2 }",
        "FANMUX0_PIN": "-1",
        "BABYSTEP_MULTIPLICATOR_Z": "1",
        "SHAPING_MENU": "",
        "RETRACT_RECOVER_FEEDRATE_SWAP": "8",
        "SHAPING_ZETA_X": "0.15f",
        "SHAPING_ZETA_Y": "0.15f",
        "FINE_MANUAL_MOVE": "0.025",
        "HOMING_BUMP_DIVISOR": "{ 4, 4, 4 }",
        "INPUT_SHAPING_X": "",
        "HOTEND_IDLE_MIN_TRIGGER": "180",
        "FAN_KICKSTART_TIME": "100",
        "SD_PROCEDURE_DEPTH": "1",
        "ULTIPANEL_FEEDMULTIPLY": "",
        "STATUS_MESSAGE_SCROLLING": "",
        "DEFAULT_MINIMUMFEEDRATE": "0.0",
        "AUTO_REPORT_TEMPERATURES": "",
        "MENU_HOLLOW_FRAME": "",
        "INPUT_SHAPING_Y": "",
        "RETRACT_LENGTH_SWAP": "13",
        "MINIMUM_PLANNER_SPEED": "0.05",
        "BABYSTEPPING": "",
        "WATCH_COOLER_TEMP_INCREASE": "3",
        "LIN_ADVANCE": "",
        "N_ARC_CORRECTION": "25",
        "REPORT_FAN_CHANGE": "",
        "STATUS_CHAMBER_ANIM": "",
        "CONFIGURATION_EMBEDDING": "",
        "SCROLL_LONG_FILENAMES": "",
        "BOOT_MARLIN_LOGO_SMALL": "",
        "SHAPING_FREQ_X": "40",
        "SHAPING_FREQ_Y": "40",
        "MAX_AUTORETRACT": "99",
        "COOLER_AUTO_FAN_PIN": "-1",
        "SERVICE_WARNING_BUZZES": "3",
        "STATUS_HOTEND_INVERTED": "",
        "SHOW_BOOTSCREEN": "",
        "EXTENDED_CAPABILITIES_REPORT": "",
        "SLOWDOWN_DIVISOR": "2",
        "SHOW_ELAPSED_TIME": "",
        "MANUAL_FEEDRATE": "{ 50*60, 50*60, 4*60, 2*60 }",
        "HOST_PROMPT_SUPPORT": "",
        "PROBE_OFFSET_WIZARD_START_Z": "-4.0",
        "CUSTOM_STATUS_SCREEN_IMAGE": "",
        "BLOCK_BUFFER_SIZE": "16",
        "CHAMBER_AUTO_FAN_PIN": "-1",
        "MULTISTEPPING_LIMIT": "16",
        "ENCODER_RATE_MULTIPLIER": "",
        "SERIAL_OVERRUN_PROTECTION": "",
        "DOUBLECLICK_FOR_Z_BABYSTEPPING": "",
        "MIN_ARC_SEGMENT_MM": "0.1",
        "RETRACT_RECOVER_FEEDRATE": "80",
        "BABYSTEP_MULTIPLICATOR_XY": "16",
        "TEMP_SENSOR_AD8495_OFFSET": "0.0",
        "DEFAULT_VOLUMETRIC_EXTRUDER_LIMIT": "0.00",
        "HOST_ACTION_COMMANDS": "",
        "DISABLE_IDLE_X": "",
        "RETRACT_RECOVER_LENGTH": "0",
        "DISABLE_IDLE_Z": "",
        "BLTOUCH_HS_EXTRA_CLEARANCE": "7",
        "ENCODER_10X_STEPS_PER_SEC": "30",
        "BLTOUCH_HS_MODE": "true",
        "THERMAL_PROTECTION_COOLER_PERIOD": "10",
        "PROPORTIONAL_FONT_RATIO": "1.0",
        "THERMAL_PROTECTION_CHAMBER_HYSTERESIS": "2",
        "RETRACT_ZRAISE": "0.3",
        "THERMAL_PROTECTION_CHAMBER_PERIOD": "20",
        "COOLER_AUTO_FAN_TEMPERATURE": "18",
        "FASTER_GCODE_PARSER": "",
        "MANUAL_E_MOVES_RELATIVE": "",
        "XYZ_HOLLOW_FRAME": "",
        "STATUS_BED_ANIM": "",
        "DEFAULT_MINSEGMENTTIME": "20000",
        "ADVANCE_K": "0.22",
        "BLTOUCH_FORCE_MODE_SET": "",
        "BUFSIZE": "4",
        "SLOWDOWN": "",
        "HOTEND_IDLE_BED_TARGET": "0",
        "PROBE_OFFSET_WIZARD_XY_POS": "{ X_CENTER, Y_CENTER }",
        "ARC_SUPPORT": "",
        "WATCH_COOLER_TEMP_PERIOD": "60",
        "THERMAL_PROTECTION_BED_HYSTERESIS": "2",
        "SD_FINISHED_STEPPERRELEASE": "true",
        "DEFAULT_MINTRAVELFEEDRATE": "0.0",
        "USE_WATCHDOG": "",
        "SD_FINISHED_RELEASECOMMAND": "\"M84\"",
        "DISABLE_IDLE_E": "",
        "DISABLE_IDLE_Y": "",
        "LCD_INFO_MENU": "",
        "TEMP_SENSOR_AD595_OFFSET": "0.0",
        "STEP_STATE_E": "HIGH",
        "STEP_STATE_X": "HIGH",
        "THERMAL_PROTECTION_PERIOD": "40",
        "BOOTSCREEN_TIMEOUT": "3000",
        "WATCH_BED_TEMP_INCREASE": "2",
        "MAX_CMD_SIZE": "96",
        "THERMAL_PROTECTION_HYSTERESIS": "4",
        "THERMOCOUPLE_MAX_ERRORS": "15",
        "CHAMBER_AUTO_FAN_TEMPERATURE": "30",
        "ADVANCED_OK": "",
        "THERMAL_PROTECTION_BED_PERIOD": "20",
        "MIN_STEPS_PER_SEGMENT": "6",
        "SD_MENU_CONFIRM_START": "",
        "BLTOUCH_LCD_VOLTAGE_MENU": "",
        "CONFIGURATION_ADV_H_VERSION": "02010300",
        "BLTOUCH_DELAY": "500",
        "MIN_CIRCLE_SEGMENTS": "72",
        "WATCH_BED_TEMP_PERIOD": "60",
        "SHOW_PROGRESS_PERCENT": "",
        "STATUS_HOTEND_ANIM": "",
        "EVENT_GCODE_SD_ABORT": "\"G28XY\"",
        "AXIS_RELATIVE_MODES": "{ false, false, false, false }",
        "HOTEND_IDLE_TIMEOUT": "",
        "WATCH_TEMP_PERIOD": "40",
        "HOTEND_IDLE_NOZZLE_TARGET": "0",
        "ENCODER_100X_STEPS_PER_SEC": "80",
        "CONFIG_EXAMPLES_DIR": "\"Creality/Ender-3/CrealityV427\"",
        "STEP_STATE_Y": "HIGH",
        "STEP_STATE_Z": "HIGH",
        "QUICK_HOME": "",
        "WATCH_TEMP_INCREASE": "2",
        "RETRACT_LENGTH": "3",
        "SDCARD_RATHERRECENTFIRST": "",
        "RETRACT_RECOVER_LENGTH_SWAP": "0",
        "DEFAULT_STEPPER_TIMEOUT_SEC": "120",
        "TEMP_SENSOR_AD595_GAIN": "1.0",
        "E0_AUTO_FAN_PIN": "-1"
    },
    "VERSION": {
        "DETAILED_BUILD_VERSION": "\"bugfix-2.1.x-mfs\"",
        "STRING_DISTRIBUTION_DATE": "\"2023-05-22\"",
        "GIT_REF": "9ceecefae2"
    }
}