Finds a PIO and statemachine and adds a program into PIO memory This variation of pio_claim_free_sm_and_add_program is useful on RP2350 QFN80 where the "GPIO Base" must be set per PIO instance to either address the 32 GPIOs (0->31) or the 32 GPIOS (16-47). No single PIO instance can interact with both pins 0->15 or 32->47 at the same time. This method takes additional information about the GPIO pins needed (via gpi_base and gpio_count), and optionally will set the GPIO base (\see pio_set_gpio_base) of an unused PIO instance if necessary
Attempt to load the program at the specified instruction memory offset \see pio_can_add_program_at_offset() if you need to check whether the program can be loaded