Skip to content

Commit ef9f75e

Browse files
committed
Correct idle status of SCK pin
1 parent 4b41fdb commit ef9f75e

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

shared-module/dotclockframebuffer/__init__.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ void dotclockframebuffer_ioexpander_send_init_sequence(dotclockframebuffer_ioexp
4747
while (!common_hal_busio_i2c_try_lock(bus->bus)) {
4848
RUN_BACKGROUND_TASKS;
4949
}
50+
51+
// ensure deasserted CS and idle CLK
52+
pin_change(bus, /* set */ bus->cs_mask, /* clear */ bus->clk_mask);
53+
5054
for (uint32_t i = 0; i < init_sequence_len; /* NO INCREMENT */) {
5155
uint8_t *cmd = init_sequence + i;
5256
uint8_t data_size = *(cmd + 1);
@@ -57,8 +61,10 @@ void dotclockframebuffer_ioexpander_send_init_sequence(dotclockframebuffer_ioexp
5761
ioexpander_bus_send(bus, true, cmd, 1);
5862
ioexpander_bus_send(bus, false, data, data_size);
5963

64+
// idle CLK
65+
pin_change(bus, 0, /* clear */ bus->clk_mask);
6066
// deassert CS
61-
pin_change(bus, /* set */ bus->cs_mask, /* clear */ 0);
67+
pin_change(bus, /* set */ bus->cs_mask, 0);
6268

6369
uint16_t delay_length_ms = 10;
6470
if (delay) {

0 commit comments

Comments
 (0)