Skip to content

Adding Snapmaker U1 documentation#8

Open
jimmyjon711 wants to merge 3 commits into
DEVfrom
snapmaker_doc
Open

Adding Snapmaker U1 documentation#8
jimmyjon711 wants to merge 3 commits into
DEVfrom
snapmaker_doc

Conversation

@jimmyjon711

@jimmyjon711 jimmyjon711 commented Jun 17, 2026

Copy link
Copy Markdown
Member

Initial add for Snapmaker U1 documentation

Move some things around to be in the include directory so some text can be easily added to multiple pages without copying and pasting the same text. This will also make it easier to update in one place instead of many places.

Summary by CodeRabbit

  • New Features

    • Documented new AFC configuration options: force_assign_map, park_pre_load, and park_pre_load_cmd.
    • Updated the default unload attempt count (tool_max_unload_attempts) to 4, with unit/lane override guidance.
  • Documentation

    • Added/expanded Snapmaker U1 setup content (firmware flashing, add-on enablement, slicer configuration, updates workflow, and compatibility notes).
    • Added U1-specific hardware configuration and prerequisites, plus buffer ram sensor behavior updates.
  • Style

    • Fixed the Apex Mk2 font file path in site styling.

@jimmyjon711 jimmyjon711 requested a review from ejsears June 17, 2026 02:17
@coderabbitai

coderabbitai Bot commented Jun 17, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@jimmyjon711, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 56 minutes and 35 seconds. Learn how PR review limits work.

To continue reviewing without waiting, enable usage-based billing in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: b3d8f08b-b8a0-408d-b1b3-7027e9ef0fe1

📥 Commits

Reviewing files that changed from the base of the PR and between fcca649 and c3735ad.

⛔ Files ignored due to path filters (9)
  • docs/assets/images/can1_bus_config.png is excluded by !**/*.png
  • docs/assets/images/u1/afc_u1_enable.png is excluded by !**/*.png
  • docs/assets/images/u1/afc_u1_enabled.png is excluded by !**/*.png
  • docs/assets/images/u1/afc_u1_pressure_advance.png is excluded by !**/*.png
  • docs/assets/images/u1/afc_u1_select_file.png is excluded by !**/*.png
  • docs/assets/images/u1/afc_u1_update_file.png is excluded by !**/*.png
  • docs/assets/images/u1/afc_u1_update_success.png is excluded by !**/*.png
  • docs/assets/images/u1/afc_u1_upload_and_upgrade.png is excluded by !**/*.png
  • docs/assets/images/u1/setting_pa.png is excluded by !**/*.png
📒 Files selected for processing (17)
  • docs/configuration/AFC.cfg.md
  • docs/configuration/AFC_Hardware.cfg.md
  • docs/configuration/AFC_UnitType_1.cfg.md
  • docs/initial-startup/01-overview.md
  • docs/initial-startup/02-flashing.md
  • docs/initial-startup/03-install-plugin.md
  • docs/initial-startup/09-slicer-config.md
  • docs/installation/buffer-ram-sensor.md
  • docs/stylesheets/extra.css
  • docs/toolchanger/snapmaker.md
  • docs/updates/updates.md
  • includes/prerequisites.md
  • includes/snapmaker-u1-ptfe.md
  • includes/toolhead_pins.md
  • includes/u1/need_to_install_extended_fw.md
  • includes/u1/warning.md
  • mkdocs.yml
📝 Walkthrough

Walkthrough

Adds Snapmaker U1 support documentation across the initial-startup guide, slicer configuration, updates guide, and a new compatibility page. Introduces shared include snippets for prerequisites, toolhead pins, and U1-specific firmware warnings. Also documents new AFC configuration options: tool_max_unload_attempts default raised to 4, plus new force_assign_map and park_pre_load/park_pre_load_cmd options.

Changes

AFC Configuration Option Updates

Layer / File(s) Summary
tool_max_unload_attempts across config hierarchy
docs/configuration/AFC.cfg.md, docs/configuration/AFC_UnitType_1.cfg.md, docs/installation/buffer-ram-sensor.md
Default raised from 2 to 4; override precedence relative to unit-level and lane-level subsections documented in AFC.cfg.md and AFC_UnitType_1.cfg.md (lane-level and [AFC_BoxTurtle] sections). Value also updated in buffer-ram-sensor.md.
New AFC options: force_assign_map and park_pre_load
docs/configuration/AFC.cfg.md
Adds force_assign_map (allows overriding existing T(n) macros during PREP lane mapping) and park_pre_load/park_pre_load_cmd (enables a pre-load parking macro before filament loading).

Snapmaker U1 Documentation

Layer / File(s) Summary
Shared include snippets
includes/prerequisites.md, includes/toolhead_pins.md, includes/u1/warning.md, includes/u1/need_to_install_extended_fw.md, includes/snapmaker-u1-ptfe.md
New reusable includes: AFC prerequisites (Klipper 0.12+, Python 3.8+, extruder calibration), toolhead pin recording guidance, U1 Extended Firmware warranty disclaimer, firmware install requirement admonition, and PTFE insertion instructions.
U1 hardware config params
docs/configuration/AFC_Hardware.cfg.md
Documents u1_filament_sensor_name and u1_park_detector_name configuration parameters for AFC extruder sections on Snapmaker U1, including defaults and naming conventions.
Initial startup guide tabs
docs/initial-startup/01-overview.md, docs/initial-startup/02-flashing.md, docs/initial-startup/03-install-plugin.md
Refactors overview page to include prerequisites via shared include and adds Snapmaker U1 accordion tab; updates flashing page to use toolhead_pins include and adds U1 skip subsection; restructures plugin install page into All AFC / Snapmaker U1 tabs with U1 firmware UI enablement steps.
Slicer config and updates guide U1 sections
docs/initial-startup/09-slicer-config.md, docs/updates/updates.md
Restructures slicer config into All Printers/Snapmaker U1 tabs, adding a U1-specific PRINT_START G-code example; restructures updates guide similarly, adding a U1 firmware-binary upload workflow via <ip-address>/firmware-config.
U1 compatibility page, site nav, slug config, CSS fix
docs/toolchanger/snapmaker.md, mkdocs.yml, docs/stylesheets/extra.css
New snapmaker.md page documents supported/unsupported AFC features on U1, CAN bus setup, and manual flow calibration; adds U1 to MkDocs nav under Commercial Printers; adds lowercase slug config; corrects font asset relative path.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested reviewers

  • kekiefer

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🧹 Nitpick comments (1)
includes/toolhead_pins.md (1)

1-3: 💤 Low value

Minor wording improvement for formal documentation tone.

Line 2 uses conversational phrasing "going to be used"; consider revising to "will be used" for consistency with formal technical documentation style.

-    Reminder if this MCU is going to be used on a Snapmaker U1, please flash with [u1-klipper](https://github.com/Snapmaker/u1-klipper) version instead of mainline Klipper/Kalico
+    Reminder if this MCU will be used on a Snapmaker U1, please flash with [u1-klipper](https://github.com/Snapmaker/u1-klipper) version instead of mainline Klipper/Kalico
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@includes/toolhead_pins.md` around lines 1 - 3, The note content uses
conversational phrasing "going to be used" which should be revised for formal
technical documentation consistency. In the note block that begins with
"Reminder if this MCU is going to be used on a Snapmaker U1", replace the phrase
"going to be used" with "will be used" to maintain a more formal and
professional tone throughout the documentation.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/configuration/AFC_Hardware.cfg.md`:
- Around line 170-184: The markdown code block in the Snapmaker U1 configuration
section is missing a language identifier. Add `cfg` as the language specifier to
the opening triple backticks (change ``` to ```cfg) on the line before the
`u1_filament_sensor_name` variable definition. This will enable proper syntax
highlighting and maintain consistency with other code blocks in the
documentation file.

In `@docs/configuration/AFC.cfg.md`:
- Around line 176-181: The documentation for the `tool_max_unload_attempts`
parameter contains a cross-file inconsistency where the default value is
documented as 4 in docs/configuration/AFC.cfg.md but still shows the old default
of 2 in docs/installation/buffer-ram-sensor.md around line 96. Update the
default value for `tool_max_unload_attempts` in the buffer-ram-sensor.md file
from 2 to 4 to match the current documented default and ensure consistency
across all documentation files.

In `@docs/initial-startup/03-install-plugin.md`:
- Line 62: The markdown link references an incorrect anchor ID. In the text that
mentions "If you have __Snapmaker U1 Extended Firmware__ already installed", the
link to `../updates/updates.md#snapmaker-u1` should be updated to match the
actual anchor defined in the target document. Change the anchor reference from
`#snapmaker-u1` to `#snapmaker-u1-printer` to point to the correct section.

In `@includes/prerequisites.md`:
- Around line 29-37: Add the bash language identifier to the fenced code block
that contains the shell commands (sudo service klipper stop, mv ~/klippy-env,
virtualenv, pip install, and sudo service klipper start). Change the opening
code fence from ``` to ```bash to enable proper syntax highlighting and follow
markdown best practices for code blocks.

In `@includes/snapmaker-u1-ptfe.md`:
- Line 1: The first sentence contains a pronoun error where "on you U1" should
be "on your U1". Change the pronoun "you" to the possessive form "your" in the
opening sentence that begins with "If you decide to use automated filament
changers" to correctly indicate possession of the U1 device.

---

Nitpick comments:
In `@includes/toolhead_pins.md`:
- Around line 1-3: The note content uses conversational phrasing "going to be
used" which should be revised for formal technical documentation consistency. In
the note block that begins with "Reminder if this MCU is going to be used on a
Snapmaker U1", replace the phrase "going to be used" with "will be used" to
maintain a more formal and professional tone throughout the documentation.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: 58c845d2-929a-410e-8068-348435c192bf

📥 Commits

Reviewing files that changed from the base of the PR and between fcca649 and 1e7f85c.

⛔ Files ignored due to path filters (9)
  • docs/assets/images/can1_bus_config.png is excluded by !**/*.png
  • docs/assets/images/u1/afc_u1_enable.png is excluded by !**/*.png
  • docs/assets/images/u1/afc_u1_enabled.png is excluded by !**/*.png
  • docs/assets/images/u1/afc_u1_pressure_advance.png is excluded by !**/*.png
  • docs/assets/images/u1/afc_u1_select_file.png is excluded by !**/*.png
  • docs/assets/images/u1/afc_u1_update_file.png is excluded by !**/*.png
  • docs/assets/images/u1/afc_u1_update_success.png is excluded by !**/*.png
  • docs/assets/images/u1/afc_u1_upload_and_upgrade.png is excluded by !**/*.png
  • docs/assets/images/u1/setting_pa.png is excluded by !**/*.png
📒 Files selected for processing (16)
  • docs/configuration/AFC.cfg.md
  • docs/configuration/AFC_Hardware.cfg.md
  • docs/configuration/AFC_UnitType_1.cfg.md
  • docs/initial-startup/01-overview.md
  • docs/initial-startup/02-flashing.md
  • docs/initial-startup/03-install-plugin.md
  • docs/initial-startup/09-slicer-config.md
  • docs/stylesheets/extra.css
  • docs/toolchanger/snapmaker.md
  • docs/updates/updates.md
  • includes/prerequisites.md
  • includes/snapmaker-u1-ptfe.md
  • includes/toolhead_pins.md
  • includes/u1/need_to_install_extended_fw.md
  • includes/u1/warning.md
  • mkdocs.yml

Comment thread docs/configuration/AFC_Hardware.cfg.md
Comment thread docs/configuration/AFC.cfg.md
Comment thread docs/initial-startup/03-install-plugin.md
Comment thread includes/prerequisites.md Outdated
Comment thread includes/snapmaker-u1-ptfe.md Outdated
@AFCProject AFCProject deleted a comment from coderabbitai Bot Jun 17, 2026
@jimmyjon711

Copy link
Copy Markdown
Member Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Jun 17, 2026

Copy link
Copy Markdown
✅ Action performed

Full review finished.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/configuration/AFC_Hardware.cfg.md (1)

178-184: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Correct terminology in u1_park_detector_name example documentation.

Line 183 incorrectly refers to "filament sensor name" when documenting the u1_park_detector_name parameter. This creates confusion about what the parameter is for. The example value is correct, but the label should match the parameter being documented.

📝 Proposed fix
 u1_park_detector_name:
 #    Default: None
 #    Required in AFC_extruder sections for Snapmaker U1 printers,
 #    this variable should be the name for your extruders park detector sensor.
 #    For example, if AFC_extruder config section is "extruder1", then
-#    filament sensor name should be "extruder1"
+#    park detector name should be "extruder1"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/configuration/AFC_Hardware.cfg.md` around lines 178 - 184, In the
documentation for the u1_park_detector_name parameter, the example explanation
on line 183 incorrectly refers to "filament sensor name" when it should refer to
"park detector name" to match the actual parameter being documented. Update the
text to replace "filament sensor name" with "park detector name" or "park
detector sensor name" so the terminology is consistent with the parameter
documentation and example value.
🧹 Nitpick comments (1)
docs/installation/buffer-ram-sensor.md (1)

93-93: 💤 Low value

Clarify the subject in the opening clause (grammar).

Line 93 is a sentence fragment: "tool_max_unload_attempts: 4 can be set..." The sentence needs a clear subject. Consider rephrasing to: "The tool_max_unload_attempts option can be set to 4 to control..." or "You can set tool_max_unload_attempts: 4 to...".

Proposed revision (one option)
- `tool_max_unload_attempts: 4` can be set for the amount of repetitions AFC pulls back to trailing sensor on unload.
+ You can set `tool_max_unload_attempts: 4` to control the amount of repetitions AFC pulls back to the trailing sensor on unload.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/installation/buffer-ram-sensor.md` at line 93, The sentence containing
`tool_max_unload_attempts: 4` is a fragment that lacks a clear subject. Rephrase
the sentence to include an explicit subject that makes the instruction clear.
Consider starting with either "The `tool_max_unload_attempts` option can be set
to 4 to..." or "You can set `tool_max_unload_attempts: 4` to..." to clarify what
is being configured and its purpose. Ensure the revised sentence reads naturally
and provides clear context for the reader.

Source: Linters/SAST tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/installation/buffer-ram-sensor.md`:
- Around line 93-96: The default value for tool_max_unload_attempts is
documented inconsistently. In the buffer-ram-sensor.md file, line 96 currently
states "Default 2" but according to the PR objective and consistent with the
documentation in AFC.cfg.md and AFC_UnitType_1.cfg.md files, it should be
"Default 4" to match the updated default value shown in the diff where
tool_max_unload_attempts is set to 4. Update line 96 to change "Default 2" to
"Default 4".

---

Outside diff comments:
In `@docs/configuration/AFC_Hardware.cfg.md`:
- Around line 178-184: In the documentation for the u1_park_detector_name
parameter, the example explanation on line 183 incorrectly refers to "filament
sensor name" when it should refer to "park detector name" to match the actual
parameter being documented. Update the text to replace "filament sensor name"
with "park detector name" or "park detector sensor name" so the terminology is
consistent with the parameter documentation and example value.

---

Nitpick comments:
In `@docs/installation/buffer-ram-sensor.md`:
- Line 93: The sentence containing `tool_max_unload_attempts: 4` is a fragment
that lacks a clear subject. Rephrase the sentence to include an explicit subject
that makes the instruction clear. Consider starting with either "The
`tool_max_unload_attempts` option can be set to 4 to..." or "You can set
`tool_max_unload_attempts: 4` to..." to clarify what is being configured and its
purpose. Ensure the revised sentence reads naturally and provides clear context
for the reader.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: aac56d17-a8da-4cc7-82d6-6eabf3773d25

📥 Commits

Reviewing files that changed from the base of the PR and between 1e7f85c and c3735ad.

📒 Files selected for processing (5)
  • docs/configuration/AFC_Hardware.cfg.md
  • docs/initial-startup/01-overview.md
  • docs/installation/buffer-ram-sensor.md
  • includes/prerequisites.md
  • includes/snapmaker-u1-ptfe.md
✅ Files skipped from review due to trivial changes (1)
  • includes/snapmaker-u1-ptfe.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/initial-startup/01-overview.md

Comment thread docs/installation/buffer-ram-sensor.md
@coderabbitai

coderabbitai Bot commented Jun 17, 2026

Copy link
Copy Markdown

Caution

Failed to replace (edit) comment. This is likely due to insufficient permissions or the comment being deleted.

Error details
{"name":"HttpError","status":404,"request":{"method":"PATCH","url":"https://api.github.com/repos/AFCProject/Documentation/issues/comments/4725876391","headers":{"accept":"application/vnd.github.v3+json","user-agent":"octokit.js/0.0.0-development octokit-core.js/7.0.6 Node.js/24","authorization":"token [REDACTED]","content-type":"application/json; charset=utf-8"},"body":{"body":"<!-- This is an auto-generated reply by CodeRabbit -->\n<!-- CodeRabbit review command invocation: 2535d01f-8f25-40aa-b8ee-e30aab3460dc -->\n<details>\n<summary>✅ Action performed</summary>\n\nReview finished.\n\n> Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.\n\n</details>"},"request":{"retryCount":1,"signal":{}}},"response":{"url":"https://api.github.com/repos/AFCProject/Documentation/issues/comments/4725876391","status":404,"headers":{"access-control-allow-origin":"*","access-control-expose-headers":"ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset, Warning","content-encoding":"gzip","content-security-policy":"default-src 'none'","content-type":"application/json; charset=utf-8","date":"Wed, 17 Jun 2026 04:17:27 GMT","referrer-policy":"origin-when-cross-origin, strict-origin-when-cross-origin","server":"github.com","strict-transport-security":"max-age=31536000; includeSubdomains; preload","transfer-encoding":"chunked","vary":"Accept-Encoding, Accept, X-Requested-With","x-accepted-github-permissions":"issues=write; pull_requests=write","x-content-type-options":"nosniff","x-frame-options":"deny","x-github-api-version-selected":"2022-11-28","x-github-media-type":"github.v3; format=json","x-github-request-id":"2F7A:29A5C7:2281424:7F68604:6A321FD6","x-ratelimit-limit":"5000","x-ratelimit-remaining":"4967","x-ratelimit-reset":"1781673238","x-ratelimit-resource":"core","x-ratelimit-used":"33","x-xss-protection":"0"},"data":{"message":"Not Found","documentation_url":"https://docs.github.com/rest/issues/comments#update-an-issue-comment","status":"404"}}}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant