# HG changeset patch # User Mychaela Falconia # Date 1523688203 0 # Node ID 94521a02c33dd7bdab42b270b377dae467b4c30c # Parent 2127e6fdeab2de8326c8c9e1209b29f4c4775fbb lcdtest: the truth about Startek and Crystalfontz LCDs diff -r 2127e6fdeab2 -r 94521a02c33d lcdtest/Makefile --- a/lcdtest/Makefile Sat Apr 14 06:32:41 2018 +0000 +++ b/lcdtest/Makefile Sat Apr 14 06:43:23 2018 +0000 @@ -1,7 +1,7 @@ CC= gcc CFLAGS= -O2 PROG= lcdtest -OBJS= busops.o commands.o dispatch.o init.o main.o readops.o showppm.o +OBJS= busops.o commands.o dispatch.o main.o readops.o showppm.o startek.o all: ${PROG} diff -r 2127e6fdeab2 -r 94521a02c33d lcdtest/dispatch.c --- a/lcdtest/dispatch.c Sat Apr 14 06:32:41 2018 +0000 +++ b/lcdtest/dispatch.c Sat Apr 14 06:43:23 2018 +0000 @@ -7,7 +7,6 @@ extern int cmd_cd(); extern int cmd_fc(); extern int cmd_fr(); -extern int cmd_init_st(); extern int cmd_rd(); extern int cmd_ri(); extern int cmd_show(); @@ -16,6 +15,7 @@ extern int cmd_wr(); extern int reset_pulse(); +extern int init_startek(); cmd_exit() { @@ -32,7 +32,7 @@ {"exit", 0, 0, cmd_exit}, {"fc", 1, 16, cmd_fc}, {"fr", 1, 1, cmd_fr}, - {"init-st", 0, 0, cmd_init_st}, + {"init-st", 0, 0, init_startek}, {"quit", 0, 0, cmd_exit}, {"rd", 0, 0, cmd_rd}, {"reset", 0, 0, reset_pulse}, diff -r 2127e6fdeab2 -r 94521a02c33d lcdtest/init.c --- a/lcdtest/init.c Sat Apr 14 06:32:41 2018 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -/* - * ST7775R register init, same for Crystalfontz CFAF176220U-020T - * and Startek KD020C-2A. - */ - -cmd_init_st() -{ - /* basic settings */ - write_ir(0x01); - write_dr(0x011C); - write_ir(0x02); - write_dr(0x0100); - write_ir(0x03); - write_dr(0x1030); - write_ir(0x0F); - write_dr(0x0001); - write_ir(0x10); - write_dr(0x0000); - write_ir(0x11); - write_dr(0x1000); - /* gamma control registers */ - write_ir(0x50); - write_dr(0x0203); - write_ir(0x51); - write_dr(0x0A09); - write_ir(0x52); - write_dr(0x0005); - write_ir(0x53); - write_dr(0x1021); - write_ir(0x54); - write_dr(0x0602); - write_ir(0x55); - write_dr(0x0003); - write_ir(0x56); - write_dr(0x0703); - write_ir(0x57); - write_dr(0x0507); - write_ir(0x58); - write_dr(0x1021); - write_ir(0x59); - write_dr(0x0703); - /* VCOM */ - write_ir(0xB0); - write_dr(0x2501); - /* turn it on! */ - write_ir(0x07); - write_dr(0x1017); - return(0); -} diff -r 2127e6fdeab2 -r 94521a02c33d lcdtest/startek.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lcdtest/startek.c Sat Apr 14 06:43:23 2018 +0000 @@ -0,0 +1,49 @@ +/* + * ST7775R register init for Startek LCDs KD020C-1 V2 and KD020C-2A, + * the former of which is also sold by Crystalfontz as CFAF176220U-020T. + */ + +init_startek() +{ + /* basic settings */ + write_ir(0x01); + write_dr(0x011C); + write_ir(0x02); + write_dr(0x0100); + write_ir(0x03); + write_dr(0x1030); + write_ir(0x0F); + write_dr(0x0001); + write_ir(0x10); + write_dr(0x0000); + write_ir(0x11); + write_dr(0x1000); + /* gamma control registers */ + write_ir(0x50); + write_dr(0x0203); + write_ir(0x51); + write_dr(0x0A09); + write_ir(0x52); + write_dr(0x0005); + write_ir(0x53); + write_dr(0x1021); + write_ir(0x54); + write_dr(0x0602); + write_ir(0x55); + write_dr(0x0003); + write_ir(0x56); + write_dr(0x0703); + write_ir(0x57); + write_dr(0x0507); + write_ir(0x58); + write_dr(0x1021); + write_ir(0x59); + write_dr(0x0703); + /* VCOM */ + write_ir(0xB0); + write_dr(0x2501); + /* turn it on! */ + write_ir(0x07); + write_dr(0x1017); + return(0); +}