@aleksorsist @urja Yeah. So what you want IMO is a series of always-enabled data processing blocks, then microcode/state machine that acts on their output.

So for example

HARDWARE BLOCK CONFIG
A) edge detect CH1
B) edge detect CH2
C) edge detect CH3
D) 8-bit shift register, clk=CH2 rising, data=CH3, reset=CH1 falling

STATES
1) on falling edge A: go to 2
2) on data available D: go to 3 if 0x41, else go to 1. On rising edge A, go to 1
3) on data available D: trigger if 0x42, else go to 1. On rising edge A, go to 1

0

If you have a fediverse account, you can quote this note from your own instance. Search https://ioc.exchange/users/azonenberg/statuses/114457119002577165 on your instance and quote it. (Note that quoting is not supported in Mastodon.)