mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-02-18 19:03:16 +00:00
To avoid keeping track of a list that maps board project names to board ids. Because of this change, we don't have to manually edit `boards.cmake` anymore when adding a new board.
37 lines
949 B
C++
37 lines
949 B
C++
#include "Display.h"
|
|
|
|
#include <PwmBacklight.h>
|
|
#include <St7735Display.h>
|
|
|
|
#define LCD_SPI_HOST SPI3_HOST
|
|
#define LCD_PIN_CS GPIO_NUM_4
|
|
#define LCD_PIN_DC GPIO_NUM_2
|
|
#define LCD_PIN_RESET GPIO_NUM_1
|
|
#define LCD_HORIZONTAL_RESOLUTION 80
|
|
#define LCD_VERTICAL_RESOLUTION 160
|
|
#define LCD_SPI_TRANSFER_HEIGHT LCD_VERTICAL_RESOLUTION / 4
|
|
|
|
std::shared_ptr<tt::hal::display::DisplayDevice> createDisplay() {
|
|
auto configuration = std::make_unique<St7735Display::Configuration>(
|
|
LCD_SPI_HOST,
|
|
LCD_PIN_CS,
|
|
LCD_PIN_DC,
|
|
LCD_PIN_RESET,
|
|
80,
|
|
160,
|
|
nullptr,
|
|
false,
|
|
false,
|
|
false,
|
|
true,
|
|
0,
|
|
26,
|
|
1
|
|
);
|
|
|
|
configuration->backlightDutyFunction = driver::pwmbacklight::setBacklightDuty;
|
|
|
|
auto display = std::make_shared<St7735Display>(std::move(configuration));
|
|
return std::reinterpret_pointer_cast<tt::hal::display::DisplayDevice>(display);
|
|
}
|