abstracting display, touch and sd

This commit is contained in:
Adolfo Reyna
2026-01-28 20:12:41 -05:00
parent 57426c6e7d
commit adfbef7228
396 changed files with 101836 additions and 272 deletions

45
lib/st7789/st7789.h Normal file
View 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