add example from appDevGuide
This commit is contained in:
31
src/libCom/test/epicsTimerExample.cpp
Normal file
31
src/libCom/test/epicsTimerExample.cpp
Normal file
@@ -0,0 +1,31 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#include "epicsTimer.h"
|
||||
|
||||
class something : public epicsTimerNotify {
|
||||
public:
|
||||
something(const char* nm,epicsTimerQueueActive &queue)
|
||||
: name(nm), timer(queue.createTimer()) {}
|
||||
virtual ~something() { timer.destroy();}
|
||||
void start(double delay) {timer.start(*this,delay);}
|
||||
virtual expireStatus expire(const epicsTime & currentTime) {
|
||||
printf("%s\n",name);
|
||||
currentTime.show(1);
|
||||
return(noRestart);
|
||||
}
|
||||
private:
|
||||
const char* name;
|
||||
epicsTimer &timer;
|
||||
};
|
||||
|
||||
void epicsTimerExample()
|
||||
{
|
||||
epicsTimerQueueActive &queue = epicsTimerQueueActive::allocate(true);
|
||||
something first("first",queue);
|
||||
something second("second",queue);
|
||||
|
||||
first.start(1.0);
|
||||
second.start(1.5);
|
||||
epicsThreadSleep(2.0);
|
||||
queue.release();
|
||||
}
|
||||
Reference in New Issue
Block a user