Hi Clickers I'm working on a TDM-style multi-hop MAC. I know that a number of other people have done similar stuff, so hopefully there will be an easy answer to my question.
I'm hoping to achieve a TDM slot size of around 1ms. In order to do this, I'll need to be able to time packet transmissions, and measure their arrival times, to microsecond-accuracy. From what I understand, Click timers are based on the Linux clock which ticks at about 1Khz in 2.6 kernels (giving a resolution of about 1ms) which is not accurate enough for my needs. The documentation for the timer class tells me: "..there can be a significant delay between a Timer's nominal expiration time and the actual time it runs. Elements that desire extremely precise timings should combine a Timer with a Task. The Timer is set to go off a bit before the true expiration time (see Timer::adjustment()), after which the Task polls the CPU until the actual expiration time arrives." ... which sounds like just the sort of thing I need. But I am a newbie to Click, and I'm daunted by the thought of having to write the Task polling code. I want: * Code to transmit a packet at a regular interval (say every 1ms, to accuracy of 100us or better) * Code to read the arrival time of a packet to us accuracy (I'm not there yet, but I think this should be easy...) Can anybody help me with some sample code? This must have been done, surely? Thanks - Kevin Duff PhD Candidate, Rhodes University Wireless Mesh Researcher, Meraka Institute _______________________________________________ click mailing list [email protected] https://amsterdam.lcs.mit.edu/mailman/listinfo/click
