21 void ssd1331_fillRect(
screen_t* dev,
int x0,
int y0,
int x1,
int y1,
int color) {
22 int mask_cs = (1 << dev->
dev_id);
23 int mask_sdi = (1 << dev->
sdi_pin);
24 int mask_clk = (1 << dev->
clk_pin);
25 int mask_dc = (1 << dev->
dc_pin);
27 ssd1331_writeLockSet(dev->
dev_id);
29 ssd1331_writeByte(mask_cs, mask_sdi, mask_clk, mask_dc, SSD1331_CMD_FILL, 0);
30 ssd1331_writeByte(mask_cs, mask_sdi, mask_clk, mask_dc, 1, 0);
32 ssd1331_writeByte(mask_cs, mask_sdi, mask_clk, mask_dc, SSD1331_CMD_DRAWRECT, 0);
33 ssd1331_writeByte(mask_cs, mask_sdi, mask_clk, mask_dc, x0, 0);
34 ssd1331_writeByte(mask_cs, mask_sdi, mask_clk, mask_dc, y0, 0);
35 ssd1331_writeByte(mask_cs, mask_sdi, mask_clk, mask_dc, x1, 0);
36 ssd1331_writeByte(mask_cs, mask_sdi, mask_clk, mask_dc, y1, 0);
38 ssd1331_writeByte(mask_cs, mask_sdi, mask_clk, mask_dc, (color >> 11) << 1, 0);
39 ssd1331_writeByte(mask_cs, mask_sdi, mask_clk, mask_dc, (color >> 5) & 0x3F, 0);
40 ssd1331_writeByte(mask_cs, mask_sdi, mask_clk, mask_dc, (color << 1) & 0x3F, 0);
41 ssd1331_writeByte(mask_cs, mask_sdi, mask_clk, mask_dc, (color >> 11) << 1, 0);
42 ssd1331_writeByte(mask_cs, mask_sdi, mask_clk, mask_dc, (color >> 5) & 0x3F, 0);
43 ssd1331_writeByte(mask_cs, mask_sdi, mask_clk, mask_dc, (color << 1) & 0x3F, 0);
49 ssd1331_writeLockClear(dev->
dev_id);
53 void ssd1331_clearDisplay(
screen_t* dev) {
54 ssd1331_fillRect(dev, 0, 0, dev->
width - 1, dev->
height - 1, 0);