38 lines
623 B
Plaintext
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);
|
|
}
|
|
|
|
%}
|