Skip to content

Commit 7f7ea5b

Browse files
committed
sdk 1.5 compat
1 parent b559b3e commit 7f7ea5b

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

src/sdk_compat.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,17 @@ static __always_inline void pio_sm_set_jmp_pin(PIO pio, uint sm, uint jmp_pin) {
66
(pio->sm[sm].execctrl & ~PIO_SM0_EXECCTRL_JMP_PIN_BITS) |
77
(jmp_pin << PIO_SM0_EXECCTRL_JMP_PIN_LSB);
88
}
9+
10+
static_assert(PIO1_BASE - PIO0_BASE == (1u << 20), "hardware layout mismatch");
11+
#define PIO_INSTANCE(instance) ((pio_hw_t *)(PIO0_BASE + (instance) * (1u << 20)))
12+
static __always_inline PIO pio_get_instance(uint instance) {
13+
return PIO_INSTANCE(instance);
14+
}
15+
16+
#define PIO_NUM(pio) (((uintptr_t)(pio) - PIO0_BASE) >> 20)
17+
#define NUM_PIO_IRQS (2u)
18+
#define PIO_IRQ_NUM(pio, irqn) (PIO0_IRQ_0 + NUM_PIO_IRQS * PIO_NUM(pio) + (irqn))
19+
920
#endif
1021

1122
#if PICO_SDK_VERSION_MAJOR < 2 || (PICO_SDK_VERSION_MAJOR == 2 && PICO_SDK_VERSION_MINOR < 1)

0 commit comments

Comments
 (0)