OSDN Git Service

first
[psychlops/cpp.git] / psychlops / core / devices / psychlops_io_analog.cpp
1 /*
2  *  psychlops_io_analog.cpp
3  *  Psychlops Standard Library (Universal)
4  *
5  *  Last Modified 2008/04/05 by Kenchi HOSOKAWA
6  *  (C) 2006 Kenchi HOSOKAWA, Kazushi MARUYA and Takao SATO
7  */
8
9 #include "psychlops_io_analog.h"
10
11
12 namespace Psychlops {
13
14         ITrigger::~ITrigger() {
15         }
16
17
18         const Exception trg_no_inst("Trigger has no instance.");
19         Trigger::Trigger() { instance = 0; }
20         Trigger::Trigger(ITrigger *v) { instance = v; }
21         Trigger::Trigger(ITrigger &v) { instance = &v; }
22         void Trigger::set(ITrigger *v) { instance = v; }
23         void Trigger::set(ITrigger &v) { instance = &v; }
24         Trigger::~Trigger() { if(instance==0) delete instance; }
25         double Trigger::getLatency() { if(instance!=0) return instance->getLatency(); else throw trg_no_inst; }
26         double Trigger::getJitterSD() { if(instance!=0) return instance->getJitterSD(); else throw trg_no_inst; }
27         Interval Trigger::getRange() { if(instance!=0) return instance->getRange(); else throw trg_no_inst; }
28         bool Trigger::isAnalog() { if(instance!=0) return instance->isAnalog(); else throw trg_no_inst; }
29
30         double Trigger::get() { if(instance!=0) return instance->get(); else throw trg_no_inst; }
31         void Trigger::put(double v) { if(instance!=0) instance->put(v); else throw trg_no_inst; }
32         void Trigger::pulse(double v) { if(instance!=0) instance->pulse(v); else throw trg_no_inst; }
33         void Trigger::keep(double v) { if(instance!=0) instance->keep(v); else throw trg_no_inst; }
34         
35
36
37         AnalogInput::~AnalogInput() {
38         }
39
40         AnalogOutput::~AnalogOutput() {
41         }
42
43
44 }       /*      <- namespace Psycholops         */