Hello Squib,
My experience is the Talkers send out about 1 sentence per second.
If there are two Talkers with similar "timing"
the transmissions will overlap almost all the time,
this is why I used one receiver per talker.
The receiver waits for the "$" skips all unneeded bytes
and stores the wanted bytes.
(The variable will always be overwritten with latest received data)
So far you can be sure to "catch" all transmitted data from the Talker.
When I said the Multiplexer polls the Receivers that was not
correct, it actually waits for data from the Receiver.
The Receivers send data right after reception
Let's assume a Talker transmits 80 bytes every second.
This will take 150ms per Talker and sentence
assuming you have two talkers and the full blown combined sentence consists of 160 bytes
it will take about 300ms to send that data out.
I'm using a two wire connection Receiver to Multiplexer
(a Data line and a Handshake (BUSY) line)
As soon as a Receiver has data ready to be send to the Multiplexer
it checks the BUSY status. If CLEAR
it sets BUSY and sends it's data (including a RECEIVER ID)
and clears BUSY
if BUSY is not CLEAR it waits max 150ms for BUSY to become clear
and does the job as described above.
Given the "Sentence-Size" and "Timing" described,
you have plenty of time to deal with the data without loosing any single byte.
I have stripped all unneeded Bytes from the sentences so that the "combined-sentence"
is even less than 80 bytes per talker (Even GPS-Data).
Bookmarks