2 in 1 Out BTT Hotend Config Issues

Hello, friends! I am at a loss here. I recently got a cr10 v3 with a bad board. i replaced it with a octopus v1.1 and grabbed a [ZSYONG 2 in 1 out switching hotend. When i went to configure it, i hit a brick wall. I keep getting the error: Option ‘sync_extruder_motion’ is not valid in section ‘gcode_macro t0’
Here is a link to the relevant changes, but i do not understand how to write it out. Any help would be greatly appreciated.

klippy (1).log (50.2 KB)

Config

See docs/Config_Reference.md for a description of parameters.

OCTOPUS v1.1 CR-10 v3

For better compatibility with GCodes generated for Marlin, you

may wish to add the following section, if you have BLTouch:

[gcode_macro G29]
gcode: BED_MESH_CALIBRATE

Driver0 X

[stepper_x]
step_pin: PF13
dir_pin: PF12
enable_pin: !PF14
microsteps: 64
rotation_distance: 40
endstop_pin: PG6
position_endstop: 0
position_max: 200
homing_speed: 50

Driver1 Y

[stepper_y]
step_pin: PG0
dir_pin: PG1
enable_pin: !PF15
microsteps: 64
rotation_distance: 40
endstop_pin: PG9
position_endstop: 0
position_max: 200
homing_speed: 50

Driver2 Z

[stepper_z]
step_pin: PF11
dir_pin: PG3
enable_pin: !PG5
microsteps: 16
rotation_distance: 8
endstop_pin: probe:z_virtual_endstop
#position_endstop: 0.5
position_max: 200

Driver3

The Octopus only has 4 heater outputs which leaves an extra stepper

This can be used for a second Z stepper, dual_carriage, extruder co-stepper,

or other accesory such as an MMU

#step_pin: PG4
#dir_pin: PC1
#enable_pin: PA0
#endstop_pin: PG11
#…

[stepper_z1]
step_pin: PG4
dir_pin: PC1
enable_pin: PA0
microsteps: 64
rotation_distance: 8
endstop_pin: probe:z_virtual_endstop

Driver4

[extruder]
step_pin: PF9
dir_pin: PF10
enable_pin: !PG2
microsteps: 64
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA2 # HE0
sensor_pin: PF4 # T0
sensor_type: EPCOS 100K B57560G104F
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 250
[filament_motion_sensor encoder_sensor]
detection_length: 7

The minimum length of filament pulled through the sensor to trigger

a state change on the switch_pin

Default is 7 mm.

extruder: extruder

The name of the extruder section this sensor is associated with.

This parameter must be provided.

switch_pin: PG12

changing the switch_pin name according to your motherboard

pause_on_runout: True
#runout_gcode:
#insert_gcode:
#event_delay:
#pause_delay:

[extruder_stepper right]
extruder = extruder
step_pin: PC13
dir_pin: PF0
enable_pin: PF1
microsteps: 64
rotation_distance: 7.7201944 # 16 microsteps * 200 steps/rotation / steps/mm
#Correction formula is new_rotation_distance = old_rotation_distance * mmsExtracted / 100.0

[filament_motion_sensor encoder_sensor]
detection_length: 7

The minimum length of filament pulled through the sensor to trigger

a state change on the switch_pin

Default is 7 mm.

extruder: extruder_stepper

The name of the extruder section this sensor is associated with.

This parameter must be provided.

switch_pin: PG13

changing the switch_pin name according to your motherboard

pause_on_runout: True
#runout_gcode:
#insert_gcode:
#event_delay:
#pause_delay:

[gcode_macro T0]
gcode =
#G1 E-50 F900
#Disable right stepper
SYNC_EXTRUDER_MOTION: EXTRUDER=right MOTION_QUEUE=
#Enable main left stepper
SYNC_EXTRUDER_MOTION: EXTRUDER=extruder MOTION_QUEUE=extruder
#G1 E50 F900
[gcode_macro T1]
gcode =
#G1 E-50 F900
#Disable main left stepper
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=
#Enable right_stepper
SYNC_EXTRUDER_MOTION EXTRUDER=right MOTION_QUEUE=extruder
#G1 E50 F900
[gcode_macro TOOLCHANGE_RETRACT]
gcode: G91 G1 E-5 F1500 G1 E-65 F800
#Relative Coordinates
#G91
#Quick 5mm Retract
#G1 E-5 F1500
#Retract 100mm and lift Z 5mm for toolchange
#G1 E-65 F800

#SET_EXTRUDER_ROTATION_DISTANCE
#SYNC_EXTRUDER_MOTION
#extruder_stepper

#macro changes SYNC_EXTRUDER_MOTION

[heater_bed]
heater_pin: PA1
sensor_pin: PF3 # TB
sensor_type: ATC Semitec 104GT-2
control: pid
#Stock PID configuration taken from Marlin
pid_Kp: 201.86
pid_Ki: 10.67
pid_Kd: 954.96
min_temp: 0
max_temp: 130

[fan]
pin: PH6 #ar9

[mcu]
serial: /dev/ttyUSB0

[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100

#Uncomment the following lines if you have a BL-Touch
[bltouch]
sensor_pin: PB7
control_pin: PB6
set_output_mode: 5V
pin_move_time: 0.4
stow_on_each_sample: False
probe_with_touch_mode: False
x_offset: 45.75
y_offset: -3.40
z_offset: 3.28
samples: 2
sample_retract_dist: 2
samples_result: average

#Uncomment the following lines if you have a BL-Touch
[bed_mesh]
speed: 50
horizontal_move_z: 6
mesh_min: 46.50,0.75
mesh_max: 253.5,295.85
probe_count: 7,7
algorithm: bicubic

[pause_resume]
recover_velocity: 50

[filament_switch_sensor fil_runout_sensor]
pause_on_runout: True
switch_pin: PG12

[bed_screws]
screw1: 33,29
screw1_name: front left screw
screw2: 273,29
screw2_name: front right screw
screw3: 273,269
screw3_name: rear right screw
screw4: 33,269
screw4_name: rear right screw

########################################

TMC2209 configuration

########################################

#[tmc2209 extruder2]
#uart_pin: PE1
#run_current: 0.800
#stealthchop_threshold: 999999

#[tmc2209 extruder3]
#uart_pin: PD3
#run_current: 0.800
#stealthchop_threshold: 999999

#Uncomment the following lines if you have a BL-Touch
#[screws_tilt_adjust]
#screw1: 0,29
#screw1_name: front left screw
#screw2: 228,29
#screw2_name: front right screw
#screw3: 228,269
#screw3_name: rear right screw
#screw4: 0,269
#screw4_name: rear right screw
#speed: 50
#horizontal_move_z: 10
#screw_thread: CW-M3

#Macros
[delayed_gcode activate_default_extruder]
initial_duration: 1
gcode:
ACTIVATE_EXTRUDER EXTRUDER=extruder

[gcode_macro T0]
gcode:
# Deactivate stepper in my_extruder_stepper
SYNC_EXTRUDER_MOTION EXTRUDER=belted_extruder MOTION_QUEUE=
# Activate stepper in extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
#SET_PRESSURE_ADVANCE ADVANCE=0 EXTRUDER=extruder

[gcode_macro T1]
gcode:
# Deactivate stepper in extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=
# Activate stepper in my_extruder_stepper
SYNC_EXTRUDER_MOTION EXTRUDER=belted_extruder MOTION_QUEUE=extruder

SET_PRESSURE_ADVANCE ADVANCE=0 EXTRUDER=belted_extruder

[board_pins]
aliases:
# EXP1 header
EXP1_1=PE8, EXP1_2=PE7,
EXP1_3=PE9, EXP1_4=PE10,
EXP1_5=PE12, EXP1_6=PE13, # Slot in the socket on this side
EXP1_7=PE14, EXP1_8=PE15,
EXP1_9=, EXP1_10=<5V>,

# EXP2 header
EXP2_1=PA6, EXP2_2=PA5,
EXP2_3=PB1, EXP2_4=PA4,
EXP2_5=PB2, EXP2_6=PA7,      # Slot in the socket on this side
EXP2_7=PC15, EXP2_8=<RST>,
EXP2_9=<GND>, EXP2_10=PC5

hi there,

i think u got the Gcode section wrong looking at my own setup
u write

[gcode_macro T0]
gcode =

i believe it should be

[gcode_macro T0]
gcode:

replace the = by : and see if it helps

In the printer.cfg the OP posted in the first post, it is written with :

In the parsed version of the config file in the klippy.log, all the : are swapped with =

i see this in the post at the top,

[gcode_macro T0]
gcode =
#G1 E-50 F900
#Disable right stepper
SYNC_EXTRUDER_MOTION: EXTRUDER=right MOTION_QUEUE=
#Enable main left stepper
SYNC_EXTRUDER_MOTION: EXTRUDER=extruder MOTION_QUEUE=extruder
#G1 E50 F900
[gcode_macro T1]
gcode =
#G1 E-50 F900
#Disable main left stepper
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=
#Enable right_stepper
SYNC_EXTRUDER_MOTION EXTRUDER=right MOTION_QUEUE=extruder
#G1 E50 F900
[gcode_macro TOOLCHANGE_RETRACT]
gcode: G91 G1 E-5 F1500 G1 E-65 F800
#Relative Coordinates
#G91
#Quick 5mm Retract
#G1 E-5 F1500
#Retract 100mm and lift Z 5mm for toolchange
#G1 E-65 F800

and this at the bottom

[gcode_macro T0]
gcode:
# Deactivate stepper in my_extruder_stepper
SYNC_EXTRUDER_MOTION EXTRUDER=belted_extruder MOTION_QUEUE=
# Activate stepper in extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
#SET_PRESSURE_ADVANCE ADVANCE=0 EXTRUDER=extruder

[gcode_macro T1]
gcode:
# Deactivate stepper in extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=
# Activate stepper in my_extruder_stepper
SYNC_EXTRUDER_MOTION EXTRUDER=belted_extruder MOTION_QUEUE=extruder

double assigned macro’s?

You are right, I have overseen that one.
It’s a bit hard to read when not formatted as code with </>

if i take a look at config in the file.

[gcode_macro T0]
gcode = 
	SYNC_EXTRUDER_MOTION EXTRUDER=belted_extruder MOTION_QUEUE=
	SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder

[gcode_macro T1]
gcode = 
	SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=
	SYNC_EXTRUDER_MOTION EXTRUDER=belted_extruder MOTION_QUEUE=extruder
	SET_PRESSURE_ADVANCE ADVANCE=0 EXTRUDER=belted_extruder

and then defined in the config as extruders

[extruder]
step_pin = PF9
dir_pin = PF10
enable_pin = !PG2
microsteps = 64
rotation_distance = 33.500
nozzle_diameter = 0.400
filament_diameter = 1.750
heater_pin = PA2
sensor_pin = PF4
sensor_type = EPCOS 100K B57560G104F
control = pid
pid_kp = 22.2
pid_ki = 1.08
pid_kd = 114
min_temp = 0
max_temp = 250

[filament_motion_sensor encoder_sensor]
detection_length = 7
extruder = extruder1
switch_pin = PG13
pause_on_runout = True

[extruder1]
extruder = extruder
step_pin = PC13
dir_pin = PF0
enable_pin = PF1
microsteps = 64
sensor type = EPCOS 100K B57560G104F
rotation_distance = 7.7201944

i dont see the name belted_extruder. can it be that? shouldn’t it be extruder1

Thank you all for your responses. I believe i’ve made some progress here. Some of those macros were copy and pasted, and as i’m brand new to macros, i had no idea what i was doing. I am now throwing the error: Option ‘sensor_type’ in section ‘extruder1’ must be specified
but i was under the impression that this doesn’t need to be set if its a shared heater/thermostat. Where am i going wrong? All help is greatly appreciated!

Here’s my updated config
cr10v3config.txt (6.3 KB)

One more update. I’m no longer throwing errors, but i’m still suspicious, lol. heres current config
newest config.txt (6.3 KB)

Any issues pop out at anybody? Again, thank you all