The tcDspClk1305G class is used to provide access to an adjustable frequency hardware clock, based upon the design found in Appendix G of RFC-1305. The clock provides a value in seconds and nanoseconds. It can be read, set directly to a value, have a frequency adjustment in parts-per-billion added/subtracted, or directly set a frequency offset in PPB.
This is a simple example of tcDspClk1305G creation and usage:
{
unsigned int myBaseAddr = 0xA0000180;
unsigned int now_secs, now_nsecs;
tcDspClk1305G *myClock;
// create a RFC-1305 clock interface
myClock = new tcDspClk1305G((void *)myBaseAddr);
// update the current time to 3600.1s
myClock->setTime(3600, 100000000);
// increase the clock frequency by 10,000 parts per billion
myClock->adjFreq(10000);
// get the current time
myClock->getTime(now_secs, now_nsecs);
...
}