FANMUX what is it?
October 28, 2019 05:52AM
So i've been wondering this for a while, what is FANMUX for, I see user after user trying to use these settings to no avail.. I suspect in part as no one seems to know what this is for.

It was added back in 2017 [github.com]

The code seems to simply toggles IO pins on extruder change by calling the following passing the extruder number as a parameter.

void fanmux_switch(const uint8_t e) {
    WRITE(FANMUX0_PIN, TEST(e, 0) ? HIGH : LOW);
    #if PIN_EXISTS(FANMUX1)
      WRITE(FANMUX1_PIN, TEST(e, 1) ? HIGH : LOW);
      #if PIN_EXISTS(FANMUX2)
        WRITE(FANMUX2, TEST(e, 2) ? HIGH : LOW);
      #endif
    #endif
  }

Just seems to do the following.
e | FANMUX0_PIN | FANMUX1_PIN | FANMUX2_PIN
-----------------------------------------------------------------------
0 | 0           | 0           | 0
1 | 1           | 0           | 0
2 | 0           | 1           | 0
3 | 1           | 1           | 0
4 | 0           | 0           | 1
5 | 1           | 0           | 1
6 | 0           | 1           | 1
7 | 1           | 1           | 1


But without additional hardware this has no connection to the existing hotend or cooling fans....

You could of course connect fans to the FANMUX pins, but they would either only be full on or off.. (and this seem to be what users try)

Anyone using this or know its original intention?
Or am I missing something?

Edited 2 time(s). Last edit at 10/28/2019 06:34AM by Dust.
Re: FANMUX what is it?
October 28, 2019 06:13AM
What I think it is probably meant for is a bit of hardware.

a 1 of 8 decoder each output ANDed with a single real fan signal (so it can be PWMed) . The output of which drives 8 mosfets and 8 fans. One per hotend

but i've not seen any off the shelf hardware like this...

Edited 1 time(s). Last edit at 10/28/2019 06:47AM by Dust.
Sorry, only registered users may post in this forum.

Click here to login