I built an LED cube using pl9823 8x8x8 for a total of 512 diodes

Try this http://pastebin.com/SHDLze3d
Basically the cLEDText works with a window, but this window can be bigger or smaller than the matrix it is attached to. So as you can see in the code I have increased the width of the extra Msg’s but also set there origins to be negative.

Tried the sketch…the text scrolled extremely slow and only on the left panel I had to edit 3 instances it said scrollingmsg.fontsize I changed to the appropriate msg as I was getting compile error here is te updated version http://pastebin.com/KT9S31RG

Sorry, my stupid mistake!
Also you need to move the ‘}’ that is after:
MsgLeft.UpdateText();
MsgFront.UpdateText();
MsgRight.UpdateText();
to before these calls. Then it should work across the left, front & right faces correctly.
If you want to speed it up reduce the delay from 1000 to say 100.

that’s pretty cool :slight_smile: thanks and looking at it I figured out how it works thanks for all your help

ok maybe not fully :slight_smile: it seems the left message is starting when the right message is MsgLeft.Init(&MatrixLeft, MatrixLeft.Width(), MsgLeft.FontHeight() + 1, 0, 0); and I changed it to

MsgLeft.Init(&MatrixLeft, MatrixLeft.Width(), MsgLeft.FontHeight() + 1,(MatrixLeft.Width() + -MatrixFront.Width()), 0);

now the left message starts at the end of the right message but cant move no further are the last 2 variables defining a starting place or is it more of an offset

ok figured it out had the wrong offset

Good, well done.
For clarity…
The first 2 parameters after the Matrix variable are the width and height of the text area.
The next 2 parameters are the X and Y matrix position of the text area.
So in your code we set the front and right text areas to be progressively bigger but offset them negatively by the same amount. This allows you to use the same message data array for each face and still have it line up correctly.

BTW, not sure if you have worked this out but you can use the any cLEDMatrix variable with (X, Y) to set any pixel on a face:-
MatrixLeft(0, 0) = CHSV(16-, 255, 255);
This should help you write your own custom effects or modify existing code to work on any face of the cube using the appropriate matrix variable.

No have not got there yet but I will thanks again for all your help

Ok so I thought I had this whole offset thing down I wanted to get the back Matrix to display as well and I accomplished it but it triggers at the wrong time it is triggering at the beginning of the left Matrix
here is what I originally had MsgBack.Init(&MatrixBack, MatrixLeft.Width(), MsgBack.FontHeight() + 1,0,0);
and I changed it to this

MsgBack.Init(&MatrixBack, MatrixLeft.Width(), MsgBack.FontHeight() + 1,MatrixLeft.Width(),0);

figuring it would give me the offset I needed but the above don’t work at all I can not figure out why

This is what you need:
MsgBack.Init(&MatrixBack, MatrixLeft.Width() + MatrixFront.Width() + MatrixRight.Width() + MatrixBack.Width(), ScrollingMsg.FontHeight() + 1, -(MatrixLeft.Width() + MatrixFront.Width() + MatrixRight.Width()), 0);

We are telling MsgBack that its window is 32 leds wide and that its origin is -24, so only the last 8 leds will be visible. You could put absolute values in the code if you want as this would make it easier to read but by using the Width() function the source could be easily changed to use a different size of matrix.

Ah thanks for the explanation after playing with that code I now see why it didn’t work for me