.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); } %}