MarlinFirmware / MarlinFirmware/Marlin
[FR] -IDEX mode improvements
- Dominant language
- C++
- Stars
- 17.6k
- Forks
- 19.7k
- Avg merge
- 3d 5h
- Merged PRs (30d)
- 21
Description
Hi @InsanityAutomation
I thought of adding to **Configuration_adv.h** settings for MIRRORED mode:
```cpp
// Default x offset in mirrrored mode (typically set to print bed width)
#define DEFAULT_MIRRORED_X_OFFSET X_BED_SIZE
// Set the maximum so that the first X-carriage cannot hit the second X-carriage
#define X_MAX_MIRRORED_POS 95
```

So when selecting **MIRRORED** mode from LCD or M605 S3, carriages is set to **X1 = 0**
and **X2 = `DEFAULT_MIRRORED_X_OFFSET`** ...... `X_MAX_MIRRORED_POS` to **restrict movement** to avoid collision of carriages
Contributor guide
Research direction
Start with Configuration_adv.h and trace how MIRRORED mode is selected from the LCD or through M605 S3. Verify how X1 and X2 are positioned in that mode, then implement the requested configurable offset and movement restriction so the carriages cannot collide.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- embedded-iot
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100