Closed kwahoo2 closed 2 months ago
Now this is getting weird. It seems that only 1 instruction in .wrap_target .wrap block is executed.
Eg. this pushes the ISR register to FIFO:
.wrap_target
push
.wrap
But this does not:
.wrap_target
in pins, 21
push
.wrap
If autopush is enabled the issue still can be triggered, eg this will not push the ISR in FIFO (mov y, y can be replaced with any instruction):
.wrap_target
mov y, y
in pins, 21
.wrap
Ok, found it. It was my mistake, accidentally left sm_config_set_wrap()
function call.
Hi,
This my be my stupid mistake, but:
If I set autopush:
sm_config_set_in_shift(&c, true, true, pin_count); //auto push
and:
the RX FIFO is filed with data. So far, so good.
But if I disable autopush:
sm_config_set_in_shift(&c, true, false, pin_count); //do not auto push
and add manual push in the pio code:
FIFO stays empty. Adding
noblock
oriffull
does not change anythingI use the latest master.
Full code in the attachment, FIFO level is printed via USB serial:
pio-reader.zip