thinkyhead

M115 - Firmware Info

hosts Print the firmware info and capabilities.

Description

This command causes Marlin to output a string like this:

FIRMWARE_NAME:Marlin 2.1.3 (Aug  1 2024 12:00:00) SOURCE_CODE_URL:github.com/MarlinFirmware/Marlin PROTOCOL_VERSION:1.0 MACHINE_TYPE:3D Printer KINEMATICS:Cartesian EXTRUDER_COUNT:1 UUID:cede2a2f-41a2-4748-9b12-c55c62f367ff

When EXTENDED_CAPABILITIES_REPORT is enabled, Marlin also reports its capabilities:

Cap:SERIAL_XON_XOFF:0
Cap:BINARY_FILE_TRANSFER:1
Cap:EEPROM:1
Cap:VOLUMETRIC:1
Cap:AUTOREPORT_POS:0
Cap:AUTOREPORT_TEMP:1
Cap:PROGRESS:0
Cap:PRINT_JOB:1
Cap:AUTOLEVEL:1
Cap:RUNOUT:0
Cap:Z_PROBE:1
Cap:LEVELING_DATA:0
Cap:BUILD_PERCENT:0
Cap:SOFTWARE_POWER:0
Cap:TOGGLE_LIGHTS:0
Cap:CASE_LIGHT_BRIGHTNESS:0
Cap:EMERGENCY_PARSER:1
Cap:HOST_ACTION_COMMANDS:0
Cap:PROMPT_SUPPORT:0
Cap:SDCARD:1
Cap:MULTI_VOLUME:0
Cap:REPEAT:0
Cap:SD_WRITE:1
Cap:AUTOREPORT_SD_STATUS:0
Cap:LONG_FILENAME:0
Cap:LFN_WRITE:0
Cap:CUSTOM_FIRMWARE_UPLOAD:1
Cap:EXTENDED_M20:0
Cap:THERMAL_PROTECTION:1
Cap:MOTION_MODES:0
Cap:ARCS:1
Cap:BABYSTEPPING:0
Cap:EP_BABYSTEP:0
Cap:CHAMBER_TEMPERATURE:0
Cap:COOLER_TEMPERATURE:0
Cap:MEATPACK:0
Cap:CONFIG_EXPORT:0

Hosts use this information to improve interoperability, so it’s a good feature to enable.

With EXTENDED_CAPABILITIES_REPORT and M115_GEOMETRY_REPORT enabled, Marlin will also report detailed printer geometry:

area:{full:{min:{x:0,y:0,z:0,i:0,j:0,k:0,u:0,v:0,w:0},max:{x:200,y:200,z:200,i:0,j:0,k:0,u:0,v:0,w:0}},work:{min:{x:0,y:0,z:0,i:0,j:0,k:0},max:{x:200,y:200,z:200,i:0,j:0,k:0,u:0,v:0,w:0}}}

Coordinates are only reported for declared linear axes. So for a classic cartesian printer, the geometry report will look like:

area:{full:{min:{x:0,y:0,z:0},max:{x:200,y:200,z:200}},work:{min:{x:0,y:0,z:0},max:{x:200,y:200,z:200}}}

Usage

M115