rendered paste bodyvoid dotmatrixSetData(uint8_t Data){ /* Which ledmodule */ uint8_t module = GrLcdState.lcdXAddr%8; /* Which column in ledmodule */ uint8_t column = GrLcdState.lcdXAddr>>3; /* Which row */ uint8_t row = GrLcdState.lcdYAddr; /* Repeat for each row */ for (uint8_t i=0; i<8; i++) { /* Check panel size */ if ((row+i < dotmatrixSIZEY) && (module < dotmatrixSIZEX/8)) { /* Shift one bit */ Data = Data>>1; /* Mask bit */ uint8_t databit = Data&0x1; if (databit==0) { /* Clear bit */ dotmatrixFramebuf[row+i][module] &= ~(databit<<column); } else { /* Set bit */ dotmatrixFramebuf[row+i][module] |= (databit<<column); } } }}