Strange "Alias" Behaviour on Toolhead Extruder Thermistor

Basic Information:

Printer Model: Custom CoreXY/Voron 2.4
MCU / Printerboard: Manta M8P/EBB42/CM4 host
klippy.log (133.8 KB)

I’m using aliases to define a CAN connected toolhead’s pins. I’m using a Manta M8P on all my printers but I’m using EBB42, FLY SHT42 and SB2040 toolhead PCBs and I’d like to have a common printer.cfg with printer specific toolhead configurations to simplify the support workload (or, at least, that’s the goal).

I think my toolhead mcu definition with aliases for this functionality is correct and pretty straightforward:

[mcu toolhead]
# board=mantaM8PG0B
# board="EBB42 V1.2"
# canbus_speed=500000
canbus_uuid: 51279b4eb876

[temperature_sensor toolhead_temp]
sensor_type: temperature_mcu
sensor_mcu: toolhead
min_temp: 0
max_temp: 100

[board_pins toolhead]
aliases:
# Extruder
 TOOLHEAD_PWM=PB13,
 TOOLHEAD_THERMISTOR=PA3,
 TOOLHEAD_HEATSINKFAN=PA0,

 TOOLHEAD_PARTFAN=PA1,
# Remainder of toolhead aliases not included

Now, in printer.cfg, if I use explicit pin specification for the toolhead’s thermistor sensor_pin like:

[extruder]
:
sensor_pin: toolhead:PA3

Things work fine. If you look at the attached klippy.log, this is the first two cases that you see in there.

Next, I change the extruder’s sensor_pin to use the alias:

[extruder]
:
sensor_pin: TOOLHEAD_THERMISTOR

I immediately get a “MCU ‘mcu’ shutdown: ADC out of range” which you can see as the third case in klippy.log.

Shouldn’t the two cases reference identical pins and associated hardware? In the third case in klippy.log, there is a lot of “tmcuart” communications which aren’t present in the previous two cases.

I did some further testing and found a similar problem with the extruder heater TOOLHEAD_PWM alias which doesn’t seem to work as an alias with a heater temperature not changing at expected rate error is thrown but things work correctly when I specify the pin (toolhead: PB13) and then try to heat the extruder. I can make up a new klippy.log to show this case if it would be helpful.

Doing a bit of research, I found some other alias_name issues from one and two years ago but they don’t reference a CAN connected toolhead.

Any idea what I’m doing wrong?

Looks like you forgot to set the mcu: in the definition. See Configuration reference - Klipper documentation

Thanx for the reply but I must be doing something wrong here.

I’ve tried:

[board_pins toolhead]
mcu: mcu, toolhead
aliases:
aliases_toolhead:
# Extruder
 TOOLHEAD_PWM=PB13,
 TOOLHEAD_THERMISTOR=PA3,
 TOOLHEAD_HEATSINKFAN=PA0,

 TOOLHEAD_PARTFAN=PA1,

with the result:

Which looks like what the reference is saying I should use in the printer.cfg but is what I’ve gotten all along.

When I try various permutations like:

[board_pins toolhead]
mcu: toolhead
aliases_toolhead:
# Extruder
 TOOLHEAD_PWM=PB13,
 TOOLHEAD_THERMISTOR=PA3,
 TOOLHEAD_HEATSINKFAN=PA0,

 TOOLHEAD_PARTFAN=PA1,

I get the message.

Any idea what should be the correct board_pins statement should be?

Thanx.

What about:

[board_pins toolhead]
mcu: toolhead
aliases:
# Extruder
 TOOLHEAD_PWM=PB13,
 TOOLHEAD_THERMISTOR=PA3,
 TOOLHEAD_HEATSINKFAN=PA0,

Just tried:

board_pins toolhead]
mcu: toolhead
aliases:
#aliases_toolhead:
# Extruder
 TOOLHEAD_PWM=PB13,
 TOOLHEAD_THERMISTOR=PA3,
 TOOLHEAD_HEATSINKFAN=PA0,

 TOOLHEAD_PARTFAN=PA1,

and got:

You still need to call them via:

toolhead:TOOLHEAD_PWM
1 Like

That got it! Thanx!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.