#include <timer.hpp>
Inheritance diagram for my_timer::
Public Methods | |
my_timer (unsigned long) | |
virtual | ~my_timer () |
void | set_timer () |
int | getChid () |
void | WaitForPulse () |
virtual void | run () |
virtual void | tick ()=0 |
Private Attributes | |
int | chid |
int | pulse_id |
timer_t | timer_id |
sigevent | event |
itimerspec | timer |
_clockperiod | clkper |
_pulse | pulse |
|
Definition at line 6 of file timer.cpp. 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 } |
|
Definition at line 24 of file timer.cpp. 00024 { 00025 } |
|
Definition at line 48 of file timer.cpp. Referenced by run().
00048 { 00049 int err = MsgReceivePulse(chid ,&pulse , sizeof( pulse ), NULL ); 00050 MC_OnError( err, Error,"my_timer::WaitForPulse()"); 00051 } |
|
Definition at line 42 of file timer.cpp. 00042 { 00043 00044 return chid; 00045 } |
|
Reimplemented from Basic_PThread. Definition at line 53 of file timer.cpp. 00054 { 00055 for(;;) { 00056 WaitForPulse(); 00057 tick(); 00058 } 00059 } |
|
Definition at line 29 of file timer.cpp. Referenced by my_timer().
00029 { 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 } |
|
Reimplemented in timer_test, timer_test, and timer_test. Referenced by run().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|