hi,
and sorry for a little bit confused questions.
For the buffer, i mean VDB (sharp mip) with lv_conf.h configuration :
#define LV_VDB_SIZE ((LV_VER_RES / 4) * LV_HOR_RES) /*[pix]*/
#define LV_VDB_PX_BPP 1
#define LV_VDB_ADR LV_VDB_ADR_INV
#define LV_VDB_DOUBLE 0
This display requires a continuous spi transmission for at least 1 line with header, line address and dummy bytes when updating his ram. The solution i found is to embed these extra bytes in VDB, so the effective size is larger than LV_VDB_SIZE
:
static uint8_t sharp_vdb[(LV_VER_RES / 4) * (2 + (LV_HOR_RES / 8)) + 2]; /*size -> [bytes]*/
using lv_vdb_set_adr()
to set VDB address in littlevGL.
For vdb_wr()
and disp_flush()
, it’s ok, writing pixels in VDB and flushing displays as expected.
I’ve tried to tweak lv_color.h to support 4 gray with color depth = 2 and what i’m not sure is the accuracy of these modifications (lv_color_toX).
Enven so, drivers work, sharp with mono theme and uc1610 with a tweaked mono.
Some basic photos :
sharp_mip :
uc1610 :