At least: font code generator, exchange code support for color 128x128

This commit is contained in:
2019-08-04 15:35:44 -07:00
parent e0b49ba109
commit 77f09bca16
47 changed files with 899 additions and 16431 deletions

View File

@@ -27,12 +27,10 @@
namespace BSP {
class DisplayDriver : public Common::Schedule::Task {
class DisplayDriver final : public Common::Schedule::Task {
public:
DisplayDriver(Common::Schedule::TaskScheduler &scheduler, SpiDriver &spi);
/**
* Common::Schedule::Task
*/
@@ -43,10 +41,12 @@ public:
* DisplayDriver
*/
void set_bit(uint32_t x, uint32_t y, uint8_t val);
uint8_t get_bit(uint32_t x, uint32_t y);
void set_byte(uint32_t x, uint32_t y, uint8_t val);
void char_at(uint32_t *x_off, uint32_t y_off, char c, const struct font *font);
void string_at(uint32_t *x_off, uint32_t y_off,
const char *string, const struct font *font);
void draw_hline(uint32_t x, uint32_t y, uint32_t width);
void refresh();
void clear();
@@ -71,14 +71,15 @@ private:
void write_glyph_unaligned(uint32_t x_off, uint32_t y_off,
const struct font * font, const struct glyph *g);
static constexpr uint32_t DISPLAY_WIDTH = 144;
static constexpr uint32_t DISPLAY_HEIGHT = 168;
static constexpr uint32_t DISPLAY_WIDTH = 128;
static constexpr uint32_t DISPLAY_HEIGHT = 128;
static constexpr uint32_t BITS_PER_PIXEL = 3;
struct display_line
{
uint8_t mode;
uint8_t line;
uint8_t data[DISPLAY_WIDTH / 8];
uint8_t data[DISPLAY_WIDTH * BITS_PER_PIXEL / 8];
};
struct display_buffer