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 Calibration.h:80
Definition DigitalFilter.h:31
Пассивный таймер
Definition PassiveTimer.h:94
@ NormalThreshold
Definition IOController_i.idl:205
Definition Calibration.h:27
const ObjectId DefaultObjectId
Definition UniSetTypes.h:71
long ObjectId
Definition UniSetTypes_i.idl:30
Definition IOController_i.idl:83
long maxRaw
Definition IOController_i.idl:85
long minRaw
Definition IOController_i.idl:84
long minCal
Definition IOController_i.idl:86
long maxCal
Definition IOController_i.idl:87
short precision
Definition IOController_i.idl:88
Definition IOController_i.idl:58
uniset::ObjectId node
Definition IOController_i.idl:60
uniset::ObjectId id
Definition IOController_i.idl:59
Definition IOController_i.idl:210
unsigned long tv_sec
Definition IOController_i.idl:215
long lowlimit
Definition IOController_i.idl:213
boolean invert
Definition IOController_i.idl:217
long hilimit
Definition IOController_i.idl:212
unsigned long tv_nsec
Definition IOController_i.idl:216
long value
Definition IOBase.h:108
bool f_ls
Definition IOBase.h:118
bool calcrop
Definition IOBase.h:124
bool nofilter
Definition IOBase.h:116
long craw
Definition IOBase.h:109
long breaklim
Definition IOBase.h:107
bool ondelay_state
Definition IOBase.h:136
long defval
Definition IOBase.h:112
bool debounce_state
Definition IOBase.h:135
PassiveTimer ptOffDelay
Definition IOBase.h:128
bool f_filter_iir
Definition IOBase.h:119
bool safevalDefined
Definition IOBase.h:113
uniset::ObjectId d_id
Definition IOBase.h:140
long d_off_value
Definition IOBase.h:143
Calibration * cdiagram
Definition IOBase.h:105
bool offdelay_state
Definition IOBase.h:137
bool check_on_delay(bool val)
Definition IOBase.cc:134
bool check_debounce(bool val)
Definition IOBase.cc:103
IOController_i::CalibrateInfo cal
Definition IOBase.h:104
bool check_off_delay(bool val)
Definition IOBase.cc:155
bool check_depend(const std::shared_ptr< SMInterface > &shm)
Definition IOBase.cc:79
PassiveTimer ptOnDelay
Definition IOBase.h:127
bool invert
Definition IOBase.h:122
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:665
UniversalIO::IOType stype
Definition IOBase.h:103
long safeval
Definition IOBase.h:111
long cprev
Definition IOBase.h:110
PassiveTimer ptDebounce
Definition IOBase.h:126
bool check_channel_break(long val)
Definition IOBase.cc:70
bool f_median
Definition IOBase.h:117
uniset::ObjectId t_ai
Definition IOBase.h:147
DigitalFilter df
Definition IOBase.h:115
bool ignore
Definition IOBase.h:121
bool check_front(bool val)
Definition IOBase.cc:175
uniset::uniset_rwmutex val_lock
Definition IOBase.h:172
long d_value
Definition IOBase.h:142