void glcd_write() { uint8_t bank; for (bank = 0; bank < PCD8544_MAX_BANKS; bank++) { /* Each bank is a single row 8 bits tall */ uint8_t column; if (glcd_bbox_selected->y_min >= (bank+1)*8) { continue; /* Skip the entire bank */ } if (glcd_bbox_selected->y_max < bank*8) { break; /* No more banks need updating */ } glcd_command(PCD8544_SET_Y_ADDRESS | bank); glcd_command(PCD8544_SET_X_ADDRESS | glcd_bbox_selected->x_min); for (column = glcd_bbox_selected->x_min; column <= glcd_bbox_selected->x_max; column++) { glcd_data( glcd_buffer_selected[PCD8544_MAX_COLS * bank + column] ); } } glcd_reset_bbox(); }
void glcd_bbox_reset() { glcd_reset_bbox(); }