LibDriver ST7789
Loading...
Searching...
No Matches
driver_st7789_basic.c
Go to the documentation of this file.
1
36
37#include "driver_st7789_basic.h"
38
39static st7789_handle_t gs_handle;
40
48uint8_t st7789_basic_init(void)
49{
50 uint8_t res;
51 uint8_t reg;
52 uint16_t i;
53 uint8_t param_positive[14] = ST7789_BASIC_DEFAULT_POSITIVE_VOLTAGE_GAMMA;
54 uint8_t param_negative[14] = ST7789_BASIC_DEFAULT_NEGATIVA_VOLTAGE_GAMMA;
55 uint8_t params[64];
56
57 /* link functions */
70
71 /* st7789 init */
72 res = st7789_init(&gs_handle);
73 if (res != 0)
74 {
75 st7789_interface_debug_print("st7789: init failed.\n");
76
77 return 1;
78 }
79
80 /* set default column */
82 if (res != 0)
83 {
84 st7789_interface_debug_print("st7789: set column failed.\n");
85 (void)st7789_deinit(&gs_handle);
86
87 return 1;
88 }
89
90 /* set default row */
92 if (res != 0)
93 {
94 st7789_interface_debug_print("st7789: set row failed.\n");
95 (void)st7789_deinit(&gs_handle);
96
97 return 1;
98 }
99
100 /* sleep out */
101 res = st7789_sleep_out(&gs_handle);
102 if (res != 0)
103 {
104 st7789_interface_debug_print("st7789: sleep out failed.\n");
105 (void)st7789_deinit(&gs_handle);
106
107 return 1;
108 }
109
110 /* idle mode off */
111 res = st7789_idle_mode_off(&gs_handle);
112 if (res != 0)
113 {
114 st7789_interface_debug_print("st7789: idle mode off failed.\n");
115 (void)st7789_deinit(&gs_handle);
116
117 return 1;
118 }
119
120 /* normal display mode on */
121 res = st7789_normal_display_mode_on(&gs_handle);
122 if (res != 0)
123 {
124 st7789_interface_debug_print("st7789: normal display mode on failed.\n");
125 (void)st7789_deinit(&gs_handle);
126
127 return 1;
128 }
129
130 /* display inversion on */
131 res = st7789_display_inversion_on(&gs_handle);
132 if (res != 0)
133 {
134 st7789_interface_debug_print("st7789: display inversion on failed.\n");
135 (void)st7789_deinit(&gs_handle);
136
137 return 1;
138 }
139
140 /* set default gamma */
142 if (res != 0)
143 {
144 st7789_interface_debug_print("st7789: set gamma failed.\n");
145 (void)st7789_deinit(&gs_handle);
146
147 return 1;
148 }
149
150 /* set default memory data access control */
152 if (res != 0)
153 {
154 st7789_interface_debug_print("st7789: set memory data access control failed.\n");
155 (void)st7789_deinit(&gs_handle);
156
157 return 1;
158 }
159
160 /* set default pixel format */
163 if (res != 0)
164 {
165 st7789_interface_debug_print("st7789: set interface pixel format failed.\n");
166 (void)st7789_deinit(&gs_handle);
167
168 return 1;
169 }
170
171 /* set default brightness */
173 if (res != 0)
174 {
175 st7789_interface_debug_print("st7789: set display brightness failed.\n");
176 (void)st7789_deinit(&gs_handle);
177
178 return 1;
179 }
180
181 /* set default brightness control */
182 res = st7789_set_display_control(&gs_handle,
186 if (res != 0)
187 {
188 st7789_interface_debug_print("st7789: set display control failed.\n");
189 (void)st7789_deinit(&gs_handle);
190
191 return 1;
192 }
193
194 /* set default color enhancement */
198 if (res != 0)
199 {
200 st7789_interface_debug_print("st7789: set brightness control and color enhancement failed.\n");
201 (void)st7789_deinit(&gs_handle);
202
203 return 1;
204 }
205
206 /* set default cabc minimum brightness */
208 if (res != 0)
209 {
210 st7789_interface_debug_print("st7789: set cabc minimum brightness failed.\n");
211 (void)st7789_deinit(&gs_handle);
212
213 return 1;
214 }
215
216 /* set default ram control */
217 res = st7789_set_ram_control(&gs_handle,
224 if (res != 0)
225 {
226 st7789_interface_debug_print("st7789: set ram control failed.\n");
227 (void)st7789_deinit(&gs_handle);
228
229 return 1;
230 }
231
232 /* set default rgb interface control */
233 res = st7789_set_rgb_interface_control(&gs_handle,
242 if (res != 0)
243 {
244 st7789_interface_debug_print("st7789: set rgb interface control failed.\n");
245 (void)st7789_deinit(&gs_handle);
246
247 return 1;
248 }
249
250 /* set default porch */
251 res = st7789_set_porch(&gs_handle,
259 if (res != 0)
260 {
261 st7789_interface_debug_print("st7789: set porch failed.\n");
262 (void)st7789_deinit(&gs_handle);
263
264 return 1;
265 }
266
267 /* set default frame rate control */
268 res = st7789_set_frame_rate_control(&gs_handle,
275 if (res != 0)
276 {
277 st7789_interface_debug_print("st7789: set frame rate control failed.\n");
278 (void)st7789_deinit(&gs_handle);
279
280 return 1;
281 }
282
283 /* set default partial mode control */
284 res = st7789_set_partial_mode_control(&gs_handle,
288 if (res != 0)
289 {
290 st7789_interface_debug_print("st7789: set partial mode control failed.\n");
291 (void)st7789_deinit(&gs_handle);
292
293 return 1;
294 }
295
296 /* set default gate control */
298 if (res != 0)
299 {
300 st7789_interface_debug_print("st7789: set gate control failed.\n");
301 (void)st7789_deinit(&gs_handle);
302
303 return 1;
304 }
305
306 /* set default gate on timing adjustment */
311 if (res != 0)
312 {
313 st7789_interface_debug_print("st7789: set gate on timing adjustment failed.\n");
314 (void)st7789_deinit(&gs_handle);
315
316 return 1;
317 }
318
319 /* set default digital gamma */
321 if (res != 0)
322 {
323 st7789_interface_debug_print("st7789: set digital gamma failed.\n");
324 (void)st7789_deinit(&gs_handle);
325
326 return 1;
327 }
328
329 /* vcom convert to register */
331 if (res != 0)
332 {
333 st7789_interface_debug_print("st7789: vcom convert to register failed.\n");
334 (void)st7789_deinit(&gs_handle);
335
336 return 1;
337 }
338
339 /* set default vcoms */
340 res = st7789_set_vcoms(&gs_handle, reg);
341 if (res != 0)
342 {
343 st7789_interface_debug_print("st7789: set vcoms failed.\n");
344 (void)st7789_deinit(&gs_handle);
345
346 return 1;
347 }
348
349 /* set default lcm control */
350 res = st7789_set_lcm_control(&gs_handle,
358 if (res != 0)
359 {
360 st7789_interface_debug_print("st7789: set lcm control failed.\n");
361 (void)st7789_deinit(&gs_handle);
362
363 return 1;
364 }
365
366 /* set default vdv vrh cmd */
368 if (res != 0)
369 {
370 st7789_interface_debug_print("st7789: set vdv vrh from failed.\n");
371 (void)st7789_deinit(&gs_handle);
372
373 return 1;
374 }
375
376 /* vrhs convert to register */
378 if (res != 0)
379 {
380 st7789_interface_debug_print("st7789: vrhs convert to register failed.\n");
381 (void)st7789_deinit(&gs_handle);
382
383 return 1;
384 }
385
386 /* set default vrhs */
387 res = st7789_set_vrhs(&gs_handle, reg);
388 if (res != 0)
389 {
390 st7789_interface_debug_print("st7789: set vrhs failed.\n");
391 (void)st7789_deinit(&gs_handle);
392
393 return 1;
394 }
395
396 /* vdv convert to register */
398 if (res != 0)
399 {
400 st7789_interface_debug_print("st7789: vdv convert to register failed.\n");
401 (void)st7789_deinit(&gs_handle);
402
403 return 1;
404 }
405
406 /* set default vdv */
407 res = st7789_set_vdv(&gs_handle, reg);
408 if (res != 0)
409 {
410 st7789_interface_debug_print("st7789: set vdv failed.\n");
411 (void)st7789_deinit(&gs_handle);
412
413 return 1;
414 }
415
416 /* vcoms offset convert to register */
418 if (res != 0)
419 {
420 st7789_interface_debug_print("st7789: vcoms offset convert to register failed.\n");
421 (void)st7789_deinit(&gs_handle);
422
423 return 1;
424 }
425
426 /* set default vcoms offset */
427 res = st7789_set_vcoms_offset(&gs_handle, reg);
428 if (res != 0)
429 {
430 st7789_interface_debug_print("st7789: set vcoms offset failed.\n");
431 (void)st7789_deinit(&gs_handle);
432
433 return 1;
434 }
435
436 /* set default frame rate */
438 if (res != 0)
439 {
440 st7789_interface_debug_print("st7789: set frame rate failed.\n");
441 (void)st7789_deinit(&gs_handle);
442
443 return 1;
444 }
445
446 /* set default cabc control */
447 res = st7789_set_cabc_control(&gs_handle,
452 if (res != 0)
453 {
454 st7789_interface_debug_print("st7789: set cabc control failed.\n");
455 (void)st7789_deinit(&gs_handle);
456
457 return 1;
458 }
459
460 /* set default pwm frequency */
462 if (res != 0)
463 {
464 st7789_interface_debug_print("st7789: set pwm frequency failed.\n");
465 (void)st7789_deinit(&gs_handle);
466
467 return 1;
468 }
469
470 /* set default power control 1 */
471 res = st7789_set_power_control_1(&gs_handle,
475 if (res != 0)
476 {
477 st7789_interface_debug_print("st7789: set power control 1 failed.\n");
478 (void)st7789_deinit(&gs_handle);
479
480 return 1;
481 }
482
483 /* set default command 2 */
485 if (res != 0)
486 {
487 st7789_interface_debug_print("st7789: set command 2 enable failed.\n");
488 (void)st7789_deinit(&gs_handle);
489
490 return 1;
491 }
492
493 /* set default positive voltage gamma control */
494 res = st7789_set_positive_voltage_gamma_control(&gs_handle, param_positive);
495 if (res != 0)
496 {
497 st7789_interface_debug_print("st7789: set positive voltage gamma control failed.\n");
498 (void)st7789_deinit(&gs_handle);
499
500 return 1;
501 }
502
503 /* set default negative voltage gamma control */
504 res = st7789_set_negative_voltage_gamma_control(&gs_handle, param_negative);
505 if (res != 0)
506 {
507 st7789_interface_debug_print("st7789: set negative voltage gamma control failed.\n");
508 (void)st7789_deinit(&gs_handle);
509
510 return 1;
511 }
512
513 /* create the table */
514 for (i = 0; i < 64; i++)
515 {
516 params[i] = i * 4;
517 }
518
519 /* set default digital gamma look up table red */
520 res = st7789_set_digital_gamma_look_up_table_red(&gs_handle, params);
521 if (res != 0)
522 {
523 st7789_interface_debug_print("st7789: set digital gamma look up table red ailed.\n");
524 (void)st7789_deinit(&gs_handle);
525
526 return 1;
527 }
528
529 /* set default digital gamma look up table blue */
530 res = st7789_set_digital_gamma_look_up_table_blue(&gs_handle, params);
531 if (res != 0)
532 {
533 st7789_interface_debug_print("st7789: set digital gamma look up table blue ailed.\n");
534 (void)st7789_deinit(&gs_handle);
535
536 return 1;
537 }
538
539 /* set default gate line convert to register */
541 if (res != 0)
542 {
543 st7789_interface_debug_print("st7789: gate line convert to register failed.\n");
544 (void)st7789_deinit(&gs_handle);
545
546 return 1;
547 }
548
549 /* set default gate */
550 res = st7789_set_gate(&gs_handle,
551 reg,
555 if (res != 0)
556 {
557 st7789_interface_debug_print("st7789: set gate failed.\n");
558 (void)st7789_deinit(&gs_handle);
559
560 return 1;
561 }
562
563 /* set default spi2 */
565 if (res != 0)
566 {
567 st7789_interface_debug_print("st7789: set spi2 enable failed.\n");
568 (void)st7789_deinit(&gs_handle);
569
570 return 1;
571 }
572
573 /* set default power control 2 */
575 if (res != 0)
576 {
577 st7789_interface_debug_print("st7789: set power control 2 failed.\n");
578 (void)st7789_deinit(&gs_handle);
579
580 return 1;
581 }
582
583 /* set default equalize time control */
584 res = st7789_set_equalize_time_control(&gs_handle,
588 if (res != 0)
589 {
590 st7789_interface_debug_print("st7789: set equalize time control failed.\n");
591 (void)st7789_deinit(&gs_handle);
592
593 return 1;
594 }
595
596 /* set default program mode */
598 if (res != 0)
599 {
600 st7789_interface_debug_print("st7789: set program mode enable ailed.\n");
601 (void)st7789_deinit(&gs_handle);
602
603 return 1;
604 }
605
606 /* display on */
607 res = st7789_display_on(&gs_handle);
608 if (res != 0)
609 {
610 st7789_interface_debug_print("st7789: display on failed.\n");
611 (void)st7789_deinit(&gs_handle);
612
613 return 1;
614 }
615
616 /* clear */
617 res = st7789_clear(&gs_handle);
618 if (res != 0)
619 {
620 st7789_interface_debug_print("st7789: clear failed.\n");
621 (void)st7789_deinit(&gs_handle);
622
623 return 1;
624 }
625
626 return 0;
627}
628
637{
638 /* st7789 deinit */
639 if (st7789_deinit(&gs_handle) != 0)
640 {
641 return 1;
642 }
643
644 return 0;
645}
646
655{
656 /* st7789 clear */
657 if (st7789_clear(&gs_handle) != 0)
658 {
659 return 1;
660 }
661
662 return 0;
663}
664
673{
674 /* display on */
675 if (st7789_display_on(&gs_handle) != 0)
676 {
677 return 1;
678 }
679
680 return 0;
681}
682
691{
692 /* display off */
693 if (st7789_display_off(&gs_handle) != 0)
694 {
695 return 1;
696 }
697
698 return 0;
699}
700
714uint8_t st7789_basic_string(uint16_t x, uint16_t y, char *str, uint16_t len, uint32_t color, st7789_font_t font)
715{
716 /* write string */
717 if (st7789_write_string(&gs_handle, x, y, str, len, color, font) != 0)
718 {
719 return 1;
720 }
721
722 return 0;
723}
724
735uint8_t st7789_basic_write_point(uint16_t x, uint16_t y, uint32_t color)
736{
737 /* draw point */
738 if (st7789_draw_point(&gs_handle, x, y, color) != 0)
739 {
740 return 1;
741 }
742
743 return 0;
744}
745
758uint8_t st7789_basic_rect(uint16_t left, uint16_t top, uint16_t right, uint16_t bottom, uint32_t color)
759{
760 /* fill rect */
761 if (st7789_fill_rect(&gs_handle, left, top, right, bottom, color) != 0)
762 {
763 return 1;
764 }
765
766 return 0;
767}
768
781uint8_t st7789_basic_draw_picture_16bits(uint16_t left, uint16_t top, uint16_t right, uint16_t bottom, uint16_t *img)
782{
783 /* draw picture in 16 bits */
784 if (st7789_draw_picture_16bits(&gs_handle, left, top, right, bottom, img) != 0)
785 {
786 return 1;
787 }
788
789 return 0;
790}
driver st7789 basic header file
uint8_t st7789_vrhs_convert_to_register(st7789_handle_t *handle, float v, uint8_t *reg)
convert the vrhs to the register raw data
uint8_t st7789_set_gate_on_timing_adjustment(st7789_handle_t *handle, uint8_t gate_on_timing_adjustment, uint8_t gate_off_timing_adjustment_rgb, uint8_t gate_off_timing_adjustment)
set gate on timing adjustment
uint8_t st7789_vdv_convert_to_register(st7789_handle_t *handle, float v, uint8_t *reg)
convert the vdv to the register raw data
uint8_t st7789_set_vcoms_offset(st7789_handle_t *handle, uint8_t offset)
set vcoms offset
uint8_t st7789_set_rgb_interface_control(st7789_handle_t *handle, st7789_direct_rgb_mode_t rgb_mode, st7789_rgb_if_enable_mode_t rgb_if_mode, st7789_pin_level_t vspl, st7789_pin_level_t hspl, st7789_pin_level_t dpl, st7789_pin_level_t epl, uint8_t vbp, uint8_t hbp)
set rgb interface control
uint8_t st7789_set_program_mode_enable(st7789_handle_t *handle, st7789_bool_t enable)
enable or disable program mode
uint8_t st7789_set_command_2_enable(st7789_handle_t *handle, st7789_bool_t enable)
enable or disable command 2
uint8_t st7789_set_equalize_time_control(st7789_handle_t *handle, uint8_t source_equalize_time, uint8_t source_pre_drive_time, uint8_t gate_equalize_time)
set equalize time control
uint8_t st7789_set_positive_voltage_gamma_control(st7789_handle_t *handle, uint8_t param[14])
set positive voltage gamma control
uint8_t st7789_set_vdv_vrh_from(st7789_handle_t *handle, st7789_vdv_vrh_from_t from)
set vdv vrh from
uint8_t st7789_set_vcoms(st7789_handle_t *handle, uint8_t vcoms)
set vcoms
uint8_t st7789_set_digital_gamma(st7789_handle_t *handle, st7789_bool_t enable)
enable or disable digital gamma
uint8_t st7789_set_frame_rate(st7789_handle_t *handle, st7789_inversion_selection_t selection, st7789_frame_rate_t rate)
set frame rate
uint8_t st7789_set_negative_voltage_gamma_control(st7789_handle_t *handle, uint8_t param[14])
set negative voltage gamma control
uint8_t st7789_set_lcm_control(st7789_handle_t *handle, st7789_bool_t xmy, st7789_bool_t xbgr, st7789_bool_t xinv, st7789_bool_t xmx, st7789_bool_t xmh, st7789_bool_t xmv, st7789_bool_t xgs)
set lcm control
uint8_t st7789_set_power_control_1(st7789_handle_t *handle, st7789_avdd_t avdd, st7789_avcl_t avcl, st7789_vds_t vds)
set power control 1
uint8_t st7789_set_frame_rate_control(st7789_handle_t *handle, st7789_bool_t separate_fr_control, st7789_frame_rate_divided_control_t div_control, st7789_inversion_idle_mode_t idle_mode, uint8_t idle_frame_rate, st7789_inversion_partial_mode_t partial_mode, uint8_t partial_frame_rate)
set frame rate control
uint8_t st7789_set_ram_control(st7789_handle_t *handle, st7789_ram_access_t ram_mode, st7789_display_mode_t display_mode, st7789_frame_type_t frame_type, st7789_data_mode_t data_mode, st7789_rgb_bus_width_t bus_width, st7789_pixel_type_t pixel_type)
set ram control
uint8_t st7789_vcoms_offset_convert_to_register(st7789_handle_t *handle, float v, uint8_t *reg)
convert the vcoms offset to the register raw data
uint8_t st7789_set_gate(st7789_handle_t *handle, uint8_t gate_line_number, uint8_t first_scan_line_number, st7789_gate_scan_mode_t mode, st7789_gate_scan_direction_t direction)
set gate
uint8_t st7789_set_gate_control(st7789_handle_t *handle, st7789_vghs_t vghs, st7789_vgls_t vgls)
set gate control
uint8_t st7789_set_cabc_control(st7789_handle_t *handle, st7789_bool_t led_on, st7789_bool_t led_pwm_init, st7789_bool_t led_pwm_fix, st7789_bool_t led_pwm_polarity)
set cabc control
uint8_t st7789_set_partial_mode_control(st7789_handle_t *handle, st7789_non_display_source_output_level_t level, st7789_non_display_area_scan_mode_t mode, st7789_non_display_frame_frequency_t frequency)
set partial mode control
uint8_t st7789_set_pwm_frequency(st7789_handle_t *handle, st7789_pwm_frequency_t frequency)
set pwm frequency
uint8_t st7789_set_spi2_enable(st7789_handle_t *handle, st7789_bool_t date_lane, st7789_bool_t command_table_2)
set spi2 enable
uint8_t st7789_set_porch(st7789_handle_t *handle, uint8_t back_porch_normal, uint8_t front_porch_normal, st7789_bool_t separate_porch_enable, uint8_t back_porch_idle, uint8_t front_porch_idle, uint8_t back_porch_partial, uint8_t front_porch_partial)
set porch
uint8_t st7789_set_power_control_2(st7789_handle_t *handle, st7789_sbclk_div_t sbclk, st7789_stp14ck_div_t stp14ck)
set power control 2
uint8_t st7789_vcom_convert_to_register(st7789_handle_t *handle, float v, uint8_t *reg)
convert the vcom to the register raw data
uint8_t st7789_set_vdv(st7789_handle_t *handle, uint8_t vdv)
set vdv
uint8_t st7789_set_vrhs(st7789_handle_t *handle, uint8_t vrhs)
set vrhs
uint8_t st7789_set_digital_gamma_look_up_table_blue(st7789_handle_t *handle, uint8_t param[64])
set blue digital gamma look up table
uint8_t st7789_set_digital_gamma_look_up_table_red(st7789_handle_t *handle, uint8_t param[64])
set red digital gamma look up table
uint8_t st7789_gate_line_convert_to_register(st7789_handle_t *handle, uint16_t l, uint8_t *reg)
convert the gate line to the register raw data
st7789_font_t
st7789 font size enumeration definition
uint8_t st7789_display_on(st7789_handle_t *handle)
display on
uint8_t st7789_init(st7789_handle_t *handle)
initialize the chip
struct st7789_handle_s st7789_handle_t
st7789 handle structure definition
uint8_t st7789_set_row(st7789_handle_t *handle, uint16_t row)
set row
uint8_t st7789_normal_display_mode_on(st7789_handle_t *handle)
normal display mode on
uint8_t st7789_write_string(st7789_handle_t *handle, uint16_t x, uint16_t y, char *str, uint16_t len, uint32_t color, st7789_font_t font)
write a string in the display
uint8_t st7789_set_display_control(st7789_handle_t *handle, st7789_bool_t brightness_control_block, st7789_bool_t display_dimming, st7789_bool_t backlight_control)
set display control
uint8_t st7789_fill_rect(st7789_handle_t *handle, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom, uint32_t color)
fill the rect
uint8_t st7789_set_cabc_minimum_brightness(st7789_handle_t *handle, uint8_t brightness)
set cabc minimum brightness
uint8_t st7789_set_interface_pixel_format(st7789_handle_t *handle, st7789_rgb_interface_color_format_t rgb, st7789_control_interface_color_format_t control)
set interface pixel format
uint8_t st7789_idle_mode_off(st7789_handle_t *handle)
idle mode off
uint8_t st7789_deinit(st7789_handle_t *handle)
close the chip
uint8_t st7789_set_brightness_control_and_color_enhancement(st7789_handle_t *handle, st7789_bool_t color_enhancement, st7789_color_enhancement_mode_t mode, st7789_color_enhancement_level_t level)
set brightness control and color enhancement
uint8_t st7789_draw_picture_16bits(st7789_handle_t *handle, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom, uint16_t *image)
draw a picture
uint8_t st7789_clear(st7789_handle_t *handle)
clear the display
uint8_t st7789_display_off(st7789_handle_t *handle)
display off
uint8_t st7789_set_gamma(st7789_handle_t *handle, uint8_t gamma)
set gamma
uint8_t st7789_set_display_brightness(st7789_handle_t *handle, uint8_t brightness)
set display brightness
uint8_t st7789_set_column(st7789_handle_t *handle, uint16_t column)
set column
uint8_t st7789_display_inversion_on(st7789_handle_t *handle)
display inversion on
uint8_t st7789_draw_point(st7789_handle_t *handle, uint16_t x, uint16_t y, uint32_t color)
draw a point in the display
uint8_t st7789_sleep_out(st7789_handle_t *handle)
sleep out
uint8_t st7789_set_memory_data_access_control(st7789_handle_t *handle, uint8_t order)
set memory data access control
#define ST7789_BASIC_DEFAULT_GATE_OFF_TIMING_RGB
#define ST7789_BASIC_DEFAULT_LED_PWM_INIT
#define ST7789_BASIC_DEFAULT_VDV
#define ST7789_BASIC_DEFAULT_VGLS_NEGATIVE
uint8_t st7789_basic_draw_picture_16bits(uint16_t left, uint16_t top, uint16_t right, uint16_t bottom, uint16_t *img)
basic example draw a 16 bits picture
uint8_t st7789_basic_rect(uint16_t left, uint16_t top, uint16_t right, uint16_t bottom, uint32_t color)
basic example fill a rectangle
#define ST7789_BASIC_DEFAULT_INVERSION_SELECTION
#define ST7789_BASIC_DEFAULT_PROGRAM_MODE
#define ST7789_BASIC_DEFAULT_INVERSION_IDLE_MODE
#define ST7789_BASIC_DEFAULT_VCOMS
#define ST7789_BASIC_DEFAULT_PORCH_ENABLE
#define ST7789_BASIC_DEFAULT_NON_DISPLAY_SOURCE_OUTPUT_LEVEL
#define ST7789_BASIC_DEFAULT_LED_PWM_FIX
#define ST7789_BASIC_DEFAULT_SOURCE_EQUALIZE_TIME
#define ST7789_BASIC_DEFAULT_PORCH_NORMAL_BACK
#define ST7789_BASIC_DEFAULT_SOURCE_PRE_DRIVE_TIME
#define ST7789_BASIC_DEFAULT_DISPLAY_DIMMING
#define ST7789_BASIC_DEFAULT_AVCL_NEGTIVE
#define ST7789_BASIC_DEFAULT_VSPL
#define ST7789_BASIC_DEFAULT_NON_DISPLAY_FRAME_FREQUENCY
#define ST7789_BASIC_DEFAULT_XGS
#define ST7789_BASIC_DEFAULT_XBGR
#define ST7789_BASIC_DEFAULT_HBP
#define ST7789_BASIC_DEFAULT_DISPLAY_MODE
#define ST7789_BASIC_DEFAULT_ACCESS
#define ST7789_BASIC_DEFAULT_GATE_EQUALIZE_TIME
#define ST7789_BASIC_DEFAULT_DIGITAL_GAMMA
#define ST7789_BASIC_DEFAULT_SBCLK_DIV
#define ST7789_BASIC_DEFAULT_EPL
#define ST7789_BASIC_DEFAULT_XMY
#define ST7789_BASIC_DEFAULT_BRIGHTNESS_BLOCK
#define ST7789_BASIC_DEFAULT_FIRST_SCAN_LINE
#define ST7789_BASIC_DEFAULT_LED_PWM_POLARITY
#define ST7789_BASIC_DEFAULT_VRHS
#define ST7789_BASIC_DEFAULT_GATE_SCAN_MODE
uint8_t st7789_basic_clear(void)
basic example clear
#define ST7789_BASIC_DEFAULT_VDS
#define ST7789_BASIC_DEFAULT_XMV
#define ST7789_BASIC_DEFAULT_FRAME_TYPE
#define ST7789_BASIC_DEFAULT_COLOR_ENHANCEMENT
#define ST7789_BASIC_DEFAULT_GATE_ON_TIMING
uint8_t st7789_basic_init(void)
basic example init
#define ST7789_BASIC_DEFAULT_VBP
#define ST7789_BASIC_DEFAULT_RGB_BUS_WIDTH
#define ST7789_BASIC_DEFAULT_RAM_ACCESS
#define ST7789_BASIC_DEFAULT_NON_DISPLAY_AREA_SCAN_MODE
#define ST7789_BASIC_DEFAULT_INVERSION_PARTIAL_MODE
#define ST7789_BASIC_DEFAULT_GAMMA_CURVE
#define ST7789_BASIC_DEFAULT_SPI2_LANE
#define ST7789_BASIC_DEFAULT_CABC_MINIMUM_BRIGHTNESS
#define ST7789_BASIC_DEFAULT_DATA_MODE
uint8_t st7789_basic_deinit(void)
basic example deinit
#define ST7789_BASIC_DEFAULT_STP14CK_DIV
#define ST7789_BASIC_DEFAULT_IDLE_PARTIAL_RATE
#define ST7789_BASIC_DEFAULT_PORCH_PART_BACK
#define ST7789_BASIC_DEFAULT_AVDD
#define ST7789_BASIC_DEFAULT_DIRECT_RGB_MODE
#define ST7789_BASIC_DEFAULT_ROW
#define ST7789_BASIC_DEFAULT_POSITIVE_VOLTAGE_GAMMA
#define ST7789_BASIC_DEFAULT_FRAME_RATE
#define ST7789_BASIC_DEFAULT_GATE_SCAN_DIRECTION
#define ST7789_BASIC_DEFAULT_PWM_FREQUENCY
#define ST7789_BASIC_DEFAULT_COMMAND_TABLE_2
#define ST7789_BASIC_DEFAULT_PORCH_IDEL_BACK
#define ST7789_BASIC_DEFAULT_GATE_OFF_TIMING
#define ST7789_BASIC_DEFAULT_XINV
uint8_t st7789_basic_string(uint16_t x, uint16_t y, char *str, uint16_t len, uint32_t color, st7789_font_t font)
basic example draw a string
#define ST7789_BASIC_DEFAULT_PORCH_PART_FRONT
#define ST7789_BASIC_DEFAULT_COLUMN
st7789 basic example default definition
#define ST7789_BASIC_DEFAULT_VDV_VRH_FROM
uint8_t st7789_basic_write_point(uint16_t x, uint16_t y, uint32_t color)
basic example write a point
#define ST7789_BASIC_DEFAULT_RGB_INTERFACE_COLOR_FORMAT
uint8_t st7789_basic_display_off(void)
basic example display off
#define ST7789_BASIC_DEFAULT_COLOR_ENHANCEMENT_MODE
uint8_t st7789_basic_display_on(void)
basic example display on
#define ST7789_BASIC_DEFAULT_VGHS
#define ST7789_BASIC_DEFAULT_IDLE_FRAME_RATE
#define ST7789_BASIC_DEFAULT_COLOR_ENHANCEMENT_LEVEL
#define ST7789_BASIC_DEFAULT_PORCH_IDEL_FRONT
#define ST7789_BASIC_DEFAULT_NEGATIVA_VOLTAGE_GAMMA
#define ST7789_BASIC_DEFAULT_BRIGHTNESS
#define ST7789_BASIC_DEFAULT_HSPL
#define ST7789_BASIC_DEFAULT_XMH
#define ST7789_BASIC_DEFAULT_VCOMS_OFFSET
#define ST7789_BASIC_DEFAULT_RGB_IF_ENABLE_MODE
#define ST7789_BASIC_DEFAULT_XMX
#define ST7789_BASIC_DEFAULT_COMMAND_2_ENABLE
#define ST7789_BASIC_DEFAULT_PORCH_NORMAL_FRONT
#define ST7789_BASIC_DEFAULT_PIXEL_TYPE
#define ST7789_BASIC_DEFAULT_LED_ON
#define ST7789_BASIC_DEFAULT_CONTROL_INTERFACE_COLOR_FORMAT
#define ST7789_BASIC_DEFAULT_GATE_LINE
#define ST7789_BASIC_DEFAULT_BACKLIGHT
#define ST7789_BASIC_DEFAULT_SEPARATE_FR
#define ST7789_BASIC_DEFAULT_DPL
#define ST7789_BASIC_DEFAULT_FRAME_RATE_DIVIDED
uint8_t st7789_interface_cmd_data_gpio_init(void)
interface command && data gpio init
void st7789_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t st7789_interface_reset_gpio_deinit(void)
interface reset gpio deinit
uint8_t st7789_interface_cmd_data_gpio_write(uint8_t value)
interface command && data gpio write
uint8_t st7789_interface_spi_init(void)
interface spi bus init
uint8_t st7789_interface_reset_gpio_init(void)
interface reset gpio init
void st7789_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t st7789_interface_spi_deinit(void)
interface spi bus deinit
uint8_t st7789_interface_reset_gpio_write(uint8_t value)
interface reset gpio write
uint8_t st7789_interface_spi_write_cmd(uint8_t *buf, uint16_t len)
interface spi bus write
uint8_t st7789_interface_cmd_data_gpio_deinit(void)
interface command && data gpio deinit