diff --git a/ports/raspberrypi/common-hal/rp2pio/StateMachine.c b/ports/raspberrypi/common-hal/rp2pio/StateMachine.c index 2f815cd2ee0..612b7b5ec2e 100644 --- a/ports/raspberrypi/common-hal/rp2pio/StateMachine.c +++ b/ports/raspberrypi/common-hal/rp2pio/StateMachine.c @@ -433,7 +433,9 @@ bool rp2pio_statemachine_construct(rp2pio_statemachine_obj_t *self, added = true; } else { uint program_offset; - bool r = pio_claim_free_sm_and_add_program_for_gpio_range(&program_struct, &pio, (uint *)&state_machine, &program_offset, gpio_base, gpio_count, true); + bool r = gpio_count + ? pio_claim_free_sm_and_add_program_for_gpio_range(&program_struct, &pio, (uint *)&state_machine, &program_offset, gpio_base, gpio_count, true) + : pio_claim_free_sm_and_add_program(&program_struct, &pio, (uint *)&state_machine, &program_offset); if (!r) { return false; } diff --git a/ports/raspberrypi/sdk b/ports/raspberrypi/sdk index a1438dff1d3..079c6f39023 160000 --- a/ports/raspberrypi/sdk +++ b/ports/raspberrypi/sdk @@ -1 +1 @@ -Subproject commit a1438dff1d38bd9c65dbd693f0e5db4b9ae91779 +Subproject commit 079c6f39023649b154152db30f1d781e884879bc