Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Increasing device amount capability to 2^32 #63

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

vadimostanin
Copy link

No description provided.

@MajicDesigns
Copy link
Owner

Nice that you have defined a type for the module count. How come you chose 32 bit count instead of 16 bit? Also, is 8 bit (255 devices) some kind of limitation?

@vadimostanin
Copy link
Author

Physically I use four matrixes module, but for long text scrolling emulation I pass > 100 devices to MD_MAX72XX constructor.

Here is my code, that is based on your example "MD_MAX72XX\examples\MD_MAX72xx_PrintText"
https://github.com/vadimostanin/MD_MAX72xx_PrintText_CyclingLongText

16 bit is enough, I added commit.

Thank you for MAX7219 library.

@MajicDesigns
Copy link
Owner

OK, so you are simulating.

The issue for me is that in a practical (real) system, 255 matrices at 200mA each will already need 50A at 5V (ie, 250W power supply). That is a lot of power to manage over a long distance, not to mention the issue of distributing the digital signals over the matrix so that everything works properly. The amount of memory required will also be quite high, although that may be manageable in more capable processors. Real world matrix to matrix signal propagation delays over longer distances also create issues with display update times.

Altogether, for massively large displays this technology is not really suitable. A practical limit on the number of devices is around 40-50 which is what some people have made, and these are not beginners doing these projects.

My concern is that making this change, so that the number of devices can be large, will create a false impression and I would hesitate to include this push request at this time.

@vadimostanin
Copy link
Author

I understand your concerns about not reality of hardware.
But the circled buffer with "control(MD_MAX72XX::WRAPAROUND)" is very simplify showing the scroll of long text.
The only condition for long text is passing virtual devices to constructor.
Easy implementation of scrolling long text is good feature, IMHO.
16 bits would cover all needs, (my and, possibly, others) for possible future usage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants