8000 Updated to initalize pindirs · adafruit/circuitpython@95069ed · GitHub
[go: up one dir, main page]

Skip to content

Commit 95069ed

Browse files
committed
Updated to initalize pindirs
1 parent 4f42802 commit 95069ed

File tree

1 file changed

+9
-21
lines changed

1 file changed

+9
-21
lines changed

ports/raspberrypi/common-hal/displayio/ParallelBus.c

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -95,31 +95,19 @@ void common_hal_displayio_parallelbus_construct(displayio_parallelbus_obj_t* sel
9595
never_reset_pin_number(data_pin + i);
9696
}
9797

98-
// Calculate pin usage all data pins + write pin
99-
uint32_t pin_usage = 0;
100-
for (uint8_t pin_number = data_pin; pin_number < data_pin+8; pin_number++) {
101-
pin_usage += (1 << pin_number);
102-
}
103-
pin_usage += (1 << write_pin);
104-
105-
bool ok = rp2pio_statemachine_construct(&self->state_machine,
98+
common_hal_rp2pio_statemachine_construct(&self->state_machine,
10699
parallel_program, sizeof(parallel_program) / sizeof(parallel_program[0]),
107100
frequency, // frequency
108101
NULL, 0, // init
109-
data0, 8, // first out pin, # out pins
102+
data0, 8, 0, 255, // first out pin, # out pins
110103
NULL, 0, // first in pin, # in pins
111-
NULL, 0, // first set pin
112-
write, 1, // first sideset pin
113-
pin_usage, // pins we use
114-
true, // tx fifo
115-
false, // rx fifo
104+
NULL, 0, 0, 0, // first set pin
105+
write, 1, 0, 1, // first sideset pin
106+
true, // exclusive pin usage
116107
true, 8, true, // TX, auto pull every 8 bits. shift left to output msb first
117-
false, 32, true, // RX setting we don't use
118-
false); // claim pins
119-
if (!ok) {
120-
// Do nothing. Maybe bitbang?
121-
return;
122-
}
108+
false, // wait for TX stall
109+
false, 32, true // RX setting we don't use
110+
);
123111
}
124112

125113
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
162150
displayio_parallelbus_obj_t* self = MP_OBJ_TO_PTR(obj);
163151

164152
common_hal_digitalio_digitalinout_set_value(&self->command, byte_type == DISPLAY_DATA);
165-
common_hal_rp2pio_statemachine_write(&self->state_machine, data, data_length);
153+
common_hal_rp2pio_statemachine_write(&self->state_machine, data, data_length, 1);
166154
}
167155

168156
void common_hal_displayio_parallelbus_end_transaction(mp_obj_t obj) {

0 commit comments

Comments
 (0)
0