Marlin is a firmware for RepRap 3D printers optimized for both 8 and 32 bit microcontrollers. Marlin supports all common platforms. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
This report presents the forensic synthetic code analysis of MarlinFirmware/Marlin, a C++ project with 17,474 GitHub stars. SynthScan v2.0 examined 646,811 lines of code across 3153 source files, recording 8499 pattern matches distributed across 16 syntactic categories. The overall adjusted score of 12.2 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 8499 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Marlin/Version.h | 81 | //#define USB_DEVICE_VENDOR_ID 0x0000 | COMMENT |
| LOW | Marlin/Configuration.h | 121 | //#define RS485_SERIAL_PORT 1 | COMMENT |
| LOW | Marlin/Configuration.h | 161 | //#define Z3_DRIVER_TYPE A4988 | COMMENT |
| LOW | Marlin/Configuration.h | 201 | #define AXIS5_ROTATES | COMMENT |
| LOW | Marlin/Configuration.h | 221 | COMMENT | |
| LOW | Marlin/Configuration.h | 241 | #if ENABLED(SWITCHING_EXTRUDER) | COMMENT |
| LOW | Marlin/Configuration.h | 281 | * https://youtu.be/Bqbcs0CU2FE | COMMENT |
| LOW | Marlin/Configuration.h | 341 | * Supports more than 2 Toolheads. See https://youtu.be/JolbsAKTKf4 | COMMENT |
| LOW | Marlin/Configuration.h | 361 | #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400 // (mm/min) Extruder retract feedrate | COMMENT |
| LOW | Marlin/Configuration.h | 381 | //#define GRADIENT_MIX // Support for gradient mixing with M166 and LCD | COMMENT |
| LOW | Marlin/Configuration.h | 421 | */ | COMMENT |
| LOW | Marlin/Configuration.h | 441 | //#define PS_ON1_EDM_PIN 9 | COMMENT |
| LOW | Marlin/Configuration.h | 581 | * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. | COMMENT |
| LOW | Marlin/Configuration.h | 601 | #define DUMMY_THERMISTOR_998_VALUE 25 | COMMENT |
| LOW | Marlin/Configuration.h | 621 | COMMENT | |
| LOW | Marlin/Configuration.h | 661 | #define HEATER_1_MINTEMP 5 | COMMENT |
| LOW | Marlin/Configuration.h | 721 | #if ENABLED(PID_PARAMS_PER_HOTEND) | COMMENT |
| LOW | Marlin/Configuration.h | 741 | * and PID_FAN_SCALING. Enable MPC_AUTOTUNE and use M306 T to autotune the model. | COMMENT |
| LOW | Marlin/Configuration.h | 761 | COMMENT | |
| LOW | Marlin/Configuration.h | 781 | // 0.00522 J/K/mm for 1.75mm Nylon (0.0138 J/K/mm for 2.85mm Nylon | COMMENT |
| LOW | Marlin/Configuration.h | 821 | #if ENABLED(PIDTEMPBED) | COMMENT |
| LOW | Marlin/Configuration.h | 901 | */ | COMMENT |
| LOW | Marlin/Configuration.h | 961 | * the heater on. | COMMENT |
| LOW | Marlin/Configuration.h | 981 | //#define COREXZ | COMMENT |
| LOW | Marlin/Configuration.h | 1001 | //#define ARTICULATED_ROBOT_ARM | COMMENT |
| LOW | Marlin/Configuration.h | 1021 | /** | COMMENT |
| LOW | Marlin/Configuration.h | 1041 | //#define DELTA_AUTO_CALIBRATION | COMMENT |
| LOW | Marlin/Configuration.h | 1061 | COMMENT | |
| LOW | Marlin/Configuration.h | 1101 | #define SCARA_LINKAGE_1 135 // (mm) | COMMENT |
| LOW | Marlin/Configuration.h | 1121 | COMMENT | |
| LOW | Marlin/Configuration.h | 1141 | #define TPARA_LINKAGE_1 120 // (mm) | COMMENT |
| LOW | Marlin/Configuration.h | 1161 | // the plane of measured offset must be alligned with home position plane | COMMENT |
| LOW | Marlin/Configuration.h | 1221 | COMMENT | |
| LOW | Marlin/Configuration.h | 1241 | //#define ENDSTOPPULLUP_ZMIN | COMMENT |
| LOW | Marlin/Configuration.h | 1261 | //#define ENDSTOPPULLDOWNS | COMMENT |
| LOW | Marlin/Configuration.h | 1281 | //#define ENDSTOPPULLDOWN_WMAX | COMMENT |
| LOW | Marlin/Configuration.h | 1401 | * Override with M205 X Y Z . . . E | COMMENT |
| LOW | Marlin/Configuration.h | 1581 | * | COMMENT |
| LOW | Marlin/Configuration.h | 1621 | #ifdef MAG_MOUNTED_PROBE_SERVO_NR | COMMENT |
| LOW | Marlin/Configuration.h | 1661 | // if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe. | COMMENT |
| LOW | Marlin/Configuration.h | 1721 | * T | 3 | H <-- Example "3" (right+, front-) | COMMENT |
| LOW | Marlin/Configuration.h | 1741 | // Leave undefined to use the average of the current XY homing feedrate. | COMMENT |
| LOW | Marlin/Configuration.h | 1761 | /** | COMMENT |
| LOW | Marlin/Configuration.h | 1821 | // For M851 provide ranges for adjusting the X, Y, and Z probe offsets | COMMENT |
| LOW | Marlin/Configuration.h | 1841 | * noise. A delay can also be added to allow noise and vibration to settle. | COMMENT |
| LOW | Marlin/Configuration.h | 1861 | COMMENT | |
| LOW | Marlin/Configuration.h | 1881 | //#define DISABLE_Z | COMMENT |
| LOW | Marlin/Configuration.h | 1901 | //#define INVERT_J_DIR false | COMMENT |
| LOW | Marlin/Configuration.h | 1941 | #define Z_HOME_DIR -1 | COMMENT |
| LOW | Marlin/Configuration.h | 1961 | //#define V_SAFETY_STOP | COMMENT |
| LOW | Marlin/Configuration.h | 2001 | #if ENABLED(MIN_SOFTWARE_ENDSTOPS) | COMMENT |
| LOW | Marlin/Configuration.h | 2041 | * 3. The heaters were turned on and PRINTJOB_TIMER_AUTOSTART is enabled. | COMMENT |
| LOW | Marlin/Configuration.h | 2061 | COMMENT | |
| LOW | Marlin/Configuration.h | 2081 | COMMENT | |
| LOW | Marlin/Configuration.h | 2101 | // Enable this option to use an encoder disc that toggles the runout pin | COMMENT |
| LOW | Marlin/Configuration.h | 2121 | //#define FIL_MOTION2_PULLUP | COMMENT |
| LOW | Marlin/Configuration.h | 2141 | //#define FIL_MOTION7_PULLUP | COMMENT |
| LOW | Marlin/Configuration.h | 2261 | #define MESH_TEST_NOZZLE_SIZE 0.4 // (mm) Diameter of primary nozzle. | COMMENT |
| LOW | Marlin/Configuration.h | 2281 | #if ENABLED(AUTO_BED_LEVELING_BILINEAR) | COMMENT |
| LOW | Marlin/Configuration.h | 2301 | //=========================================================================== | COMMENT |
| 8224 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Marlin/src/HAL/LPC1768/upload_extra_script.py | 27 | CODE | |
| LOW | …xtui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/img2cpp.py | 57 | CODE | |
| LOW | …xtui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/svg2cpp.py | 187 | CODE | |
| LOW | …xtui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/svg2cpp.py | 220 | CODE | |
| LOW | buildroot/bin/parallel-fix_host_menu_configs.py | 115 | CODE | |
| LOW | buildroot/bin/config.py | 102 | CODE | |
| LOW | buildroot/bin/parallel-fix_host_action_configs.py | 102 | CODE | |
| LOW | buildroot/bin/parallel-build_and_log.py | 123 | CODE | |
| LOW | buildroot/share/PlatformIO/scripts/marlin.py | 44 | CODE | |
| LOW | buildroot/share/PlatformIO/scripts/configuration.py | 18 | CODE | |
| LOW | buildroot/share/PlatformIO/scripts/configuration.py | 104 | CODE | |
| LOW | buildroot/share/PlatformIO/scripts/configuration.py | 205 | CODE | |
| LOW | buildroot/share/PlatformIO/scripts/preflight-checks.py | 12 | CODE | |
| LOW | buildroot/share/PlatformIO/scripts/preflight-checks.py | 39 | CODE | |
| LOW | buildroot/share/PlatformIO/scripts/preflight-checks.py | 52 | CODE | |
| LOW | buildroot/share/PlatformIO/scripts/config.py | 102 | CODE | |
| LOW | buildroot/share/PlatformIO/scripts/preprocessor.py | 61 | CODE | |
| LOW | …ldroot/share/PlatformIO/scripts/common-dependencies.py | 48 | CODE | |
| LOW | …ldroot/share/PlatformIO/scripts/common-dependencies.py | 131 | CODE | |
| LOW | …ldroot/share/PlatformIO/scripts/common-dependencies.py | 286 | CODE | |
| LOW | buildroot/share/PlatformIO/scripts/mc-apply.py | 61 | CODE | |
| LOW | buildroot/share/PlatformIO/scripts/mc-apply.py | 113 | CODE | |
| LOW | buildroot/share/PlatformIO/scripts/mc-apply.py | 139 | CODE | |
| LOW | …/PlatformIO/scripts/jgaurora_a5s_a1_with_bootloader.py | 9 | CODE | |
| LOW | buildroot/share/PlatformIO/scripts/signature.py | 89 | CODE | |
| LOW | buildroot/share/PlatformIO/scripts/schema.py | 67 | CODE | |
| LOW | buildroot/share/PlatformIO/scripts/schema.py | 87 | CODE | |
| LOW | buildroot/share/PlatformIO/scripts/schema.py | 121 | CODE | |
| LOW | buildroot/share/PlatformIO/scripts/schema.py | 484 | CODE | |
| LOW | buildroot/share/make/validate_boards.py | 27 | CODE | |
| LOW | buildroot/share/make/find.py | 7 | CODE | |
| LOW | buildroot/share/scripts/pinsformat.py | 47 | CODE | |
| LOW | buildroot/share/scripts/pinsformat.py | 113 | CODE | |
| LOW | buildroot/share/scripts/upload.py | 10 | CODE | |
| LOW | buildroot/share/scripts/image_to_tft.py | 28 | CODE | |
| LOW | buildroot/share/scripts/visualize_memory_map.py | 53 | CODE | |
| LOW | buildroot/share/scripts/visualize_memory_map.py | 158 | CODE | |
| LOW | buildroot/share/scripts/visualize_memory_map.py | 401 | CODE | |
| LOW | buildroot/share/scripts/visualize_memory_map.py | 414 | CODE | |
| LOW | buildroot/share/scripts/visualize_memory_map.py | 608 | CODE | |
| LOW | …ildroot/share/scripts/createTemperatureLookupMarlin.py | 87 | CODE | |
| LOW | buildroot/share/scripts/languageExport.py | 19 | CODE | |
| LOW | buildroot/share/scripts/linesformat.py | 16 | CODE | |
| LOW | buildroot/share/scripts/MarlinBinaryProtocol.py | 343 | CODE | |
| LOW | buildroot/share/scripts/g29_auto.py | 59 | CODE | |
| LOW | buildroot/share/scripts/rle_compress_bitmap.py | 11 | CODE | |
| LOW | buildroot/share/scripts/rle_compress_bitmap.py | 69 | CODE | |
| LOW | buildroot/share/scripts/rle_compress_bitmap.py | 73 | CODE | |
| LOW | buildroot/share/fonts/buildhzk.py | 31 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | buildroot/bin/parallel-fix_host_menu_configs.py | 0 | run build_all_examples. returns (returncode, combined_output). | STRING |
| HIGH | buildroot/bin/parallel-fix_host_action_configs.py | 0 | run build_all_examples. returns (returncode, combined_output). | STRING |
| HIGH | buildroot/bin/parallel-build_and_log.py | 0 | run build_all_examples. returns (returncode, combined_output). | STRING |
| HIGH | buildroot/bin/parallel-fix_host_menu_configs.py | 0 | extract failing config directory from stat file or build output. | STRING |
| HIGH | buildroot/bin/parallel-fix_host_action_configs.py | 0 | extract failing config directory from stat file or build output. | STRING |
| HIGH | buildroot/bin/parallel-build_and_log.py | 0 | extract failing config directory from stat file or build output. | STRING |
| HIGH | buildroot/bin/parallel-fix_host_menu_configs.py | 0 | stash any uncommitted changes. returns true if we stashed. | STRING |
| HIGH | buildroot/bin/parallel-fix_host_action_configs.py | 0 | stash any uncommitted changes. returns true if we stashed. | STRING |
| HIGH | buildroot/bin/parallel-build_and_log.py | 0 | stash any uncommitted changes. returns true if we stashed. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ini/native.ini | 100 | #================================================================================== | COMMENT |
| MEDIUM | buildroot/bin/parallel-fix_host_menu_configs.py | 21 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | buildroot/bin/parallel-fix_host_menu_configs.py | 24 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | buildroot/bin/parallel-fix_host_action_configs.py | 22 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | buildroot/bin/parallel-fix_host_action_configs.py | 25 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | buildroot/bin/parallel-build_and_log.py | 31 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | buildroot/bin/parallel-build_and_log.py | 33 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | buildroot/bin/parallel_build.py | 38 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | buildroot/bin/parallel_build.py | 40 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | buildroot/share/dwin/bin/DWIN_ICO.py | 18 | #---------------------------------------------------------------- | COMMENT |
| MEDIUM | buildroot/share/dwin/bin/splitIco.py | 19 | #---------------------------------------------------------------- | COMMENT |
| MEDIUM | buildroot/share/dwin/bin/splitIco.py | 25 | #---------------- | COMMENT |
| MEDIUM | buildroot/share/dwin/bin/makeIco.py | 19 | #---------------------------------------------------------------- | COMMENT |
| MEDIUM | buildroot/share/dwin/bin/makeIco.py | 25 | #---------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Marlin/src/HAL/LPC1768/upload_extra_script.py | 58 | except Exception as e: | CODE |
| LOW | Marlin/src/HAL/LPC1768/upload_extra_script.py | 68 | except Exception as e: | CODE |
| LOW | Marlin/src/HAL/LPC1768/upload_extra_script.py | 139 | except Exception as e: | CODE |
| MEDIUM | Marlin/src/HAL/LPC1768/upload_extra_script.py | 27 | def before_upload(source, target, env): | CODE |
| MEDIUM | …xtui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/svg2cpp.py | 304 | print("Error popping tag off list") | CODE |
| LOW | buildroot/bin/parallel_build.py | 51 | except Exception: | CODE |
| LOW | buildroot/share/dwin/bin/DWIN_ICO.py | 151 | except Exception as e: | CODE |
| LOW | buildroot/share/dwin/bin/splitIco.py | 48 | except Exception as e: | CODE |
| MEDIUM | buildroot/share/dwin/bin/splitIco.py | 49 | print('Error: ', e) | CODE |
| LOW | buildroot/share/dwin/bin/makeIco.py | 48 | except Exception as e: | CODE |
| MEDIUM | buildroot/share/dwin/bin/makeIco.py | 49 | print('Error: ', e) | CODE |
| LOW | buildroot/share/PlatformIO/scripts/offset_and_rename.py | 36 | except Exception: | CODE |
| LOW | buildroot/share/PlatformIO/scripts/offset_and_rename.py | 46 | except Exception: | CODE |
| LOW | buildroot/share/PlatformIO/scripts/signature.py | 209 | except Exception as exc: | CODE |
| LOW | buildroot/share/PlatformIO/scripts/schema.py | 487 | except Exception as exc: | CODE |
| MEDIUM | buildroot/share/PlatformIO/scripts/schema.py | 488 | print("Error: " + str(exc)) | CODE |
| MEDIUM | buildroot/share/PlatformIO/scripts/schema.py | 484 | def main(): | CODE |
| LOW | buildroot/share/scripts/upload.py | 332 | except Exception as ex: | CODE |
| LOW | buildroot/share/scripts/visualize_memory_map.py | 79 | except Exception as e: | CODE |
| MEDIUM | buildroot/share/scripts/visualize_memory_map.py | 169 | print(f"Error: nm tool not found: {nm_tool}", file=sys.stderr) | CODE |
| MEDIUM | buildroot/share/scripts/visualize_memory_map.py | 207 | print(f"Error running {nm_tool} for special symbols: {e}", file=sys.stderr) | CODE |
| MEDIUM | buildroot/share/scripts/visualize_memory_map.py | 289 | print(f"Error running nm: {e}", file=sys.stderr) | CODE |
| MEDIUM | buildroot/share/scripts/visualize_memory_map.py | 1518 | print(f"Error: ELF file not found: {args.elf_file}") | STRING |
| MEDIUM | buildroot/share/scripts/languageExport.py | 268 | print(f"Error: Couldn't find the '{LANGHOME}' directory.") | CODE |
| MEDIUM | buildroot/share/scripts/languageImport.py | 44 | print("Error: couldn't read CSV data from %s" % FILEPATH) | CODE |
| MEDIUM | buildroot/share/scripts/languageImport.py | 66 | print('Error: first column should be "name"') | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Marlin/src/core/serial.h | 52 | // Step 1: Find out what the first serial leaf is | COMMENT |
| LOW | Marlin/src/core/serial.h | 68 | // Step 2: For multiserial wrap all serial ports in a single | COMMENT |
| LOW | Marlin/src/core/serial.cpp | 57 | // Step 2: For multiserial, handle the second serial port as well | COMMENT |
| LOW⚡ | Marlin/src/module/ft_motion/constant_jolt_planner.cpp | 168 | // Step 1: Standard 7-phase S-curve. | COMMENT |
| LOW⚡ | Marlin/src/module/ft_motion/constant_jolt_planner.cpp | 177 | // Step 2: Partial absorption + decel (a_entry != 0). | COMMENT |
| LOW⚡ | Marlin/src/module/ft_motion/constant_jolt_planner.cpp | 185 | // Step 3: [-j, +j] decel targeting safe exit speed. | COMMENT |
| LOW | Marlin/src/lcd/menu/menu_probe_level.cpp | 94 | // Step 7: Get the Z coordinate, click goes to the next point or exits | COMMENT |
| LOW | Marlin/src/lcd/menu/menu_probe_level.cpp | 143 | // Step 6: Display "Next point: 1 / 9" while waiting for move to finish | COMMENT |
| LOW | Marlin/src/lcd/menu/menu_probe_level.cpp | 156 | // Step 5: Initiate a move to the next point | COMMENT |
| LOW | Marlin/src/lcd/menu/menu_probe_level.cpp | 171 | // Step 4: Display "Click to Begin", wait for click | COMMENT |
| LOW | Marlin/src/lcd/menu/menu_probe_level.cpp | 189 | // Step 3: Display "Homing XYZ" - Wait for homing to finish | COMMENT |
| LOW | Marlin/src/lcd/menu/menu_probe_level.cpp | 201 | // Step 2: Continue Bed Leveling... | COMMENT |
| LOW | Marlin/src/lcd/menu/menu_x_twist.cpp | 49 | // Step 9: X Axis Twist Compensation Wizard is finished. | COMMENT |
| LOW | Marlin/src/lcd/menu/menu_x_twist.cpp | 66 | // Step 8: Ask the user if he wants to update the z-offset of the probe | COMMENT |
| LOW⚡ | Marlin/src/lcd/menu/menu_x_twist.cpp | 82 | // Step 7: Set the Z-offset for this point and go to the next one. | COMMENT |
| LOW⚡ | Marlin/src/lcd/menu/menu_x_twist.cpp | 92 | // Step 6: Wizard Menu. Move the nozzle down until it touches the bed. | COMMENT |
| LOW | Marlin/src/lcd/menu/menu_x_twist.cpp | 116 | // Step 5: Display "Next point: 1 / 9" while waiting for move to finish | COMMENT |
| LOW | Marlin/src/lcd/menu/menu_x_twist.cpp | 129 | // Step 4: Initiate a move to the next point | COMMENT |
| LOW | Marlin/src/lcd/menu/menu_x_twist.cpp | 170 | // Step 3: Display "Click to Begin", wait for click | COMMENT |
| LOW⚡ | Marlin/src/lcd/menu/menu_x_twist.cpp | 193 | // Step 2: Display "Homing XYZ" - Wait for homing to finish | COMMENT |
| LOW⚡ | Marlin/src/lcd/menu/menu_x_twist.cpp | 202 | // Step 1: Prepare for the wizard... | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Marlin/src/core/serial.h | 52 | // Step 1: Find out what the first serial leaf is | COMMENT |
| LOW | Marlin/src/core/serial.h | 68 | // Step 2: For multiserial wrap all serial ports in a single | COMMENT |
| LOW | Marlin/src/core/serial.cpp | 57 | // Step 2: For multiserial, handle the second serial port as well | COMMENT |
| LOW | Marlin/src/HAL/DUE/usb/sd_mmc_spi_mem.cpp | 38 | // NOTE: This function is defined as returning the address of the last block | COMMENT |
| LOW⚡ | Marlin/src/module/ft_motion/constant_jolt_planner.cpp | 168 | // Step 1: Standard 7-phase S-curve. | COMMENT |
| LOW⚡ | Marlin/src/module/ft_motion/constant_jolt_planner.cpp | 177 | // Step 2: Partial absorption + decel (a_entry != 0). | COMMENT |
| LOW | Marlin/src/lcd/menu/menu_probe_level.cpp | 94 | // Step 7: Get the Z coordinate, click goes to the next point or exits | COMMENT |
| LOW | Marlin/src/lcd/menu/menu_probe_level.cpp | 143 | // Step 6: Display "Next point: 1 / 9" while waiting for move to finish | COMMENT |
| LOW | Marlin/src/lcd/menu/menu_probe_level.cpp | 156 | // Step 5: Initiate a move to the next point | COMMENT |
| LOW | Marlin/src/lcd/menu/menu_probe_level.cpp | 171 | // Step 4: Display "Click to Begin", wait for click | COMMENT |
| LOW | Marlin/src/lcd/menu/menu_probe_level.cpp | 189 | // Step 3: Display "Homing XYZ" - Wait for homing to finish | COMMENT |
| LOW | Marlin/src/lcd/menu/menu_probe_level.cpp | 201 | // Step 2: Continue Bed Leveling... | COMMENT |
| LOW | Marlin/src/lcd/menu/menu_x_twist.cpp | 49 | // Step 9: X Axis Twist Compensation Wizard is finished. | COMMENT |
| LOW | Marlin/src/lcd/menu/menu_x_twist.cpp | 66 | // Step 8: Ask the user if he wants to update the z-offset of the probe | COMMENT |
| LOW⚡ | Marlin/src/lcd/menu/menu_x_twist.cpp | 82 | // Step 7: Set the Z-offset for this point and go to the next one. | COMMENT |
| LOW⚡ | Marlin/src/lcd/menu/menu_x_twist.cpp | 92 | // Step 6: Wizard Menu. Move the nozzle down until it touches the bed. | COMMENT |
| LOW | Marlin/src/lcd/menu/menu_x_twist.cpp | 116 | // Step 5: Display "Next point: 1 / 9" while waiting for move to finish | COMMENT |
| LOW | Marlin/src/lcd/menu/menu_x_twist.cpp | 129 | // Step 4: Initiate a move to the next point | COMMENT |
| LOW | Marlin/src/lcd/menu/menu_x_twist.cpp | 170 | // Step 3: Display "Click to Begin", wait for click | COMMENT |
| LOW⚡ | Marlin/src/lcd/menu/menu_x_twist.cpp | 193 | // Step 2: Display "Homing XYZ" - Wait for homing to finish | COMMENT |
| LOW⚡ | Marlin/src/lcd/menu/menu_x_twist.cpp | 202 | // Step 1: Prepare for the wizard... | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Marlin/src/HAL/LPC1768/upload_extra_script.py | 7 | CODE | |
| LOW | …tui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/file2cpp.py | 18 | CODE | |
| LOW | …xtui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/img2cpp.py | 18 | CODE | |
| LOW | …tui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/font2cpp.py | 18 | CODE | |
| LOW | …xtui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/svg2cpp.py | 19 | CODE | |
| LOW | buildroot/bin/parallel-build_and_log.py | 29 | CODE | |
| LOW | …oot/share/PlatformIO/scripts/fix_framework_weakness.py | 9 | CODE | |
| LOW | …ildroot/share/PlatformIO/scripts/tronxy_cxy_446_v10.py | 8 | CODE | |
| LOW | buildroot/share/PlatformIO/scripts/preprocessor.py | 64 | CODE | |
| LOW | …ldroot/share/PlatformIO/scripts/STM32F1_build_flags.py | 6 | CODE | |
| LOW | …oot/share/PlatformIO/scripts/generic_create_variant.py | 12 | CODE | |
| LOW | …oot/share/PlatformIO/scripts/generic_create_variant.py | 12 | CODE | |
| LOW | …oot/share/PlatformIO/scripts/SAMD51_grandcentral_m4.py | 7 | CODE | |
| LOW | …oot/share/PlatformIO/scripts/SAMD51_grandcentral_m4.py | 7 | CODE | |
| LOW | …oot/share/PlatformIO/scripts/SAMD51_grandcentral_m4.py | 8 | CODE | |
| LOW | …droot/share/PlatformIO/scripts/SAMD21_minitronics20.py | 7 | CODE | |
| LOW | …droot/share/PlatformIO/scripts/SAMD21_minitronics20.py | 7 | CODE | |
| LOW | …droot/share/PlatformIO/scripts/SAMD21_minitronics20.py | 8 | CODE | |
| LOW | buildroot/share/PlatformIO/scripts/signature.py | 444 | CODE | |
| LOW | buildroot/share/PlatformIO/scripts/signature.py | 450 | CODE | |
| LOW | buildroot/share/scripts/upload.py | 1 | CODE | |
| LOW | buildroot/share/scripts/upload.py | 184 | CODE | |
| LOW | buildroot/share/scripts/upload.py | 190 | CODE | |
| LOW | …ildroot/share/scripts/rle16_compress_cpp_image_data.py | 8 | CODE | |
| LOW | …ildroot/share/scripts/createTemperatureLookupMarlin.py | 21 | CODE | |
| LOW | …ildroot/share/scripts/createTemperatureLookupMarlin.py | 21 | CODE | |
| LOW | …ildroot/share/scripts/createTemperatureLookupMarlin.py | 23 | CODE | |
| LOW | buildroot/share/scripts/languageExport.py | 13 | CODE | |
| LOW | buildroot/share/scripts/languageExport.py | 14 | CODE | |
| LOW | buildroot/share/scripts/MarlinBinaryProtocol.py | 5 | CODE | |
| LOW | buildroot/share/scripts/createSpeedLookupTable.py | 3 | CODE | |
| LOW | buildroot/share/scripts/createSpeedLookupTable.py | 3 | CODE | |
| LOW | buildroot/share/scripts/g29_auto.py | 8 | CODE | |
| LOW | buildroot/share/scripts/languageImport.py | 20 | CODE | |
| LOW | buildroot/share/scripts/rle_compress_bitmap.py | 9 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | Marlin/src/HAL/AVR/registers.h | 121 | // and code be rewritten to use the following more robust definitions. | COMMENT |
| MEDIUM | Marlin/src/feature/bedlevel/abl/bbl.cpp | 84 | // Median is robust (ignores outliers). | COMMENT |
| MEDIUM | Marlin/src/feature/mmu3/mmu3.cpp | 433 | // Failed autoretry, report an error by forcing a "printer" error into the MMU infrastructure - it is a hack to le | COMMENT |
| MEDIUM | Marlin/src/gcode/calibrate/G28.cpp | 546 | // print, and do_move_after_z_homing is not very nuanced. | COMMENT |
| MEDIUM | buildroot/share/uncrustify/uncrustify.cfg | 3534 | # Whether to apply special formatting for Qt SIGNAL/SLOT macros. Essentially, | COMMENT |
| MEDIUM | …PlatformIO/variants/MARLIN_FLY_CDY_V3/PeripheralPins.c | 108 | // Some pins can perform PWM from more than one timer. These were selected to utilize as many channels as | COMMENT |
| MEDIUM | …atformIO/variants/MARLIN_MKS_SKIPR_V1/PeripheralPins.c | 67 | // Some pins can perform PWM from more than one timer. These were selected to utilize as many channels as | COMMENT |
| MEDIUM | …are/PlatformIO/variants/MARLIN_F4x7Vx/PeripheralPins.c | 108 | // Some pins can perform PWM from more than one timer. These were selected to utilize as many channels as | COMMENT |
| MEDIUM | …are/PlatformIO/variants/MARLIN_FLY_D8/PeripheralPins.c | 108 | // Some pins can perform PWM from more than one timer. These were selected to utilize as many channels as | COMMENT |
| MEDIUM | …PlatformIO/variants/MARLIN_BTT_GTR_V1/PeripheralPins.c | 127 | // Some pins can perform PWM from more than one timer. These were selected to utilize as many channels as | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | buildroot/bin/parallel_build.py | 181 | # Create a new window and send the command | COMMENT |
| MEDIUM | buildroot/share/PlatformIO/scripts/configuration.py | 105 | # Create a regex to match the option and capture parts of the line | COMMENT |
| MEDIUM | buildroot/share/PlatformIO/scripts/schema.py | 151 | conditions = [] # Create a condition stack for the current file | CODE |
| MEDIUM | buildroot/share/PlatformIO/scripts/schema.py | 365 | # Create a new dictionary for the current #define | COMMENT |
| MEDIUM | buildroot/share/scripts/g29_auto.py | 3 | # This file is for preprocessing G-code and the new G29 Auto bed leveling from Marlin | COMMENT |
| MEDIUM | buildroot/share/scripts/languageImport.py | 85 | # Create a folder for the imported language outfiles | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Marlin/src/HAL/LPC1768/upload_extra_script.py | 131 | # Set upload_port to drive if found | COMMENT |
| LOW | buildroot/share/PlatformIO/scripts/signature.py | 112 | # Check if we can skip processing | COMMENT |
| LOW | buildroot/share/make/validate_boards.py | 42 | # Open the file | COMMENT |
| LOW | buildroot/share/scripts/visualize_memory_map.py | 434 | # Check if this is RAM or Flash by looking at items' original addresses | COMMENT |
| LOW | buildroot/share/scripts/visualize_memory_map.py | 478 | # Check if heap_start is within our RAM range | COMMENT |
| LOW | buildroot/share/scripts/visualize_memory_map.py | 545 | # Check if next byte is different (need delimiter) | COMMENT |
| LOW | buildroot/share/scripts/visualize_memory_map.py | 571 | # Check if next byte is different (need delimiter) | COMMENT |
| LOW | buildroot/share/scripts/visualize_memory_map.py | 635 | # Check if one is substring of the other | STRING |
| LOW | buildroot/share/scripts/languageExport.py | 45 | # Open the file | COMMENT |
| LOW | buildroot/share/scripts/languageExport.py | 98 | # Close the file | COMMENT |
| LOW | buildroot/share/scripts/g29_auto.py | 192 | # Check if G29 already exists | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | …xtui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/svg2cpp.py | 140 | self.push(0xFFFF) | STRING |
| HIGH⚡ | …xtui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/svg2cpp.py | 142 | self.push(x * 0xFFFE) | STRING |
| HIGH⚡ | …xtui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/svg2cpp.py | 143 | self.push(y * 0xFFFE) | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | buildroot/web-ui/data/www/jquery-3.5.1.slim.min.js | 2 | !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):f | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Marlin/src/pins/mega/pins_GT2560_REV_A.h | 104 | // Don't forget to enable POWER_MONITOR_VOLTAGE in Configuration_adv.h | COMMENT |
| LOW | Marlin/src/inc/Warnings.cpp | 704 | #warning "Don't forget to update your TFT settings in Configuration.h." | COMMENT |
| LOW | Marlin/src/module/stepper.cpp | 1931 | // Don't forget to finally reenable interrupts on non-AVR. | COMMENT |
| LOW | .github/ISSUE_TEMPLATE/bug_report.yml | 55 | When pasting formatted text don't forget to put ` ``` ` (on its own line) before and after to make it readable. | CODE |
| LOW | .github/ISSUE_TEMPLATE/bug_report.yml | 165 | label: Don't forget to include | CODE |
| LOW | .github/ISSUE_TEMPLATE/bug_report.yml | 184 | When pasting formatted text don't forget to put ` ``` ` (on its own line) before and after to make it readable. | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …xtui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/svg2cpp.py | 187 | def process_svg_path_data_cmd(self, id, cmd, a, b): | STRING |
| LOW | buildroot/share/scripts/visualize_memory_map.py | 414 | def generate_memory_blocks_html(items, module_colors, zoom_level=1, total_memory_size=None, special_symbols=None, arch=' | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ildroot/share/scripts/createTemperatureLookupMarlin.py | 63 | CODE |