Main Page   Packages   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

C:/temp/src/j2k/nto/timer.cpp

Go to the documentation of this file.
00001 // file timer.cpp
00002 
00003 
00004 #include <j2k/nto/timer.hpp>
00005 
00006 my_timer::my_timer( unsigned long val )
00007 {
00008 
00009     chid = ChannelCreate( 0 ); 
00010     assert( chid!=-1);  
00011     set_timer();
00012 
00013   timer.it_value.tv_sec  = 0;
00014   timer.it_value.tv_nsec =val;
00015   timer.it_interval.tv_sec  = 0;
00016   timer.it_interval.tv_nsec = val;
00017   int err = timer_settime( timer_id, 0, &timer, NULL );
00018   MC_OnError( err, Error, "my_timer::timer_start ")
00019   clkper.nsec      = 1000000; 
00020   clkper.fract      = 0; 
00021   
00022 }
00023 
00024 my_timer::~my_timer(){
00025 }
00026 
00027 
00028 // set preferences for the timer
00029 void my_timer::set_timer(){
00030 
00031     event.sigev_notify            = SIGEV_PULSE; 
00032     event.sigev_coid              = ConnectAttach ( ND_LOCAL_NODE, 0, chid, 0, 0 ); 
00033     event.sigev_priority          = getprio(0); 
00034     event.sigev_code              = 1023; 
00035     event.sigev_value.sival_ptr   = (void*)pulse_id;                                
00036     assert ( event.sigev_coid != -1 ); 
00037     int err = timer_create(  CLOCK_REALTIME, &event, &timer_id );
00038     MC_OnError( err, Error, "Timer create" )
00039  }
00040 
00041 // return channel number
00042 int my_timer::getChid(){
00043 
00044   return chid;
00045 }
00046 
00047 // gives pulse
00048 void my_timer::WaitForPulse(){
00049   int err = MsgReceivePulse(chid ,&pulse , sizeof( pulse ), NULL );
00050   MC_OnError( err, Error,"my_timer::WaitForPulse()");
00051 }
00052 
00053 void my_timer::run()
00054 {
00055   for(;;) {
00056     WaitForPulse();
00057     tick();
00058   }
00059 }
00060 
00061 

Generated on Sun Oct 14 18:46:25 2001 for Standard J2K Library by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001