Replies: 2 comments 2 replies
-
|
I think you're on the right track. I haven't looked into it quite yet ( or claude's code lol ), but I believe the idea is that a single multiplexer could basically switch the single i1c bus between up to 8 different parallel buses: So you then just have to send a single bit to the multiplexer address, which is itself always on the main i2c bus and all future commands will go to the secondary bus specified until you tell it differently. That said, |
Beta Was this translation helpful? Give feedback.
-
|
I also had the thought to use an TCA9548A. Have you already found a solution? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I'd like to create one of these displays with more than 8 characters. Unfortunately, I don't know C++ nor much about microcontrollers :P so after a lot of googling it seems the easiest way to go about that (while maintaining the simple modular design) is with multiplexing.
to that end, I forked the repo and asked Claude (red flag lol) to help me re-write the functionality to support this.
I tried to keep the public interfaces the same - but introduced an intermediary class
ModuleGroup.SplitFlapDisplayhasModuleGroups.ModuleGrouphasSplitFlapModules.operating under the assumption that each group will have the same number of modules, with the same addresses. (this places strange mathematical limits on the total number of characters the display can support, ex can't support primes greater than 7, but that feels acceptable)
hardware design would change in that the ESP would have an I2C bus running to each Multiplexer, and then the bus would fork and descend to each IO expander (and onto the stepper). (would probably also need a beefier power supply... but thats maybe a later question)
added a setting field for Group Addresses, and tried to write the init code such that if you leave it blank, it'll fall back to the old init code (supporting the original hardware config). I nixed the
moduleCountconfig for simplicity since we should be able to get that frommoduleAddresses.size()I don't want to open a PR against your repo because this may all be an AI hallucination rat's nest. (I'm a UI dev, so i can read C++ to sort of to get the gist, but i wouldn't trust my analysis)
If you could take a look and provide any feedback, i'd be super appreciative
PR:
https://github.com/nihlton/Split-Flap-Display-multi/pull/1/files
Feature Branch:
https://github.com/nihlton/Split-Flap-Display-multi/tree/support-nultiplexing
(note delightful typo)
Beta Was this translation helpful? Give feedback.
All reactions