The problem: What if we need the result of BOTH of 2 asynchronous operations (e.g.
xod/common-hardware/dht2x-thermometer), so we can perform a 3rd operation (LED, Servo, radio-write, etc).
While I2C (and other
*/read-byte nodes) are not currently asynchronous, a few others are, including
As far as I can tell, there is no
join-pulses (wait-for-all-pulses, etc.) node.
Here is a contrived example of 2 asynchronous operations, with a 3rd that wants to use BOTH results.
I put an
any node where a
join should be, to show what we would need.
Also, here’s the project need-join.xodball (9.1 KB)
because it might be easier to see if you open it in XOD.
join would fire a pulse (and reset) only when ALL input pulses have (eventually) fired. It only counts the first pulse on a particular input, until reset. I imagine using bits to hold each signal, and when all are set, fire the output pulse and clear the bits. Of course that might limit the number of inputs to 32 or 64.