diff options
| author | Scott Shawcroft <scott@tannewt.org> | 2020-03-31 15:13:58 -0700 |
|---|---|---|
| committer | Scott Shawcroft <scott@tannewt.org> | 2020-03-31 15:13:58 -0700 |
| commit | 8fe512c7e95b3bd31348c510780eeb33185741ce (patch) | |
| tree | b188c62fb1b0eef23c65484365fcde2893cef5f5 /shared-module | |
| parent | 4b063aeb29c889809af0758351e68eda48e37f3a (diff) | |
| parent | f47b964c5ff838153ebaff2077405b0f4f881565 (diff) | |
Merge remote-tracking branch 'adafruit/master' into lower_power
Diffstat (limited to 'shared-module')
| -rw-r--r-- | shared-module/_pixelbuf/PixelBuf.c | 1 | ||||
| -rw-r--r-- | shared-module/displayio/Display.c | 5 | ||||
| -rw-r--r-- | shared-module/displayio/Display.h | 1 | ||||
| -rw-r--r-- | shared-module/displayio/FourWire.c | 7 |
4 files changed, 10 insertions, 4 deletions
diff --git a/shared-module/_pixelbuf/PixelBuf.c b/shared-module/_pixelbuf/PixelBuf.c index bad8539ea..31350b875 100644 --- a/shared-module/_pixelbuf/PixelBuf.c +++ b/shared-module/_pixelbuf/PixelBuf.c @@ -243,6 +243,7 @@ mp_obj_t common_hal__pixelbuf_pixelbuf_get_pixel(mp_obj_t self_in, size_t index) if (self->pre_brightness_buffer != NULL) { pixel_buffer = self->pre_brightness_buffer; } + pixel_buffer += self->byteorder.bpp * index; pixelbuf_rgbw_t *rgbw_order = &self->byteorder.byteorder; elems[0] = MP_OBJ_NEW_SMALL_INT(pixel_buffer[rgbw_order->r]); diff --git a/shared-module/displayio/Display.c b/shared-module/displayio/Display.c index add42f599..6af8324ef 100644 --- a/shared-module/displayio/Display.c +++ b/shared-module/displayio/Display.c @@ -48,7 +48,7 @@ void common_hal_displayio_display_construct(displayio_display_obj_t* self, uint8_t set_row_command, uint8_t write_ram_command, uint8_t set_vertical_scroll, uint8_t* init_sequence, uint16_t init_sequence_len, const mcu_pin_obj_t* backlight_pin, uint16_t brightness_command, mp_float_t brightness, bool auto_brightness, - bool single_byte_bounds, bool data_as_commands, bool auto_refresh, uint16_t native_frames_per_second) { + bool single_byte_bounds, bool data_as_commands, bool auto_refresh, uint16_t native_frames_per_second, bool backlight_on_high) { // Turn off auto-refresh as we init. self->auto_refresh = false; uint16_t ram_width = 0x100; @@ -157,6 +157,9 @@ mp_float_t common_hal_displayio_display_get_brightness(displayio_display_obj_t* bool common_hal_displayio_display_set_brightness(displayio_display_obj_t* self, mp_float_t brightness) { self->updating_backlight = true; + if (!self->backlight_on_high){ + brightness = 1.0-brightness; + } bool ok = false; if (self->backlight_pwm.base.type == &pulseio_pwmout_type) { common_hal_pulseio_pwmout_set_duty_cycle(&self->backlight_pwm, (uint16_t) (0xffff * brightness)); diff --git a/shared-module/displayio/Display.h b/shared-module/displayio/Display.h index e5fe0a708..8adaf597f 100644 --- a/shared-module/displayio/Display.h +++ b/shared-module/displayio/Display.h @@ -55,6 +55,7 @@ typedef struct { bool data_as_commands; bool auto_brightness; bool updating_backlight; + bool backlight_on_high; } displayio_display_obj_t; void displayio_display_background(displayio_display_obj_t* self); diff --git a/shared-module/displayio/FourWire.c b/shared-module/displayio/FourWire.c index c98b2d670..17e8cfa1d 100644 --- a/shared-module/displayio/FourWire.c +++ b/shared-module/displayio/FourWire.c @@ -38,7 +38,8 @@ void common_hal_displayio_fourwire_construct(displayio_fourwire_obj_t* self, busio_spi_obj_t* spi, const mcu_pin_obj_t* command, - const mcu_pin_obj_t* chip_select, const mcu_pin_obj_t* reset, uint32_t baudrate) { + const mcu_pin_obj_t* chip_select, const mcu_pin_obj_t* reset, uint32_t baudrate, + uint8_t polarity, uint8_t phase) { self->bus = spi; common_hal_busio_spi_never_reset(self->bus); @@ -47,8 +48,8 @@ void common_hal_displayio_fourwire_construct(displayio_fourwire_obj_t* self, gc_never_free(self->bus); self->frequency = baudrate; - self->polarity = 0; - self->phase = 0; + self->polarity = polarity; + self->phase = phase; common_hal_digitalio_digitalinout_construct(&self->command, command); common_hal_digitalio_digitalinout_switch_to_output(&self->command, true, DRIVE_MODE_PUSH_PULL); |
