// -------------------------------------------------- //
// This file is autogenerated by pioasm; do not edit! //
// -------------------------------------------------- //

#pragma once

#if !PICO_NO_HARDWARE
#include "hardware/pio.h"
#endif

// --- //
// vfo //
// --- //

#define vfo_wrap_target 1
#define vfo_wrap 12

static const uint16_t vfo_program_instructions[] = {
    0xe081, //  0: set    pindirs, 1                 
            //     .wrap_target
    0x80a0, //  1: pull   block                      
    0x6020, //  2: out    x, 32                      
    0xa041, //  3: mov    y, x                       
    0x0084, //  4: jmp    y--, 4                     
    0xe401, //  5: set    pins, 1                [4] 
    0xe000, //  6: set    pins, 0                    
    0xa042, //  7: nop                               
    0xa042, //  8: nop                               
    0xa042, //  9: nop                               
    0x004a, // 10: jmp    x--, 10                    
    0xe401, // 11: set    pins, 1                [4] 
    0xe000, // 12: set    pins, 0                    
            //     .wrap
};

#if !PICO_NO_HARDWARE
static const struct pio_program vfo_program = {
    .instructions = vfo_program_instructions,
    .length = 13,
    .origin = -1,
};

static inline pio_sm_config vfo_program_get_default_config(uint offset) {
    pio_sm_config c = pio_get_default_sm_config();
    sm_config_set_wrap(&c, offset + vfo_wrap_target, offset + vfo_wrap);
    return c;
}
#endif
