#Only the first multiplex is working

1 messages ยท Page 1 of 1 (latest)

tropic kelp
#

Hi, I'm trying to use 3 input multiplexer along with my Mega 2560 board. I followed the beginner's guide by @craggy belfry and I think I have connected all the right pins (S0-S3 are shared between the 3 multi, each one has a dedicated SIG pin connected to the Mega). All 3 multiplexer are powered with a 5Vcc from the board (a single pin from the board connected to all 3 multiplexers, I checked with a multimeter and all three have about 4.9V).
The first board works, every input used is recognized by MF (I have 4 switches and 2 rotary switches for the EFIS Range and Map display). The second and the third one, they seems to be disconnected. Nothing is seen on those two and I can't figure out why.
I guess there is something I didn't understand in the Beginner's guide. Anything that could point me to the right direction would be much appreciated ๐Ÿ™‚

oblique ridge
#

Make sure all three muxes have the EN pin connected to GND.

tropic kelp
glacial kindle
#

Iโ€™m probably not the best one to help you with this, but it was my understanding that the limit for multiplexers per arduino is two?

craggy belfry
#

@glacial kindle is basically right, the limit is actually 1.
Oddly enough, in the Connector the limit for the Mega is 4, so the GUI allows you to define more than the firmware can chew.
Don't know if this is worth pointing out, because IIRC the device limit should be removed in the latest beta (@dry junco?).

#

For the record, the common chinese Mux modules have a pull-down resistors on the EN line, so tying it to GND is not required.

tropic kelp
# craggy belfry <@1044550465603506186> is basically right, the limit is actually 1. Oddly enough...

I can confirm the EN is not required because on the first module everything works even without connecting EN pin. But from what you wrote, trying to connect 3 modules is just not possible at the moment? I hope I can manage to achieve what I need even with a single module but it will be a real tangle mess of wires over my poor 2560, because I really wouldn't want to put more than one board into this project (I'm somewhat limited in how many usb ports I can connect in the same time here and I wanted to obtain an external powered (9V) + 1 usb port module for the entire project (EFIS+FCU+RMP). I made my calculations and I will have enough amperage, my problem is, quite obviously, the number of available pins. I hope this limitation will be removed in a next firmware release...

craggy belfry
tropic kelp
tropic kelp
#

I think I found the updated firmware in MF github. I'll give it a go right now

tropic kelp
#

Alas, no luck. Now the board has 2.5.0 firmware on it but still it does not see the other 2 multiplexers. The weird thing, though, is that in truth is not that it does not "see" the boards. It does, but it seems to ignore all the pins except the ones that are not used on the first board. Let me try to explain: on the first multiplexer I have used C0 through C14 pins. They all work. Pin C15 is empty. Now, If I connect say a button on that pin it works regularly. If I connect the very same button on the C15 pin on one of the other two boards it still works! But if I move the button say from C15 to C8 on the same board, it stops being recognised.

craggy belfry
#

Hmmm, this is weird. I believe this is worth opening a bug report on Github. Do you know how to do that? Otherwise I can do that for you.
I'd like to have a look at the issue myself, but unfortunately I don't have a lot of time these days.

tropic kelp
#

I'll open an Issue on GitHub, yes. I use Github a lot in my work so I should be able to do so, but thanks a lot for the offer

tropic kelp
#

This is the LOG from my last MF session.
It is possible to see here:
12/05/2023 18:26:08(991): ExecutionManager.mobiFlightCache_OnButtonPressed(): FCU Master => Multiplexer :15 => PRESS => No config found.
12/05/2023 18:26:09(191): ExecutionManager.mobiFlightCache_OnButtonPressed(): FCU Master => Multiplexer :15 => RELEASE => No config found.
12/05/2023 18:26:13(201): ExecutionManager.mobiFlightCache_OnButtonPressed(): FCU Master => Multiplexer 1 :15 => PRESS => No config found.
12/05/2023 18:26:13(402): ExecutionManager.mobiFlightCache_OnButtonPressed(): FCU Master => Multiplexer 1 :15 => RELEASE => No config
When I used the ping C15 on the first and then the second board. No log of any kind are written when I try to use one of the other 14 pins of the second board.

dry junco
#

I am on the way to Austria.
@craggy belfry is right, there is no more limitations in the FW for max. multiplexers. And I am sure that I tested it with 4 multiplexers.

tropic kelp
craggy belfry
#

First thing I noticed (might be a bit of a guess): There's a "Multiplexer " name and a "Multiplexer 1", suspicious. Can you test using names without spaces?

tropic kelp
tropic kelp
#

It was worth a try, but nope, no luck changing names

dry junco
tropic kelp
#

Here they are. I have a bunch of deactivated elements because I'm porting the old config that used a different approach into this new one. All digital pins of the first InputMultiplexer are working though. Thanks a lot, and by no means I need it in a hurry. If you can look into it tomorrow is absolutely fine and I thank you in advance ๐Ÿ™‚

craggy belfry
#

However, there is still something strange in the input bindings in the connector. If I configure e.g. "Mux 1" in the module, when I pick one of its inputs in the Input action config drop-down box, it appears as "Mux 1". In your config, the devices referenced from your input config have an underscore (e.g. in the case above, "Mux_1").
I don't know where they got it from (old config?), but I think you should try and fix the device naming carefully.
For instance, in the test I suggested earlier, in order to remove the spaces, did you change the names to "Multiplexer_1" or "Multiplexer1"?

#

Another thing to test: in the log, for most of the inputs on "Multiplexer 1" and "Multiplexer 2" there are only "PRESS" events, never "RELEASE". They seem to be permanently kept low. Do you have anything connected there? (I'm thinking e.g. of pushbuttons connected on the wrong pins).
Another test might be trying to reinforce the integrated pull-up on the Arduino input with a 4k7..10k resistor and see if the "release" events start appearing in the log.

tropic kelp
#

The underscore is the result of me changing the name after your previous post, they were named Multiplexer, Multiplexer 1 and Multiplexer 2 without any undescore.
As per the PRESSED status, yes, I'm using a Rotary Switch for range and Map visualization in the EFIS, they stay in pressed status until you rotate them in another position

craggy belfry
#

As for the pressed status: even with a rotary switch, at most one of them (per switch) should be pressed, not the others!

tropic kelp
#

You're right, but the fact that you see more than one switch pressed is due to the problem of seeing only the pins of the first board. As soon as I removed the other 2 boards from the config, only one pin is shown as pressed per each rotary switch (in the screen there are 2 pressed and it's right: 2 rotary switch each one with only one pin "pressed"

tropic kelp
#

It turns out that the issue was not in MF as we already guessed and presumed, but it was not even in my poor soldering skills. It turns out that 2 out of 3 multiplexer have some kind of short to GND and basically when connected they are alwasys "pressed" making impossible to use anithing on them. They don't work even used singularly with the same cabling used on the one that works. Will order a couple more hoping to find something halfway decent

copper moat
#

hi ๐Ÿ™‹ i am glad you figured it out. I wanted to chime in and say that you can expect that the three Multiplexer should work fine even in 9.7.1 - it must be something either with the wiring or the multiplexer chips - i am glad you figured it out

tropic kelp
# copper moat hi ๐Ÿ™‹ i am glad you figured it out. I wanted to chime in and say that you can ex...

Thank for the message Sebastian. I have a little knowledge of C# and .Net programming, altough I am a PHP developer so writing windows apps is not my area, and reading the code I figured it out that MF was not the issue at all. But without the precious help of @craggy belfry I probably would never have found that the problem were the boards themselves. I was pretty sure I did something stupid until I re-checked each and every soldering and cable I made. "When you have eliminated the impossible, whatever remains, however improbable, must be the truth" ๐Ÿ˜„

copper moat
#

Which multiplexer boards did you use?

#

i have not seen this problem and I have already had probably 100 74hc4067 boards soldered and tested.

craggy belfry
copper moat
#

no worries! i am glad it turned out to be a hardware problem. it is very unusual

dry junco
#

Great that it was solved ๐Ÿ‘

#

And I just realized that I don't have HW for multiplexer with me ๐Ÿ˜ฌ

tropic kelp
#

I guess it can be tagged as solved, and I thank you all for the support. In a few hours I'll receive the new multiplexers and I hope to be able to solder them this evening, that will be the beginning of next phase of soldering all those leds and buttons (I have already them printed and ready for backlighting). Thank you all!

normal solstice
#

Hello all. I am finalizing my PCB for the main interface of my instrument panel and want to clarify if the hard stop on the amount of multiplexers has been lifted with the beta software. I beleive that what I have read across a couple of threads is that the limit of 4 no longer applies, both for shift registers as well as multiplexers. Is this the case? My current schematic calls for one of the Megas to have 6 multiplexers and 3 shift register strings....... hoping that I can keep it configured this way.

tropic kelp
#

Looking into the json definition for the board (I have the genericI2c customised one but I guess it's the same of the standard one) it has a "MaxInputMultiplexer": 4 value, so I guess yes. It's still a limit. I think you could try to tinker a bit the firmware in order to change this value

craggy belfry
#

@normal solstice No, the limit in the firmware has been removed.
The config entry in the Connector is just a cautionary limit for the GUI; you can change that in order to extend the maximum number of most devices (provided that you have enough memory, pins, and speed to support all the ones you require).
Have a look here too: https://discord.com/channels/608690978081210392/1184126534605357167

normal solstice
# craggy belfry <@688847696982704172> No, the limit in the firmware has been removed. The confi...

Fantastic! Thank you for the reply and confirmation. This helps immensely in reducing the amount of Mega's I will need. After a 2 year break on building my sim I am hard back at it and plenty of stuff has changed. Trying to catch up on all of it is daunting. ๐Ÿ™‚ I figred I would add a quick pic of my current build. Complete revamp of my panel with all the instruments built with servo and/or stepper operation. Its a replica of my actual Piper cockpit.