Files
2026-05-08 14:56:29 +02:00

46 lines
1.3 KiB
C

#pragma once
#include <stddef.h>
#include <stdint.h>
#define LCD_WIDTH 240
#define LCD_HEIGHT 135
#define X_OFFSET 40
#define Y_OFFSET 53
#define SPI_MAX_CHUNK 4092
extern uint16_t framebuffer[LCD_WIDTH * LCD_HEIGHT];
void st7789_write_cmd(uint8_t cmd);
void st7789_write_data(const void *data, size_t len);
void st7789_set_window(uint16_t xs, uint16_t ys, uint16_t xe, uint16_t ye);
void st7789_push_pixels(const uint16_t *pixels, size_t count);
void st7789_init(void);
void fb_set_pixel(uint16_t x, uint16_t y, uint16_t color);
void st7789_flush_full(void);
void st7789_flush(void);
void st7789_fill(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_rect(uint16_t x, uint16_t y, uint16_t w, uint16_t h,
uint16_t color);
void st7789_blit_rgb565(uint16_t x, uint16_t y, uint16_t w, uint16_t h,
const uint16_t *data);
void st7789_fill(uint16_t color);
void st7789_draw_char(uint16_t x, uint16_t y, char c, uint16_t fg, uint16_t bg,
bool drawBG, const uint8_t font[][5]);
void st7789_draw_string(uint16_t x, uint16_t y, const char *s, uint16_t fg,
uint16_t bg, bool drawBG, const uint8_t font[][5]);