abstracting display, touch and sd
This commit is contained in:
45
lib/st7789/st7789.h
Normal file
45
lib/st7789/st7789.h
Normal file
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
* Copyright (c) 2021 Arm Limited and Contributors. All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* ST7789 TFT LCD Display Driver
|
||||
*/
|
||||
|
||||
#ifndef _PICO_ST7789_H_
|
||||
#define _PICO_ST7789_H_
|
||||
|
||||
#include "hardware/spi.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct st7789_config {
|
||||
spi_inst_t* spi;
|
||||
uint gpio_din;
|
||||
uint gpio_clk;
|
||||
int gpio_cs;
|
||||
uint gpio_dc;
|
||||
uint gpio_rst;
|
||||
uint gpio_bl;
|
||||
};
|
||||
|
||||
void st7789_init(const struct st7789_config *config, uint16_t width, uint16_t height);
|
||||
void st7789_fill(uint16_t color);
|
||||
void st7789_put(uint16_t color);
|
||||
void st7789_set_cursor(uint16_t x, uint16_t y);
|
||||
void st7789_write(const uint16_t *data, size_t len);
|
||||
void st7789_vertical_scroll(uint16_t row);
|
||||
void st7789_draw_pixel(uint16_t x, uint16_t y, uint16_t color);
|
||||
void st7789_draw_rect(uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint16_t color);
|
||||
void st7789_fill_rect(uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint16_t color);
|
||||
void st7789_draw_circle(uint16_t x0, uint16_t y0, uint16_t r, uint16_t color);
|
||||
void st7789_fill_circle(uint16_t x0, uint16_t y0, uint16_t r, uint16_t color);
|
||||
void st7789_draw_line(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t color);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user