The error is at this line :
dataArray[iLedMatrix][iRow] |= (byte)(bufferPattern[iRow]) & (1<<7);
dataArray is : byte dataArray[NUMBER_LED_MATRIX][NUMBER_ROW_PER_MATRIX];
bufferPattern is : const patternp * bufferPattern;
patternp is a typedef of the type : typedef prog_uchar patternp[NUM_ROWS];
I can see in the Reference that prog_uchar is 1 byte ( 0 to 255 ). So I do not understand the error about losing precision? Any idea?