This is a unofficial and temporary RatOS V2.X IDEX Implementation. Consider it as beta or alpha. Macros are based on Mikkel Schmidt`s work and have been modified and extended by Helge Keck.
- RatOS macro compatibility
- V-Core IDEX Mainsail
- octopus v1.1 idex board configuration
- dual EBB42 toolboards with autoflashing
- native IDEX copy and mirror mode
- adaptive bed meshing for both toolheads
- ultra fast toolchanges, up to 0.3 seconds
- visual assisted toolhead offset calibration
- built in z-offset probe support
- Left toolhead MUST be the
Xtoolhead - Right toolhead MUST be the
Dual Carriagetoolhead - Name your extruders
extruderleft andextruder1right - Name your toolboards
toolboardleft andtoolboardbright - Name your toolboard adxl
adxl345 toolboardleft andadxl345 toolboardbright - Name your part cooling fans
heater_fan toolhead_cooling_fanleft andheater_fan toolhead_cooling_fanbright - make sure the nozzle from the z-probe toolhead is NOT higher then the other nozzle, ideally they have the same z-offset
- place the
XandDUAL_CARRIAGEendstop stoppers as much outside as possible, to their max positions where they still work - tune the
XandDUAL_CARRIAGEendstop_positionvalues to its correct positions - your toolhead offsets should be less than 1mm
You need to activate the new inverted setting in your dual_carriage configuration
[dual_carriage]
inverted: True
The X and Dual Carriage positions have changed. Make sure your toolheads are on the correct side, you might need to swap the stepper connectors on your board. You maybe need to swap your x and dc endstop pins as well.
- Left toolhead MUST be the
Xtoolhead - Right toolhead MUST be the
Dual Carriagetoolhead - you also need to swap these values from one stepper to the other. but keep your settings of course, dont use mine.
[stepper_x]
position_endstop: -74
position_min: -74
position_max: 376
[dual_carriage]
position_endstop: 376
position_max: 376
position_min: -74
You can now put the z-probe on any of the toolheads. Configure it with the RatOS Variable default_toolhead.
[gcode_macro RatOS]
variable_default_toolhead: 1 # 0 = Left, 1 = Right
Run the install script again if you have updated from a previous version.
bash ~/vcore-idex/install.sh
- install RatOS for V-Core 3
- update klipper
- clone the idex repo
cd ~/
git clone https://github.com/HelgeKeck/vcore-idex.git
bash ~/vcore-idex/install.sh
- add the update manager entry to the moonraker.conf file in your config folder
[update_manager IDEX]
type: git_repo
primary_branch: main
path: ~/vcore-idex
origin: https://github.com/HelgeKeck/vcore-idex.git
managed_services:
klipper- reboot, not your laptop
- by default the printer will be in single toolhead mode.
- to enable the Copy or Mirror mode for the next print, home your printer and then execute the
IDEX_COPYorIDEX_MIRRORGCODE macro. - execute
IDEX_SINGLEto switch back to normal mode.
G-Code Macros:
ZHOPZ-Hop before and after the toolchange, in addition to the slicer z-hopCOMBINED_ZHOP0=OFF 1=ON. Combines z-hop/z-drop with retraction/deretraction movesM4000=OFF 1=ON. Turn M400, for the z-hops and z-drops, on or offRETRACTRetraction before the toolchangeEXTRUDEExtrusion after the toolchangeFEEDRATEFeedrate for retract/extrudeSPEEDXY Travel SpeedACCELXY Travel AccelSYNC_FANS0=OFF 1=ON. Forces fan synchronisation in single mode. Helpful because the new ultra fast toolchanges can be MUCH faster than your part cooling fan spin up time. TIP! The Sanyo Denki 9GAX0412P3S001 4028 is almost as fast as the toolchanges
G-Code Macro:
- for the X and Y calibration use the
calibrate_separationmacro to print the calibration lines, you are responsible for heating up your bed and extruders, dont forget to z-tilt and the bed mesh - use the
SET_SEPARATIONmacro to enter your toolhead offsets from the left toolhead
X=1to set the x-offset to 1X_ADJUST=1to add 1 to the current x-offsetX_ADJUST=-1to subtract 1 from the current x-offset
G-Code Macros:
-
This fork contains some changes for IDEX printers.
-
Visual assisted toolhead offset calibration read more
- Idex mode controls
- Idex extruder controls
- Start G-Code
START_PRINT EXTRUDER_TEMP={first_layer_temperature[0]} EXTRUDER_TEMP_1={first_layer_temperature[1]} EXTRUDER_OTHER_LAYER_TEMP={temperature[0]} EXTRUDER_OTHER_LAYER_TEMP_1={temperature[1]} BED_TEMP=[first_layer_bed_temperature] X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]} INITIAL_TOOL={initial_tool} COLOR={extruder_colour[0]} COLOR_1={extruder_colour[1]}- End G-Code
END_PRINT- Before layer change G-Code
_LAYER_CHANGE- Tool change G-Code. Both lines are important
;tool change post processor tag
T[next_extruder] P1- G-code substitutions
- Post processing script. Optional but recommended, tells klipper if all toolheads are in use.
ENTER_YOUR_PATH_TO_PYTHON\python3.exe "ENTER_YOUR_PATH_TO_THE_FILE\postprocessor.py"- Super fast tool changes post processing script. EXPERIMENTAL, ultra fast and seamless IDEX toolchanges.
ENTER_YOUR_PATH_TO_PYTHON\python3.exe "ENTER_YOUR_PATH_TO_THE_FILE\ftc.py"