#include "SSD1306Display.h" bool SSD1306Display::begin() { return display.begin(SSD1306_SWITCHCAPVCC, DISPLAY_ADDRESS, true, false); } void SSD1306Display::turnOn() { display.ssd1306_command(SSD1306_DISPLAYON); _isOn = true; } void SSD1306Display::turnOff() { display.ssd1306_command(SSD1306_DISPLAYOFF); _isOn = false; } void SSD1306Display::startFrame(Color bkg) { display.clearDisplay(); // TODO: apply 'bkg' _color = SSD1306_WHITE; display.setTextColor(_color); display.setTextSize(1); display.cp437(true); // Use full 256 char 'Code Page 437' font } void SSD1306Display::setTextSize(int sz) { display.setTextSize(sz); } void SSD1306Display::setColor(Color c) { _color = (c == LIGHT) ? SSD1306_WHITE : SSD1306_BLACK; display.setTextColor(_color); } void SSD1306Display::setCursor(int x, int y) { display.setCursor(x, y); } void SSD1306Display::print(const char* str) { display.print(str); } void SSD1306Display::fillRect(int x, int y, int w, int h) { display.fillRect(x, y, w, h, _color); } void SSD1306Display::drawRect(int x, int y, int w, int h) { display.drawRect(x, y, w, h, _color); } void SSD1306Display::drawXbm(int x, int y, const uint8_t* bits, int w, int h) { display.drawBitmap(x, y, bits, w, h, SSD1306_WHITE); } void SSD1306Display::endFrame() { display.display(); }