Lines Matching refs:st7789_dev

48 static inline void st7789_dc_write_bytes(st7789_dev_t st7789_dev,  in st7789_dc_write_bytes()  argument
53 gpio_output(st7789_dev.gpio_fd, st7789_dev.gpio_dc_id, st7789_dc); in st7789_dc_write_bytes()
54 spi_write(st7789_dev.spi_fd, bytes, size); in st7789_dc_write_bytes()
57 static inline void st7789_dc_write_byte(st7789_dev_t st7789_dev, in st7789_dc_write_byte() argument
61 gpio_output(st7789_dev.gpio_fd, st7789_dev.gpio_dc_id, st7789_dc); in st7789_dc_write_byte()
62 spi_write(st7789_dev.spi_fd, &byte, 1); in st7789_dc_write_byte()
65 int st7789_hw_init(st7789_dev_t *st7789_dev) in st7789_hw_init() argument
70 sprintf(spi_dev_name, "/dev/spi%d", st7789_dev->spi_port); in st7789_hw_init()
72 st7789_dev->spi_fd = open(spi_dev_name, 0); in st7789_hw_init()
74 if (st7789_dev->spi_fd > 0) { in st7789_hw_init()
75 ret |= ioctl(st7789_dev->spi_fd, IOC_SPI_SET_CFLAG, in st7789_hw_init()
78 ioctl(st7789_dev->spi_fd, IOC_SPI_SET_FREQ, st7789_dev->spi_freq); in st7789_hw_init()
79 ret |= ioctl(st7789_dev->spi_fd, IOC_SPI_SET_SERIAL_LEN, 8); in st7789_hw_init()
83 st7789_dev->spi_port, st7789_dev->spi_fd); in st7789_hw_init()
87 st7789_dev->gpio_fd = open("/dev/gpio", 0); in st7789_hw_init()
88 if (st7789_dev->gpio_fd > 0) { in st7789_hw_init()
89 ret |= gpio_output(st7789_dev->gpio_fd, st7789_dev->gpio_reset_id, 0); in st7789_hw_init()
91 ret |= gpio_output(st7789_dev->gpio_fd, st7789_dev->gpio_reset_id, 1); in st7789_hw_init()
95 st7789_dev->gpio_fd); in st7789_hw_init()
99 st7789_init_command(*st7789_dev); in st7789_hw_init()
106 static void st7789_init_command(st7789_dev_t st7789_dev) in st7789_init_command() argument
108 st7789_dc_write_byte(st7789_dev, CMD, ST7789_MADCTL); in st7789_init_command()
109 st7789_dc_write_byte(st7789_dev, DAT, 0x00); in st7789_init_command()
111 st7789_dc_write_byte(st7789_dev, CMD, ST7789_COLMOD); in st7789_init_command()
112 st7789_dc_write_byte(st7789_dev, DAT, 0x05); in st7789_init_command()
114 st7789_dc_write_byte(st7789_dev, CMD, 0xb2); in st7789_init_command()
115 st7789_dc_write_byte(st7789_dev, DAT, 0x0c); in st7789_init_command()
116 st7789_dc_write_byte(st7789_dev, DAT, 0x0c); in st7789_init_command()
117 st7789_dc_write_byte(st7789_dev, DAT, 0x00); in st7789_init_command()
118 st7789_dc_write_byte(st7789_dev, DAT, 0x33); in st7789_init_command()
119 st7789_dc_write_byte(st7789_dev, DAT, 0x33); in st7789_init_command()
121 st7789_dc_write_byte(st7789_dev, CMD, 0xb7); in st7789_init_command()
122 st7789_dc_write_byte(st7789_dev, DAT, 0x70); in st7789_init_command()
124 st7789_dc_write_byte(st7789_dev, CMD, 0xbb); in st7789_init_command()
125 st7789_dc_write_byte(st7789_dev, DAT, 0x21); in st7789_init_command()
127 st7789_dc_write_byte(st7789_dev, CMD, 0xc0); in st7789_init_command()
128 st7789_dc_write_byte(st7789_dev, DAT, 0x2c); in st7789_init_command()
130 st7789_dc_write_byte(st7789_dev, CMD, 0xc2); in st7789_init_command()
131 st7789_dc_write_byte(st7789_dev, DAT, 0x01); in st7789_init_command()
133 st7789_dc_write_byte(st7789_dev, CMD, 0xc3); in st7789_init_command()
134 st7789_dc_write_byte(st7789_dev, DAT, 0x0B); in st7789_init_command()
136 st7789_dc_write_byte(st7789_dev, CMD, 0xc4); in st7789_init_command()
137 st7789_dc_write_byte(st7789_dev, DAT, 0x27); in st7789_init_command()
139 st7789_dc_write_byte(st7789_dev, CMD, 0xc6); in st7789_init_command()
140 st7789_dc_write_byte(st7789_dev, DAT, 0x0f); in st7789_init_command()
142 st7789_dc_write_byte(st7789_dev, CMD, 0xd0); in st7789_init_command()
143 st7789_dc_write_byte(st7789_dev, DAT, 0xa4); in st7789_init_command()
144 st7789_dc_write_byte(st7789_dev, DAT, 0xa1); in st7789_init_command()
146 st7789_dc_write_byte(st7789_dev, CMD, 0xe0); in st7789_init_command()
147 st7789_dc_write_byte(st7789_dev, DAT, 0xD0); in st7789_init_command()
148 st7789_dc_write_byte(st7789_dev, DAT, 0x06); in st7789_init_command()
149 st7789_dc_write_byte(st7789_dev, DAT, 0x0B); in st7789_init_command()
150 st7789_dc_write_byte(st7789_dev, DAT, 0x09); in st7789_init_command()
151 st7789_dc_write_byte(st7789_dev, DAT, 0x08); in st7789_init_command()
152 st7789_dc_write_byte(st7789_dev, DAT, 0x30); in st7789_init_command()
153 st7789_dc_write_byte(st7789_dev, DAT, 0x30); in st7789_init_command()
154 st7789_dc_write_byte(st7789_dev, DAT, 0x5B); in st7789_init_command()
155 st7789_dc_write_byte(st7789_dev, DAT, 0x4B); in st7789_init_command()
156 st7789_dc_write_byte(st7789_dev, DAT, 0x18); in st7789_init_command()
157 st7789_dc_write_byte(st7789_dev, DAT, 0x14); in st7789_init_command()
158 st7789_dc_write_byte(st7789_dev, DAT, 0x14); in st7789_init_command()
159 st7789_dc_write_byte(st7789_dev, DAT, 0x2C); in st7789_init_command()
160 st7789_dc_write_byte(st7789_dev, DAT, 0x32); in st7789_init_command()
162 st7789_dc_write_byte(st7789_dev, CMD, 0xe1); in st7789_init_command()
163 st7789_dc_write_byte(st7789_dev, DAT, 0xD0); in st7789_init_command()
164 st7789_dc_write_byte(st7789_dev, DAT, 0x05); in st7789_init_command()
165 st7789_dc_write_byte(st7789_dev, DAT, 0x0A); in st7789_init_command()
166 st7789_dc_write_byte(st7789_dev, DAT, 0x0A); in st7789_init_command()
167 st7789_dc_write_byte(st7789_dev, DAT, 0x07); in st7789_init_command()
168 st7789_dc_write_byte(st7789_dev, DAT, 0x28); in st7789_init_command()
169 st7789_dc_write_byte(st7789_dev, DAT, 0x32); in st7789_init_command()
170 st7789_dc_write_byte(st7789_dev, DAT, 0x2C); in st7789_init_command()
171 st7789_dc_write_byte(st7789_dev, DAT, 0x49); in st7789_init_command()
172 st7789_dc_write_byte(st7789_dev, DAT, 0x18); in st7789_init_command()
173 st7789_dc_write_byte(st7789_dev, DAT, 0x13); in st7789_init_command()
174 st7789_dc_write_byte(st7789_dev, DAT, 0x13); in st7789_init_command()
175 st7789_dc_write_byte(st7789_dev, DAT, 0x2C); in st7789_init_command()
176 st7789_dc_write_byte(st7789_dev, DAT, 0x33); in st7789_init_command()
178 st7789_dc_write_byte(st7789_dev, CMD, ST7789_INVON); in st7789_init_command()
180 st7789_dc_write_byte(st7789_dev, CMD, ST7789_CASET); in st7789_init_command()
181 st7789_dc_write_byte(st7789_dev, DAT, 0x00); in st7789_init_command()
182 st7789_dc_write_byte(st7789_dev, DAT, 0x00); in st7789_init_command()
183 st7789_dc_write_byte(st7789_dev, DAT, 0x00); in st7789_init_command()
184 st7789_dc_write_byte(st7789_dev, DAT, 0xEF); in st7789_init_command()
186 st7789_dc_write_byte(st7789_dev, CMD, ST7789_RASET); in st7789_init_command()
187 st7789_dc_write_byte(st7789_dev, DAT, 0x00); in st7789_init_command()
188 st7789_dc_write_byte(st7789_dev, DAT, 0x00); in st7789_init_command()
189 st7789_dc_write_byte(st7789_dev, DAT, 0x01); in st7789_init_command()
190 st7789_dc_write_byte(st7789_dev, DAT, 0x3F); in st7789_init_command()
192 st7789_dc_write_byte(st7789_dev, CMD, ST7789_SLPOUT); in st7789_init_command()
195 st7789_dc_write_byte(st7789_dev, CMD, ST7789_DISPON); in st7789_init_command()
196 st7789_dc_write_byte(st7789_dev, CMD, ST7789_RAMWR); in st7789_init_command()
199 int st7789_hw_uninit(st7789_dev_t *st7789_dev) in st7789_hw_uninit() argument
202 ret |= close(st7789_dev->spi_fd); in st7789_hw_uninit()
203 ret |= close(st7789_dev->gpio_fd); in st7789_hw_uninit()
207 static void set_addr_window(st7789_dev_t st7789_dev, in set_addr_window() argument
225 st7789_dc_write_byte(st7789_dev, CMD, ST7789_CASET); in set_addr_window()
226 st7789_dc_write_bytes(st7789_dev, DAT, data, 4); in set_addr_window()
238 st7789_dc_write_byte(st7789_dev, CMD, ST7789_RASET); in set_addr_window()
239 st7789_dc_write_bytes(st7789_dev, DAT, data, 4); in set_addr_window()
241 st7789_dc_write_byte(st7789_dev, CMD, ST7789_RAMWR); in set_addr_window()
244 void st7789_draw_pixel(st7789_dev_t st7789_dev, in st7789_draw_pixel() argument
249 set_addr_window(st7789_dev, x, y, x, y); in st7789_draw_pixel()
251 st7789_dc_write_bytes(st7789_dev, DAT, data, 2); in st7789_draw_pixel()
254 void st7789_draw_area(st7789_dev_t st7789_dev, in st7789_draw_area() argument
263 set_addr_window(st7789_dev, x, y, x + width - 1, y + height - 1); in st7789_draw_area()
270 st7789_dc_write_bytes(st7789_dev, DAT, burst_buffer, bufferSize); in st7789_draw_area()
274 void st7789_draw_rect(st7789_dev_t st7789_dev, in st7789_draw_rect() argument
281 set_addr_window(st7789_dev, x, y, x + width - 1, y + height - 1); in st7789_draw_rect()
287 st7789_dc_write_bytes(st7789_dev, DAT, burst_buffer, bufferSize); in st7789_draw_rect()
291 void st7789_draw_frame(st7789_dev_t st7789_dev, uint8_t *frame) in st7789_draw_frame() argument
295 set_addr_window(st7789_dev, 0, 0, ST7789_WIDTH - 1, ST7789_HEIGHT - 1); in st7789_draw_frame()
301 st7789_dc_write_bytes(st7789_dev, DAT, burst_buffer, bufferSize); in st7789_draw_frame()
305 void st7789_set_rotation(st7789_dev_t st7789_dev, uint16_t rotation) in st7789_set_rotation() argument
307 st7789_dc_write_byte(st7789_dev, CMD, ST7789_MADCTL); in st7789_set_rotation()
310 st7789_dc_write_byte(st7789_dev, DAT, in st7789_set_rotation()
314 st7789_dc_write_byte(st7789_dev, DAT, in st7789_set_rotation()
319 st7789_dc_write_byte(st7789_dev, DAT, in st7789_set_rotation()
323 st7789_dc_write_byte(st7789_dev, DAT, in st7789_set_rotation()
332 void st7789_set_invert(st7789_dev_t st7789_dev, uint8_t invert) in st7789_set_invert() argument
334 st7789_dc_write_byte(st7789_dev, CMD, in st7789_set_invert()
338 void st7789_enter_sleep(st7789_dev_t st7789_dev) in st7789_enter_sleep() argument
340 st7789_dc_write_byte(st7789_dev, CMD, 0x28); in st7789_enter_sleep()
342 st7789_dc_write_byte(st7789_dev, CMD, 0x10); in st7789_enter_sleep()
345 void st7789_exit_sleep(st7789_dev_t st7789_dev) in st7789_exit_sleep() argument
347 st7789_dc_write_byte(st7789_dev, CMD, 0x11); in st7789_exit_sleep()
349 st7789_dc_write_byte(st7789_dev, CMD, 0x29); in st7789_exit_sleep()