Rotate 180 degrees 4 x MAX7219 with LedControl.h - Solved

Hi Everyone,
How do I rotate 180 degrees 4 x MAX7219 with LedControl.h?
It seems like there should be a simple setting like in other libraries but I am not seeing it and can not find a simple solution online. I am asking before I manually change the font.h header file which seems like a long and crazy way to get this done. The 4 MAX7219 came soldered onto a PCB so any hardware manipulation I think is off the table. I would just buy another one but there is no way to tell how these things are wired up so I may just have the same issue. And I bought 2 of these and it seems crazy to throw them away.

Thank you!
Simon

Go on. You just create a font with the correct segments. Or you convert the segments as you print a character.

I would just do the font. The job is done once. Everything will work as normal afterwards.

David.

It seems like there should be a simple setting like in other libraries

The obvious answer is to use one of the other libraries and avoid these problems.

Marco is of course “wagging” you, since he wrote the much more powerful and comprehensive “Parola” library. :grinning:

lol, the problem there is if I knew enough to be switching libraries I would have already done it! I am 2 weeks into working with arduinos and code so I am modifying what others have used. Change the font is something I can do. Switching libraries means I would have to understand every interaction it has with the code.
I did hear about "Parola" but I thought it was a rainbow colored unicorn that pooped gold.

scouser1023:
I did hear about "Parola" but I thought it was a rainbow colored unicorn that pooped gold.

No, it is the library that most of us would - or indeed do - use for preference to implement a "Times Square" display - or many other things with matrices.

I really do not know just what "Ledcontrol" does. :astonished:

led control is a first attempt for simple LED switch on/off (and somehow the usage of 7 segment displays).
If you want to use several matrixes and display text - use Marcos MD_MAX72XX or MD_Parola

To close the loop on this. I tried a lot of different things and libraries. And the only thing that worked was to manually change the actually bit stings of data associated with the first library I was using. Every other solution provided a mirror image or something that just complicated things further without a solution solution. The best guess as to the cause is the backpack of the LED segments I purchased. It looks like this is a fairly common issue with stuff from Asia and you have no way to tell till it arrives.

Surely a 32x8 matrix is just 32 1x8 vertical strips. Left scrolling is just moving data from one strip to the next.

If the matrix is organised as LSB on the top row you would just swap MSB-LSB bits when you first write data to the display buffer.

Perhaps the 32x8 matrix is organised as 4 sets of 8 horizontal strips. Left scrolling is a bit more complicated but not difficult.

No, I have never used 8x8 LED matrix. But any library should cope with different addressing e.g. vertical or horizontal strips and MSB-LSB or LSB-MSB order.

I would expect most 8x8 to be the same. i.e. a library can confidently assume a default setting.

Yes, you think of left-right scrolling. But there is probably up-down scrolling too. In other words, a library author can cope with different addressing styles.

David.

Left scrolling is just moving data from one strip to the next.

Yes, correct.

But any library should cope with different addressing e.g. vertical or horizontal strips and MSB-LSB or LSB-MSB order.

You would think so, but LedControl is particularly inflexible at this. Unfortunately it is also the one that has been around the longest and many people start with this one.

I would expect most 8x8 to be the same. i.e. a library can confidently assume a default setting.

Read this: Parola A to Z – Adapting for Different Hardware – Arduino++

With respect to the OP, glad he got it working the way he wants but I am surprised that MD_MAX72XX/MD_Parola did not work. Maybe a case of not reading the documentation properly.

I just typed straight from my backside.

It looks as if matrices come in all different mappings. I recognise all the modules in marco_c's link as common items from Ebay pages.
My "guesswork" about different mapping style was correct. My guess that there might be a "common standard" was wrong.

As always. If you post a link to the actual display that you have bought, you get accurate advice. marco_c is well experienced with Parola projects.

David.

The "long and short" on this is that the OP was fixated on using LedControl and declined to take the step of re-working his original code to make use of Parola, so just muddled about with alternate approaches until something seemed to work.

That's the end of it! :astonished:

the OP was fixated on using LedControl

That may be a bit harsh. I am guessing that this was code copied from somewhere for a different matrix type and the OP may not have the experience/confidence to change this to a different library. In the meantime the main thing is that he/she got it working to their satisfaction.

Nevertheless it would be for a matrix type which Parola manages - because I find it most improbable that LedControl works with some uncommon version Parola does not.

I merely wished to point out for anyone with a similar problem that the OP's inability to manage the code in this thread does not imply that the Parola library is in any way deficient and could not have achieved the desired result since I understand that Parola specifically implements the ability to do what was stated, to rotate the display 180°. :sunglasses:

Am I wrong?

Repeating the same mantra gets boring:

If you post a link to the actual display that you have bought, you get accurate advice.

It would mean that marco_c could tell you exactly which library(s) are suitable.
And possibly advise which library is best.

The Thread would be successful within 2-3 messages and within 1 day.

Oh, and if the link is clickable, readers are more likely to respond.

David.

to rotate the display 180°.

Flipping the matrix end-to-end and having the DATA IN on the right hand side, as stated in the documentation, usually works :confused:

Am I wrong?

No

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