Mercurial > ~darius > hgwebdir.cgi > modulator
comparison trigger.pio @ 25:6070d2e66b4c
Cascade IRQs from DAC to control so manual & external trigger are the same.
author | Daniel O'Connor <darius@dons.net.au> |
---|---|
date | Tue, 25 Feb 2025 16:53:32 +1030 |
parents | c7845db23ab2 |
children | e1d8fe3e418a |
comparison
equal
deleted
inserted
replaced
24:c7845db23ab2 | 25:6070d2e66b4c |
---|---|
11 .wrap_target | 11 .wrap_target |
12 ; Wait for trigger to be low | 12 ; Wait for trigger to be low |
13 wait 0 pin 0 side 0 | 13 wait 0 pin 0 side 0 |
14 ; Wait for rising edge | 14 ; Wait for rising edge |
15 wait 1 pin 0 side 0 | 15 wait 1 pin 0 side 0 |
16 ; Signal other state machines | 16 ; Signal DAC SM (which will trigger the control one) |
17 irq nowait DAC_TRIGGER_IRQ side 1 | 17 irq nowait DAC_TRIGGER_IRQ side 1 |
18 irq nowait CTRL_TRIGGER_IRQ side 1 | |
19 .wrap | 18 .wrap |
20 | 19 |
21 % c-sdk { | 20 % c-sdk { |
22 static inline void trigger_program_init(PIO pio, uint sm, uint offset, uint pin, uint clkdiv) { | 21 static inline void trigger_program_init(PIO pio, uint sm, uint offset, uint pin, uint clkdiv) { |
23 pio_sm_config c = trigger_program_get_default_config(offset); | 22 pio_sm_config c = trigger_program_get_default_config(offset); |