From 7b6035179821fd7a7553ac3b60f36e84fc1cccd4 Mon Sep 17 00:00:00 2001 From: Ludovic Pouzenc Date: Sat, 12 Jun 2021 00:42:19 +0200 Subject: Import inital sketch lpo pour dumper les DTC et des valeurs live --- lpo/MyLCD.h | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 lpo/MyLCD.h (limited to 'lpo/MyLCD.h') diff --git a/lpo/MyLCD.h b/lpo/MyLCD.h new file mode 100644 index 0000000..565e110 --- /dev/null +++ b/lpo/MyLCD.h @@ -0,0 +1,51 @@ +#ifndef __MYLCD_H +#define __MYLCD_H +#undef PROGMEM +#define PROGMEM +#include +class MyLCD : public LCD_ILI9325D { + /* 2.8" ILI9325 based LCD 320x240x16bpp*/ + public: + uint8_t column, line; + MyLCD() { + LCD_ILI9325D::setFontSize(FONT_SIZE_SMALL); + this->clear(); + } + byte getLines() { return 30; } + byte getCols() { return 53; } + void setCursor(uint8_t column, uint8_t line) { + /* column and line as in a terminal, start at line 1, col 1. each column is one character wide*/ + this->column = (column==0)?1:column; + this->line = (column==0)?1:line; + LCD_ILI9325D::setCursor((column-1)*6, line-1); + } + void clear() { + LCD_ILI9325D::clear(); + this->setCursor(1, 1); + } + size_t println() { + if ( this->line < this->getLines() ) { + this->setCursor(1, this->line+1); + } else { + this->clear(); + } + } + void moveRight(size_t len) { + if ( this->column+len <= this->getCols() ) { + this->setCursor(this->column+len, this->line); + } else { + this->println(); + } + } + size_t println(const String &s) { + size_t len = LCD_ILI9325D::print(s); + this->println(); + return len; + } + size_t print(const String &s) { + size_t len = LCD_ILI9325D::print(s); + this->moveRight(len); + return len; + } +}; +#endif -- cgit v1.2.3