6 void ssd1331_scrollDisplay(
screen_t* dev,
int h,
int v) {
8 int mask_cs = (1 << dev->
dev_id);
9 int mask_sdi = (1 << dev->
sdi_pin);
10 int mask_clk = (1 << dev->
clk_pin);
11 int mask_dc = (1 << dev->
dc_pin);
34 if(h < 0) h = dev->
width + h;
35 if(v < 0) v = dev->
height + v;
37 ssd1331_writeLockSet(dev->
dev_id);
39 if (v == 0 && h == 0) {
40 ssd1331_writeByte(mask_cs, mask_sdi, mask_clk, mask_dc, SSD1331_CMD_SCROLLSTOP, 0);
42 ssd1331_writeByte(mask_cs, mask_sdi, mask_clk, mask_dc, SSD1331_CMD_SCROLLSETUP, 0);
44 ssd1331_writeByte(mask_cs, mask_sdi, mask_clk, mask_dc, (
char) h, 0);
45 ssd1331_writeByte(mask_cs, mask_sdi, mask_clk, mask_dc, 0, 0);
46 ssd1331_writeByte(mask_cs, mask_sdi, mask_clk, mask_dc, dev->
width << 1, 0);
47 ssd1331_writeByte(mask_cs, mask_sdi, mask_clk, mask_dc, (
char) v, 0);
48 ssd1331_writeByte(mask_cs, mask_sdi, mask_clk, mask_dc, 0, 0);
53 ssd1331_writeByte(mask_cs, mask_sdi, mask_clk, mask_dc, SSD1331_CMD_SCROLLSTART, 0);
56 ssd1331_writeLockClear(dev->
dev_id);