Random
This commit is contained in:
56
include/drivers/display.h
Normal file
56
include/drivers/display.h
Normal file
@ -0,0 +1,56 @@
|
||||
//display.h - Raw control over I2C display hardware
|
||||
|
||||
#ifndef DISPLAY_H_
|
||||
#define DISPLAY_H_
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
|
||||
|
||||
#define DISP_LINES 4
|
||||
#define DISP_COLS 20
|
||||
#define DISP_SIZE (DISP_COLS * DISP_LINES)
|
||||
|
||||
#define DISP_I2C0 0
|
||||
#define DISP_I2C1 1
|
||||
|
||||
#define DISP_CHAR_ARROWR '\x7e'
|
||||
#define DISP_CHAR_ARROWL '\x7f'
|
||||
#define DISP_CHAR_DOT_HIGH '\xa5'
|
||||
#define DISP_CHAR_BOX '\xdb'
|
||||
#define DISP_CHAR_DEGREE '\xdf'
|
||||
#define DISP_CHAR_ALPHA '\xe0'
|
||||
#define DISP_CHAR_BETA '\xe2'
|
||||
#define DISP_CHAR_EPSILON '\xe3'
|
||||
#define DISP_CHAR_MU '\xe4'
|
||||
#define DISP_CHAR_SQRT '\xe9'
|
||||
#define DISP_CHAR_OMEGA '\xf4'
|
||||
#define DISP_CHAR_SUM '\xf7'
|
||||
#define DISP_CHAR_PI '\xf8'
|
||||
#define DISP_CHAR_DOT_DIV '\xfd'
|
||||
#define DISP_CHAR_BLACK '\xff'
|
||||
|
||||
//TODO: Set custom chars
|
||||
#define DISP_CHAR_NOTE '\x01'
|
||||
#define DISP_CHAR_LIST '\x02'
|
||||
#define DISP_CHAR_SEARCH '\x03'
|
||||
|
||||
typedef struct display_t display_t;
|
||||
|
||||
display_t *display_init(int bus, uint8_t addr);
|
||||
void display_destroy(display_t *display);
|
||||
|
||||
void display_set_backlight(display_t *display, bool backlight);
|
||||
void display_set_cursor(display_t *display, int lin, int col);
|
||||
void display_clear(display_t *display);
|
||||
void display_write_ch(display_t *display, char ch);
|
||||
void display_write_str(display_t *display, char *str);
|
||||
void display_write_str_at(display_t *display, char *str, int lin, int col);
|
||||
|
||||
void display_set_display_on(display_t *display, bool on);
|
||||
void display_set_cursor_show(display_t *display, bool show);
|
||||
void display_set_cursor_blink(display_t *display, bool blink);
|
||||
void display_set_custom_char(display_t *display, uint8_t char_idx, uint64_t data);
|
||||
|
||||
#endif
|
||||
21
include/systems/lcd_writer.h
Normal file
21
include/systems/lcd_writer.h
Normal file
@ -0,0 +1,21 @@
|
||||
//lcd_writer.h - Defines interface for buffered, async LCD display writting
|
||||
|
||||
#ifndef DISPLAY_WRITER_H_
|
||||
#define DISPLAY_WRITER_H_
|
||||
|
||||
#include <stdbool.h>
|
||||
|
||||
#include <drivers/display.h>
|
||||
|
||||
typedef struct lcd_writer_t lcd_writer_t;
|
||||
|
||||
lcd_writer_t *lcd_writer_init(display_t *display, bool bypass);
|
||||
void lcd_writer_destroy(lcd_writer_t *lcdw);
|
||||
|
||||
void lcd_writer_clr(lcd_writer_t *lcdw);
|
||||
void lcd_writer_clr_line(lcd_writer_t *lcdw, int lin);
|
||||
void lcd_writer_chr(lcd_writer_t *lcdw, char ch, int lin, int col);
|
||||
void lcd_writer_str(lcd_writer_t *lcdw, char *str, int lin, int col);
|
||||
void lcd_writer_flush(lcd_writer_t *lcdw);
|
||||
|
||||
#endif
|
||||
7
include/systems/pager.h
Normal file
7
include/systems/pager.h
Normal file
@ -0,0 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
void pager_init();
|
||||
void pager_destroy();
|
||||
|
||||
//void pager_add_page(page_t *page);
|
||||
//void pager_draw(display_t *disp);
|
||||
Reference in New Issue
Block a user