drv_spi_ili9488.h 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /*
  2. * Copyright (c) 2006-2022, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2018-08-14 flybreak the first version
  9. * 2018-09-18 balanceTWK add sleep mode function
  10. * 2022-02-01 Rudy Lo add lcd_fill_array function
  11. */
  12. #ifndef __DRV_LCD_SPI_H__
  13. #define __DRV_LCD_SPI_H__
  14. #include <rtthread.h>
  15. #define LCD_W 480
  16. #define LCD_H 320
  17. //POINT_COLOR
  18. #define WHITE 0xFFFFFF
  19. #define BLACK 0x000000
  20. #define BLUE 0x0000FF
  21. //#define BRED 0XF81F
  22. //#define GRED 0XFFE0
  23. //#define GBLUE 0X07FF
  24. #define RED 0xFF0000
  25. //#define MAGENTA 0xF81F
  26. #define GREEN 0x00FF00
  27. //#define CYAN 0x7FFF
  28. //#define YELLOW 0xFFE0
  29. //#define BROWN 0XBC40
  30. //#define BRRED 0XFC07
  31. //#define GRAY 0X8430
  32. //#define GRAY175 0XAD75
  33. //#define GRAY151 0X94B2
  34. //#define GRAY187 0XBDD7
  35. //#define GRAY240 0XF79E
  36. int rt_hw_spi_lcd_init(void);
  37. void lcd_clear(rt_uint32_t color);
  38. void lcd_address_set(rt_uint16_t x1, rt_uint16_t y1, rt_uint16_t x2, rt_uint16_t y2);
  39. void lcd_set_color(rt_uint32_t back, rt_uint32_t fore);
  40. void lcd_draw_point(rt_uint16_t x, rt_uint16_t y);
  41. void lcd_draw_point_color(rt_uint16_t x, rt_uint16_t y, rt_uint32_t color);
  42. void lcd_draw_circle(rt_uint16_t x0, rt_uint16_t y0, rt_uint8_t r);
  43. void lcd_draw_line(rt_uint16_t x1, rt_uint16_t y1, rt_uint16_t x2, rt_uint16_t y2);
  44. void lcd_draw_rectangle(rt_uint16_t x1, rt_uint16_t y1, rt_uint16_t x2, rt_uint16_t y2);
  45. void lcd_fill(rt_uint16_t x_start, rt_uint16_t y_start, rt_uint16_t x_end, rt_uint16_t y_end, rt_uint32_t color);
  46. void lcd_fill_array(rt_uint16_t x_start, rt_uint16_t y_start, rt_uint16_t x_end, rt_uint16_t y_end, void *pcolor);
  47. void lcd_show_num(rt_uint16_t x, rt_uint16_t y, rt_uint32_t num, rt_uint8_t len, rt_uint32_t size);
  48. rt_err_t lcd_show_string(rt_uint16_t x, rt_uint16_t y, rt_uint32_t size, const char *fmt, ...);
  49. rt_err_t lcd_show_image(rt_uint16_t x, rt_uint16_t y, rt_uint16_t length, rt_uint16_t wide, const rt_uint8_t *p);
  50. void lcd_enter_sleep(void);
  51. void lcd_exit_sleep(void);
  52. void lcd_display_on(void);
  53. void lcd_display_off(void);
  54. #endif /* __DRV_LCD_SPI_H__ */