in reply to Re^3: How I unconditionally wait for data in 7 seconds?
in thread How I unconditionally wait for data in 7 seconds?
aaah now I understand. It wont matter with accuracy. The time slot only needs to be larger than it takes for the device to send one data block (I Think about 2 seconds), and smaller than the interval between two data blocks (device is set to send one data block each 30 sec). Its just a way to know "ooh, now the device is finished talking so lets parse the contents of the data block".
Since its Waits until one character is available, and then waits 7 seconds for the data block, the code will resynchronize itself with the device all the time, even if the device waits 29 seconds or 31 seconds to send a data block instead of 30 seconds, thus it will Always be 7.X seconds from the device starts talking, thus in reality it will not "slip" over real time.
Your sleep code is extremely fragile against DST Changes. Imagine what happens when it comes a DST -1h change (from summer time to Winter time) during your while loop. Whoops, the code will instead wait 1 hour and 7 seconds.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^5: How I unconditionally wait for data in 7 seconds?
by soonix (Chancellor) on Feb 11, 2015 at 09:24 UTC |