Firstly thanks GoForSmoke for the nice tipps.
fill bytesToShift[] directly right there
filling bytesToShift[matrixNumber] directly instead of drawLeds[matrixNumber][x-coordinate][y-coordinate] would mean that I have to calculate the byte for a row by myself ending with bytesToShift[matrixNumber][x-row], right? So I have better/faster code, but have to think more for myself:) ?
But using the | and the & operators could reduce the array int bytesToShift[4] by half as I can initilize it as an byte array because there woun't be intermediate results which are for example negativ.
P.S. You examples are really good and easy to understand ![]()