2 * psychlops_io_analog.h
3 * Psychlops Standard Library (Universal)
5 * Last Modified 2008/10/05 by Kenchi HOSOKAWA
6 * (C) 2006 Kenchi HOSOKAWA, Kazushi MARUYA and Takao SATO
9 #ifndef HEADER_PSYCHLOPS_IO_ANALOG
10 #define HEADER_PSYCHLOPS_IO_ANALOG
12 #include "../math/psychlops_math.h"
20 virtual double getLatency() = 0;
21 virtual double getJitterSD() = 0;
22 virtual Interval getRange() = 0;
23 virtual bool isAnalog() = 0;
25 virtual double get() = 0;
26 virtual void put(double) = 0;
27 virtual void pulse(double) = 0;
28 virtual void keep(double) = 0;
31 class Trigger : public ITrigger
43 virtual double getLatency();
44 virtual double getJitterSD();
45 virtual Interval getRange();
46 virtual bool isAnalog();
49 virtual void put(double);
50 virtual void pulse(double);
51 virtual void keep(double);
57 double (*normalize)(double);
58 virtual ~AnalogInput();
59 virtual double get() = 0;
60 // virtual setNormalize(double (*fn)(double)) = 0;
65 double (*denormalize)(double);
66 virtual ~AnalogOutput();
67 virtual void put(double) = 0;
68 // virtual denormalize(double) = 0;
71 } /* <- namespace Psycholops */