
Hi Graeme,
On Tue, Jun 28, 2011 at 10:19 PM, Graeme Russ graeme.russ@gmail.com wrote:
Hi Reinhard,
On Wed, Jun 29, 2011 at 3:06 PM, Reinhard Meyer u-boot@emk-elektronik.de wrote:
Dear All,
Well I know i have asked this before, but I feel I should ask again because I didn't like the answer much.
Imagine we change this code to:
ts = time_now_ms() + msec do { ... } while (time_since_ms(ts)< 0);
That should be legal, right? But I don't think this can work since the 'since' functions return an unsigned.
[aside: this provides for another idiom that I think we talked about:
ts = time_future_ms(msec) do { ... } while (!time_passed(ts))
which I am not at all suggesting should be in the API :-) end aside]
I still vouch for this concept, which is simple, clean, and easy to understand.
It really is a matter of personal taste ;) I find
u32 start = time_now_ms();
do { ...blah... } while(time_since_ms(start) < timeout);
much easier to understand (Do whatever while time elapsed since I started is less than the timeout)
u32 end = time_future_ms(timeout);
do { ...blah... } while(time_now_ms() < end);
...
Actually:
} while (time_passed_ms(end))
but anyway I agree it is a matter of taste and I'm quite happy with the approach here at the moment.
But what about my question about signed ints for deltas?
Regards, Simon