use Color class from upstream
This commit is contained in:
@@ -162,10 +162,7 @@ void ST7735::setup() {
|
|||||||
this->displayInit(Rcmd3);
|
this->displayInit(Rcmd3);
|
||||||
this->writecommand(ST7735_INVON);
|
this->writecommand(ST7735_INVON);
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
//this->disable();
|
|
||||||
delay(120);
|
delay(120);
|
||||||
//this->enable();
|
|
||||||
|
|
||||||
this->writecommand(ST7735_DISPON); //Display on
|
this->writecommand(ST7735_DISPON); //Display on
|
||||||
delay(120);
|
delay(120);
|
||||||
@@ -270,18 +267,15 @@ size_t ST7735::get_buffer_length_() {
|
|||||||
return size_t(this->get_width_internal()) * size_t(this->get_height_internal()) * 2;
|
return size_t(this->get_width_internal()) * size_t(this->get_height_internal()) * 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
void HOT ST7735::draw_absolute_pixel_internal(int x, int y, int color) {
|
|
||||||
|
void HOT ST7735::draw_absolute_pixel_internal(int x, int y, Color color) {
|
||||||
if (x >= this->get_width_internal() || x < 0 || y >= this->get_height_internal() || y < 0)
|
if (x >= this->get_width_internal() || x < 0 || y >= this->get_height_internal() || y < 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (color == display::COLOR_ON) {
|
auto color565 = color.to_rgb_565();
|
||||||
color = ST7735_WHITE;
|
uint16_t pos = (x + y * this->get_width_internal()) * 2;
|
||||||
} else if (color == display::COLOR_OFF) {
|
this->buffer_[pos++] = (color565 >> 8) & 0xff;
|
||||||
color = ST7735_BLACK;
|
this->buffer_[pos] = color565 & 0xff;
|
||||||
}
|
|
||||||
uint16_t pos = (x + y * this->get_width_internal())*2;
|
|
||||||
this->buffer_[pos++] = (color>>8) & 0xff;
|
|
||||||
this->buffer_[pos] = color & 0xff;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ST7735::displayInit(const uint8_t *addr) {
|
void ST7735::displayInit(const uint8_t *addr) {
|
||||||
|
|||||||
@@ -137,7 +137,7 @@ class ST7735 : public PollingComponent, public display::DisplayBuffer,
|
|||||||
void spi_master_write_addr(uint16_t addr1, uint16_t addr2);
|
void spi_master_write_addr(uint16_t addr1, uint16_t addr2);
|
||||||
void spi_master_write_color(uint16_t color, uint16_t size);
|
void spi_master_write_color(uint16_t color, uint16_t size);
|
||||||
|
|
||||||
void draw_absolute_pixel_internal(int x, int y, int color) override;
|
void draw_absolute_pixel_internal(int x, int y, Color color) override;
|
||||||
|
|
||||||
int get_height_internal() override;
|
int get_height_internal() override;
|
||||||
int get_width_internal() override;
|
int get_width_internal() override;
|
||||||
|
|||||||
Reference in New Issue
Block a user