2025-04-13 11:16:03 -04:00

38 lines
623 B
Plaintext

.pio_version 1
.define public CLK_PIN 21
.program fpga
wait 1 gpio CLK_PIN
wait 0 gpio CLK_PIN
in pins, 8
% c-sdk {
static inline void fpga_program_init(PIO pio, uint sm, uint offset, uint pin)
{
pio_sm_config c = fpga_program_get_default_config(offset);
sm_config_set_in_pins(&c, pin);
pio_sm_set_consecutive_pindirs(pio, sm, pin, 8, false);
for (int i = 0; i < 8; i++)
{
pio_gpio_init(pio, pin + i);
}
sm_config_set_in_shift(
&c,
false,
true,
8
);
sm_config_set_fifo_join(&c, PIO_FIFO_JOIN_RX);
pio_sm_init(pio, sm, offset, &c);
pio_sm_set_enabled(pio, sm, true);
}
%}