#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().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.2.11.1 written by Dimitri van Heesch,
© 1997-2001