@@ -212,21 +212,27 @@ void displayio_display_end_transaction(displayio_display_obj_t* self) {
212
212
}
213
213
214
214
void displayio_display_set_region_to_update (displayio_display_obj_t * self , uint16_t x0 , uint16_t y0 , uint16_t x1 , uint16_t y1 ) {
215
- uint16_t data [ 2 ];
215
+
216
216
self -> send (self -> bus , true, & self -> set_column_command , 1 );
217
217
if (self -> single_byte_bounds ) {
218
- data [0 ] = __builtin_bswap16 (((x0 + self -> colstart ) << 8 ) | ((x1 - 1 + self -> colstart ) & 0xFF ));
218
+ uint8_t data [2 ];
219
+ data [0 ] = (x0 + self -> colstart ) & 0xFF ;
220
+ data [1 ] = (x1 - 1 + self -> colstart ) & 0xFF ;
219
221
self -> send (self -> bus , false, (uint8_t * ) data , 2 );
220
222
} else {
223
+ uint16_t data [2 ];
221
224
data [0 ] = __builtin_bswap16 (x0 + self -> colstart );
222
225
data [1 ] = __builtin_bswap16 (x1 - 1 + self -> colstart );
223
226
self -> send (self -> bus , false, (uint8_t * ) data , 4 );
224
227
}
225
228
self -> send (self -> bus , true, & self -> set_row_command , 1 );
226
229
if (self -> single_byte_bounds ) {
227
- data [0 ] = __builtin_bswap16 (((y0 + self -> rowstart ) << 8 ) | ((y1 - 1 + self -> rowstart ) & 0xFF ));
230
+ uint8_t data [2 ];
231
+ data [0 ] = (y0 + self -> rowstart ) & 0xFF ;
232
+ data [1 ] = (y1 - 1 + self -> rowstart ) & 0xFF ;
228
233
self -> send (self -> bus , false, (uint8_t * ) data , 2 );
229
234
} else {
235
+ uint16_t data [2 ];
230
236
data [0 ] = __builtin_bswap16 (y0 + self -> rowstart );
231
237
data [1 ] = __builtin_bswap16 (y1 - 1 + self -> rowstart );
232
238
self -> send (self -> bus , false, (uint8_t * ) data , 4 );
0 commit comments