I noticed this when comparing this ARM code to ST7789 code I wrote for an Atmel last year. (for the ST7789 240x240)
CASET/RASET sets the address window by coordinates. For a 240x240, this should be 0,0, 239, 239.
I fixed the issue by subtracting 1 from the CASET/RASET calls.
void st7789_set_cursor(uint16_t x, uint16_t y)
{
st7789_caset(x, st7789_width - 1);
st7789_raset(y, st7789_height - 1);
}
I noticed this when comparing this ARM code to ST7789 code I wrote for an Atmel last year. (for the ST7789 240x240)
CASET/RASET sets the address window by coordinates. For a 240x240, this should be 0,0, 239, 239.
I fixed the issue by subtracting 1 from the CASET/RASET calls.
void st7789_set_cursor(uint16_t x, uint16_t y)
{
st7789_caset(x, st7789_width - 1);
st7789_raset(y, st7789_height - 1);
}