diff options
| author | Scott Shawcroft <scott@tannewt.org> | 2019-04-02 10:26:05 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-04-02 10:26:05 -0700 |
| commit | 2dda3df63794420569d3662ffba0e782f372b28f (patch) | |
| tree | abf36a74ab0c459c100f5e99b3a2f7fbc5234750 | |
| parent | 367f6584aea0791334cca734eebc39dc1b01af37 (diff) | |
| parent | f1e4a2ffb9f32f84f08dc57b6c121351db9acb64 (diff) | |
Merge pull request #1731 from makermelissa/ssd1351-fix
Improved readability of Single Byte Bounds code
| -rw-r--r-- | shared-module/displayio/Display.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/shared-module/displayio/Display.c b/shared-module/displayio/Display.c index c2c98853d..eccb2d0ef 100644 --- a/shared-module/displayio/Display.c +++ b/shared-module/displayio/Display.c @@ -212,21 +212,27 @@ void displayio_display_end_transaction(displayio_display_obj_t* self) { } void displayio_display_set_region_to_update(displayio_display_obj_t* self, uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1) { - uint16_t data[2]; + self->send(self->bus, true, &self->set_column_command, 1); if (self->single_byte_bounds) { - data[0] = __builtin_bswap16(((x0 + self->colstart) << 8) | ((x1 - 1 + self->colstart) & 0xFF)); + uint8_t data[2]; + data[0] = x0 + self->colstart; + data[1] = x1 - 1 + self->colstart; self->send(self->bus, false, (uint8_t*) data, 2); } else { + uint16_t data[2]; data[0] = __builtin_bswap16(x0 + self->colstart); data[1] = __builtin_bswap16(x1 - 1 + self->colstart); self->send(self->bus, false, (uint8_t*) data, 4); } self->send(self->bus, true, &self->set_row_command, 1); if (self->single_byte_bounds) { - data[0] = __builtin_bswap16(((y0 + self->rowstart) << 8) | ((y1 - 1 + self->rowstart) & 0xFF)); + uint8_t data[2]; + data[0] = y0 + self->rowstart; + data[1] = y1 - 1 + self->rowstart; self->send(self->bus, false, (uint8_t*) data, 2); } else { + uint16_t data[2]; data[0] = __builtin_bswap16(y0 + self->rowstart); data[1] = __builtin_bswap16(y1 - 1 + self->rowstart); self->send(self->bus, false, (uint8_t*) data, 4); |
