diff options
| author | gamblor21 <mark.komus@gmail.com> | 2021-03-04 18:06:14 -0600 |
|---|---|---|
| committer | gamblor21 <mark.komus@gmail.com> | 2021-03-11 19:32:44 -0600 |
| commit | c384ebe5c0b9c99cc0ab0cebcb9436fcafe8cd6e (patch) | |
| tree | dca193ad9564c750c4a4375f4e99b954dd9e2966 | |
| parent | 73214119624a7823fe49f64c24e7e766557d8c53 (diff) | |
Updated to initalize pindirs
| -rw-r--r-- | ports/raspberrypi/common-hal/displayio/ParallelBus.c | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/ports/raspberrypi/common-hal/displayio/ParallelBus.c b/ports/raspberrypi/common-hal/displayio/ParallelBus.c index dd722a587..5db8c4709 100644 --- a/ports/raspberrypi/common-hal/displayio/ParallelBus.c +++ b/ports/raspberrypi/common-hal/displayio/ParallelBus.c @@ -95,31 +95,19 @@ void common_hal_displayio_parallelbus_construct(displayio_parallelbus_obj_t* sel never_reset_pin_number(data_pin + i); } - // Calculate pin usage all data pins + write pin - uint32_t pin_usage = 0; - for (uint8_t pin_number = data_pin; pin_number < data_pin+8; pin_number++) { - pin_usage += (1 << pin_number); - } - pin_usage += (1 << write_pin); - - bool ok = rp2pio_statemachine_construct(&self->state_machine, + common_hal_rp2pio_statemachine_construct(&self->state_machine, parallel_program, sizeof(parallel_program) / sizeof(parallel_program[0]), frequency, // frequency NULL, 0, // init - data0, 8, // first out pin, # out pins + data0, 8, 0, 255, // first out pin, # out pins NULL, 0, // first in pin, # in pins - NULL, 0, // first set pin - write, 1, // first sideset pin - pin_usage, // pins we use - true, // tx fifo - false, // rx fifo + NULL, 0, 0, 0, // first set pin + write, 1, 0, 1, // first sideset pin + true, // exclusive pin usage true, 8, true, // TX, auto pull every 8 bits. shift left to output msb first - false, 32, true, // RX setting we don't use - false); // claim pins - if (!ok) { - // Do nothing. Maybe bitbang? - return; - } + false, // wait for TX stall + false, 32, true // RX setting we don't use + ); } void common_hal_displayio_parallelbus_deinit(displayio_parallelbus_obj_t* self) { @@ -162,7 +150,7 @@ void common_hal_displayio_parallelbus_send(mp_obj_t obj, display_byte_type_t byt displayio_parallelbus_obj_t* self = MP_OBJ_TO_PTR(obj); common_hal_digitalio_digitalinout_set_value(&self->command, byte_type == DISPLAY_DATA); - common_hal_rp2pio_statemachine_write(&self->state_machine, data, data_length); + common_hal_rp2pio_statemachine_write(&self->state_machine, data, data_length, 1); } void common_hal_displayio_parallelbus_end_transaction(mp_obj_t obj) { |
