mirror of
https://github.com/esphome/esphome.git
synced 2025-03-13 14:18:14 +00:00
add flip_y
This commit is contained in:
parent
83d6834e27
commit
97efa76200
@ -35,7 +35,7 @@ CONF_POWERUP_PIN = "powerup_pin"
|
||||
CONF_SPH_PIN = "sph_pin"
|
||||
CONF_SPV_PIN = "spv_pin"
|
||||
CONF_VCOM_PIN = "vcom_pin"
|
||||
|
||||
CONF_FLIP_Y = "flip_y"
|
||||
|
||||
inkplate6_ns = cg.esphome_ns.namespace("inkplate6")
|
||||
Inkplate6 = inkplate6_ns.class_(
|
||||
@ -62,6 +62,7 @@ CONFIG_SCHEMA = cv.All(
|
||||
{
|
||||
cv.GenerateID(): cv.declare_id(Inkplate6),
|
||||
cv.Optional(CONF_GREYSCALE, default=False): cv.boolean,
|
||||
cv.Optional(CONF_FLIP_Y, default=False): cv.boolean,
|
||||
cv.Optional(CONF_PARTIAL_UPDATING, default=True): cv.boolean,
|
||||
cv.Optional(CONF_FULL_UPDATE_EVERY, default=10): cv.uint32_t,
|
||||
cv.Optional(CONF_MODEL, default="inkplate_6"): cv.enum(
|
||||
@ -126,6 +127,7 @@ async def to_code(config):
|
||||
cg.add(var.set_writer(lambda_))
|
||||
|
||||
cg.add(var.set_greyscale(config[CONF_GREYSCALE]))
|
||||
cg.add(var.set_flip_y(config[CONF_FLIP_Y]))
|
||||
cg.add(var.set_partial_updating(config[CONF_PARTIAL_UPDATING]))
|
||||
cg.add(var.set_full_update_every(config[CONF_FULL_UPDATE_EVERY]))
|
||||
|
||||
|
@ -156,6 +156,9 @@ void HOT Inkplate6::draw_absolute_pixel_internal(int x, int y, Color color) {
|
||||
if (x >= this->get_width_internal() || y >= this->get_height_internal() || x < 0 || y < 0)
|
||||
return;
|
||||
|
||||
if (this->flip_y_)
|
||||
y = this->get_height_internal() - y - 1;
|
||||
|
||||
if (this->greyscale_) {
|
||||
int x1 = x / 2;
|
||||
int x_sub = x % 2;
|
||||
|
@ -92,6 +92,8 @@ class Inkplate6 : public display::DisplayBuffer, public i2c::I2CDevice {
|
||||
if (this->is_ready())
|
||||
this->initialize_();
|
||||
}
|
||||
void set_flip_y(bool flip_y) { this->flip_y_ = flip_y; }
|
||||
|
||||
void set_partial_updating(bool partial_updating) { this->partial_updating_ = partial_updating; }
|
||||
void set_full_update_every(uint32_t full_update_every) { this->full_update_every_ = full_update_every; }
|
||||
|
||||
@ -221,6 +223,7 @@ class Inkplate6 : public display::DisplayBuffer, public i2c::I2CDevice {
|
||||
|
||||
bool block_partial_{true};
|
||||
bool greyscale_;
|
||||
bool flip_y_;
|
||||
bool partial_updating_;
|
||||
|
||||
InkplateModel model_;
|
||||
|
Loading…
x
Reference in New Issue
Block a user