10#include <esp_lcd_panel_ssd1306.h>
18 static constexpr const char* TAG =
"Device::Display";
21 static constexpr uint8_t I2C_ADDRESS = 0x3C;
22 static constexpr uint8_t WIDTH = 128;
23 static constexpr uint8_t HEIGHT = 64;
24 static constexpr uint8_t CHAR_WIDTH = 8;
25 static constexpr uint8_t CHAR_HEIGHT = 8;
26 static constexpr uint8_t MAX_COLUMNS = WIDTH / CHAR_WIDTH;
27 static constexpr uint8_t MAX_ROWS = HEIGHT / CHAR_HEIGHT;
29 static constexpr uint8_t font8x8[128][8] = {
35 uint8_t* display_buffer;
36 uint8_t cursor_column;
39 esp_lcd_panel_handle_t panel_handle;
40 esp_lcd_panel_io_handle_t io_handle;
void clear()
Clears the display.
Definition display.cpp:94
~Display()
Definition display.cpp:29
void write_text(const char *text)
Writes text to the display buffer at the current cursor position.
Definition display.cpp:113
void set_cursor_position(uint8_t column, uint8_t row)
Sets the position of the cursor.
Definition display.cpp:162
Display(Robot &robot)
Definition display.cpp:18
void shutdown()
Shuts down the LCD panel and the according I2C device.
Definition display.cpp:67
void write_buffer_to_display()
Writes the display buffer to the display.
Definition display.cpp:185
void initialize()
Configures the LCD panel and all I2C components related to the display.
Definition display.cpp:34
Class containing all the components of the robot.
Definition robot.h:32
log_source
Definition log_sources.h:12
@ LOG_SOURCE_DEVICE_DISPLAY
Definition log_sources.h:21
Definition battery.cpp:14