[2.0.x] Fix up Max7219 orientations#11596
[2.0.x] Fix up Max7219 orientations#11596thinkyhead merged 1 commit intoMarlinFirmware:bugfix-2.0.xfrom
Conversation
f6570a9 to
1f1e210
Compare
|
As soon as it passes the Travis tests... Let's merge... And I'll check it out on my displays tomorrow and see if any further tweaking is needed. (My bet is there will be some further tweaking... This stuff gets complicated fast. Especially with multiple chained units and different orientations. I have 3 different orientations.) |
|
It definitely helps to keep the |
|
Travis is failing on the LPC1768 build due to "segmentation fault." I'm checking other 2.0.x PRs to see if they also fail LPC1768 build in the same way, which would indicate the LPC176x platform for PlatformIO probably got an update. I'll know in about 3 minutes…… |
|
PlatformIO is set to not update the nxp platform atm (specific version set) so it shouldn't be that, If something odd happens on Travis its usually easiest to start by deleting the cache, with the amount of PRs Marlin gets (each probably 500MB of cache) its probably a good idea to purge them all quite often anyway or Travis may get annoyed at us. |
48a9142 to
095d041
Compare
The I've added |
|
On Travis in the top right is a options drop down menu "More Options", you can browse the caches there and delete them when you have permissions, a lot is persistent on purpose to minimise redownloading things. You can remove this from the travis.yml if that isn't wanted. |
|
@p3p — It's kind of odd. The errors in the LPC1768 build make reference to binaries the …and the |
095d041 to
94ada2b
Compare
|
That env_* scripts are only for local builds really, Travis caches are separate from it just dumps the entire build environment into a backup and restores it on the next run.
Until #11552 is merged the PlatformIO build is still using the platform guards to ignore the other platforms so will still build those files, |
94ada2b to
37393a0
Compare
I'm pretty convinced your units have the matrix rotated 180 degrees.... I guess we will know soon. But if that is the case, one more option to mirror the bits within a unit won't be too hard to do.... |
|
@thinkyhead if you delete the cache from the drop down menu in Travis the build does succeed, you also tell it's a fresh install from the Travis output |
With the input wires on the left, hardware register 1 is the top row and bits 7…0 proceed left-to-right. That should be the case for other units as well. But if they are addressed right-to-left instead when Register 1 is the top row then we only have to reverse the order of the units being clocked out. If you want to test the native orientations of your devices you can directly set a Hardware Line using |
37393a0 to
8d7a2e9
Compare
Good to know! I just did that... And the top line of the left unit does light up. But... I have my cables feeding the units on the right, with the extra units chained to the left. And I have an orientation of 0 degrees right now. |
|
As long as the left one is the first, all is good. Your "native orientation" has the wires on the right, apparently. |
Fix up Max7219 code in various ways…
do{...}while(0)to fix some if-then clauses.led_linearray the same way for all orientations.max7219_reg_digit0is at the top of each uniterrormethod output formatnoopmethodfillmethodCounterpart to #11597