22 #include "PassiveTimer.h" 25 #include "DigitalFilter.h" 26 #include "Calibration.h" 27 #include "IOController.h" 28 #include "SMInterface.h" 36 static const int DefaultSubdev = -1;
37 static const int DefaultChannel = -1;
38 static const int DefaultCard = -1;
50 stype(UniversalIO::UnknownIOType),
67 debounce_pause(
false),
74 d_iotype(UniversalIO::UnknownIOType),
77 front_type(ftUnknown),
78 front_prev_state(
false),
100 bool check_depend(
const std::shared_ptr<SMInterface>& shm );
141 IOController::IOStateList::iterator d_it;
144 UniversalIO::IOType d_iotype;
152 IOController::IOStateList::iterator t_ait;
162 friend std::ostream& operator<<( std::ostream& os,
const FrontType& f );
165 FrontType front_type;
166 bool front_prev_state;
171 IOController::IOStateList::iterator ioit;
174 IOBase make_iobase_copy();
175 void create_from_iobase(
const IOBase& b );
177 friend std::ostream& operator<<(std::ostream& os,
const IOBase& inf );
179 static void processingF64asAI(
IOBase* it,
double new_val,
const std::shared_ptr<SMInterface>& shm,
bool force );
180 static void processingFasAI(
IOBase* it,
float new_val,
const std::shared_ptr<SMInterface>& shm,
bool force );
181 static void processingAsAI(
IOBase* it,
long new_val,
const std::shared_ptr<SMInterface>& shm,
bool force );
182 static void processingAsDI(
IOBase* it,
bool new_set,
const std::shared_ptr<SMInterface>& shm,
bool force );
183 static long processingAsAO(
IOBase* it,
const std::shared_ptr<SMInterface>& shm,
bool force );
184 static float processingFasAO(
IOBase* it,
const std::shared_ptr<SMInterface>& shm,
bool force );
185 static double processingF64asAO(
IOBase* it,
const std::shared_ptr<SMInterface>& shm,
bool force );
186 static bool processingAsDO(
IOBase* it,
const std::shared_ptr<SMInterface>& shm,
bool force );
187 static void processingThreshold(
IOBase* it,
const std::shared_ptr<SMInterface>& shm,
bool force );
193 const std::string& prefix,
bool init_prefix_only,
194 std::shared_ptr<DebugStream> dlog =
nullptr, std::string myname =
"",
195 int def_filtersize = 0,
float def_filterT = 0.0,
196 float def_lsparam = 0.2,
float def_iir_coeff_prev = 0.5,
197 float def_iir_coeff_new = 0.5 );
201 static std::string initProp(
UniXML::iterator& it,
const std::string& prop,
const std::string& prefix,
bool prefonly,
const std::string&
defval =
"" );
202 static int initIntProp(
UniXML::iterator& it,
const std::string& prop,
const std::string& prefix,
bool prefonly,
const int defval = 0 );
203 static timeout_t initTimeoutProp(
UniXML::iterator& it,
const std::string& prop,
const std::string& prefix,
bool prefonly,
const timeout_t
defval);
Пассивный таймер
Definition: PassiveTimer.h:92
long craw
Definition: IOBase.h:109
unsigned long tv_nsec
Definition: IOController_i.idl:211
long cprev
Definition: IOBase.h:110
bool calcrop
Definition: IOBase.h:124
Definition: CommonEventLoop.h:14
long d_off_value
Definition: IOBase.h:143
short precision
Definition: IOController_i.idl:85
PassiveTimer ptOffDelay
Definition: IOBase.h:128
bool check_debounce(bool val)
Definition: IOBase.cc:103
long minCal
Definition: IOController_i.idl:83
unsigned long tv_sec
Definition: IOController_i.idl:210
Definition: IOController_i.idl:204
bool check_front(bool val)
Definition: IOBase.cc:175
long safeval
Definition: IOBase.h:111
bool check_on_delay(bool val)
Definition: IOBase.cc:134
long value
Definition: IOBase.h:108
long maxRaw
Definition: IOController_i.idl:82
uniset::ObjectId d_id
Definition: IOBase.h:140
bool check_off_delay(bool val)
Definition: IOBase.cc:155
bool offdelay_state
Definition: IOBase.h:137
bool f_filter_iir
Definition: IOBase.h:119
const ObjectId DefaultObjectId
Definition: UniSetTypes.h:69
bool debounce_state
Definition: IOBase.h:135
uniset::uniset_rwmutex val_lock
Definition: IOBase.h:172
Calibration * cdiagram
Definition: IOBase.h:105
bool f_ls
Definition: IOBase.h:118
long breaklim
Definition: IOBase.h:107
PassiveTimer ptDebounce
Definition: IOBase.h:126
PassiveTimer ptOnDelay
Definition: IOBase.h:127
Definition: Calibration.h:79
uniset::ObjectId node
Definition: IOController_i.idl:60
DigitalFilter df
Definition: IOBase.h:115
UniversalIO::IOType stype
Definition: IOBase.h:103
long minRaw
Definition: IOController_i.idl:81
long lowlimit
Definition: IOController_i.idl:208
long d_value
Definition: IOBase.h:142
uniset::ObjectId t_ai
Definition: IOBase.h:147
Definition: DigitalFilter.h:30
long maxCal
Definition: IOController_i.idl:84
bool nofilter
Definition: IOBase.h:116
Definition: IOController_i.idl:79
bool safevalDefined
Definition: IOBase.h:113
long hilimit
Definition: IOController_i.idl:207
bool f_median
Definition: IOBase.h:117
bool invert
Definition: IOBase.h:122
Definition: IOController_i.idl:57
long defval
Definition: IOBase.h:112
IOController_i::CalibrateInfo cal
Definition: IOBase.h:104
Definition: IOController_i.idl:200
boolean invert
Definition: IOController_i.idl:212
bool check_depend(const std::shared_ptr< SMInterface > &shm)
Definition: IOBase.cc:79
bool ondelay_state
Definition: IOBase.h:136
static bool initItem(IOBase *b, UniXML::iterator &it, const std::shared_ptr< SMInterface > &shm, const std::string &prefix, bool init_prefix_only, std::shared_ptr< DebugStream > dlog=nullptr, std::string myname="", int def_filtersize=0, float def_filterT=0.0, float def_lsparam=0.2, float def_iir_coeff_prev=0.5, float def_iir_coeff_new=0.5)
Definition: IOBase.cc:657
long ObjectId
Definition: UniSetTypes_i.idl:30
bool check_channel_break(long val)
Definition: IOBase.cc:70
uniset::ObjectId id
Definition: IOController_i.idl:59
bool ignore
Definition: IOBase.h:121