Hello again I've done more homework since I posted earlier. I discovered the Linkunqueue element, which does some microsecond timing. It ought not be difficult to modify the Linkunqueue code to create something like a Timedunqueue which pulls a packet off a queue at regular intervals and pushes it out to a device...
So hopefully I've solved my problem now! Once I get the code to work I'll be able to measure how accurate the timing is. ciao - Kevin Quoting [email protected]: > 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 > _______________________________________________ click mailing list [email protected] https://amsterdam.lcs.mit.edu/mailman/listinfo/click
