Skip to content

mk4: add optional xBuddy Extension support (opt‑in)#5052

Open
jbjardine wants to merge 1 commit intoprusa3d:masterfrom
jbjardine:mk4-xbuddy-extension
Open

mk4: add optional xBuddy Extension support (opt‑in)#5052
jbjardine wants to merge 1 commit intoprusa3d:masterfrom
jbjardine:mk4-xbuddy-extension

Conversation

@jbjardine
Copy link

Summary

Add an opt‑in MK4 configuration that enables xBuddy Extension support to match COREONE behavior, without changing the default MK4 firmware.

What’s changed

  • Add ENABLE_XBUDDY_EXTENSION_MK4 (default OFF) and corresponding presets.
  • Wire MK4 to the xBuddy Extension standard variant only when the option is enabled.
  • Gate enclosure‑related features, UI labels, selftests and error‑codes so they only appear on MK4 when extension is enabled.

Features enabled only when ENABLE_XBUDDY_EXTENSION_MK4=ON

  1. xBuddy Extension support
    HAS_XBUDDY_EXTENSION + XBUDDY_EXTENSION_VARIANT_STANDARD for MK4
    → extension firmware bundled, puppy bus tasks enabled, extension UI items.

  2. Puppies bootloader on MK4
    PRINTERS_WITH_PUPPIES_BOOTLOADER += MK4
    → required for the extension/puppy flow.

  3. Chamber + filtration APIs
    HAS_CHAMBER_API + HAS_CHAMBER_FILTRATION_API for MK4
    → chamber thermistor, chamber fans, filtration fan, filtration UI.

  4. Side LEDs
    HAS_SIDE_LEDS for MK4
    → RGB side strip via extension (no main‑board driver).

  5. Side filament sensor + sensors menu
    HAS_SIDE_FSENSOR + HAS_FILAMENT_SENSORS_MENU for MK4
    → side sensor support and full filament sensors menu.

  6. Door sensor calibration
    HAS_DOOR_SENSOR_CALIBRATION for MK4
    → selftest/diagnostics step (sensor can still be disabled in UI).

  7. Safety features
    HAS_EMERGENCY_STOP + HAS_CEILING_CLEARANCE for MK4
    → match COREONE enclosure safety behavior.

Non‑goals / no regressions

  • Default MK4 build is unchanged when ENABLE_XBUDDY_EXTENSION_MK4=OFF (same codepaths and sizes).
  • COREONE behavior is unchanged.

Tests

  • mk4_release_boot (no extension): size identical to baseline.
  • mk4-extension_release_boot: build OK.
  • mk4-xbuddy-extension_release_boot: build OK.
  • coreone_release_boot: build OK.

Refs #4930

Disclaimer

This is an opt‑in, community/experimental configuration intended for users who retrofit MK4/MK3.9 with an xBuddy Extension and an enclosure. It does not change the default MK4 firmware behavior.

- add ENABLE_XBUDDY_EXTENSION_MK4 gate (default OFF)

- add mk4-extension presets and mk4-xbuddy-extension preset

- align MK4+xBuddy behavior with COREONE (chamber/side leds/door sensor calibration)

- keep MK4 default unchanged and use MK4_XBUDDY error-code set
@jbjardine
Copy link
Author

Quick note: this PR is opt‑in only (ENABLE_XBUDDY_EXTENSION_MK4=ON). Default MK4 behavior unchanged. Refs #4930.

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