22 #include "PassiveTimer.h"
25 #include "DigitalFilter.h"
26 #include "Calibration.h"
27 #include "IOController.h"
28 #include "SMInterface.h"
33 static const int DefaultSubdev = -1;
34 static const int DefaultChannel = -1;
35 static const int NoSafety = -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 );
140 IOController::IOStateList::iterator d_it;
143 UniversalIO::IOType d_iotype;
151 IOController::IOStateList::iterator t_ait;
161 friend std::ostream& operator<<( std::ostream& os,
const FrontType& f );
164 FrontType front_type;
165 bool front_prev_state;
170 IOController::IOStateList::iterator ioit;
173 IOBase make_iobase_copy();
174 void create_from_iobase(
const IOBase& b );
176 friend std::ostream& operator<<(std::ostream& os,
const IOBase& inf );
178 static void processingFasAI(
IOBase* it,
float new_val,
const std::shared_ptr<SMInterface>& shm,
bool force );
179 static void processingAsAI(
IOBase* it,
long new_val,
const std::shared_ptr<SMInterface>& shm,
bool force );
180 static void processingAsDI(
IOBase* it,
bool new_set,
const std::shared_ptr<SMInterface>& shm,
bool force );
181 static long processingAsAO(
IOBase* it,
const std::shared_ptr<SMInterface>& shm,
bool force );
182 static float processingFasAO(
IOBase* it,
const std::shared_ptr<SMInterface>& shm,
bool force );
183 static bool processingAsDO(
IOBase* it,
const std::shared_ptr<SMInterface>& shm,
bool force );
184 static void processingThreshold(
IOBase* it,
const std::shared_ptr<SMInterface>& shm,
bool force );
190 const std::string& prefix,
bool init_prefix_only,
191 std::shared_ptr<DebugStream> dlog =
nullptr, std::string myname =
"",
192 int def_filtersize = 0,
float def_filterT = 0.0,
193 float def_lsparam = 0.2,
float def_iir_coeff_prev = 0.5,
194 float def_iir_coeff_new = 0.5 );
198 static std::string initProp(
UniXML::iterator& it,
const std::string& prop,
const std::string& prefix,
bool prefonly,
const std::string& defval =
"" );
199 static int initIntProp(
UniXML::iterator& it,
const std::string& prop,
const std::string& prefix,
bool prefonly,
const int defval = 0 );
200 static timeout_t initTimeoutProp(
UniXML::iterator& it,
const std::string& prop,
const std::string& prefix,
bool prefonly,
const timeout_t defval);
Пассивный таймер
Definition: PassiveTimer.h:90
long craw
Definition: IOBase.h:109
unsigned long tv_nsec
Definition: IOController_i.idl:210
long cprev
Definition: IOBase.h:110
bool calcrop
Definition: IOBase.h:123
Definition: CallbackTimer.h:29
long d_off_value
Definition: IOBase.h:142
short precision
Definition: IOController_i.idl:84
PassiveTimer ptOffDelay
Definition: IOBase.h:127
bool check_debounce(bool val)
Definition: IOBase.cc:102
long minCal
Definition: IOController_i.idl:82
unsigned long tv_sec
Definition: IOController_i.idl:209
Definition: IOController_i.idl:203
bool check_front(bool val)
Definition: IOBase.cc:174
bool check_on_delay(bool val)
Definition: IOBase.cc:133
long value
Definition: IOBase.h:108
long maxRaw
Definition: IOController_i.idl:81
uniset::ObjectId d_id
Definition: IOBase.h:139
bool check_off_delay(bool val)
Definition: IOBase.cc:154
bool offdelay_state
Definition: IOBase.h:136
bool f_filter_iir
Definition: IOBase.h:118
const ObjectId DefaultObjectId
Definition: UniSetTypes.h:56
bool debounce_state
Definition: IOBase.h:134
uniset::uniset_rwmutex val_lock
Definition: IOBase.h:171
Calibration * cdiagram
Definition: IOBase.h:105
bool f_ls
Definition: IOBase.h:117
long breaklim
Definition: IOBase.h:107
PassiveTimer ptDebounce
Definition: IOBase.h:125
PassiveTimer ptOnDelay
Definition: IOBase.h:126
Definition: Calibration.h:79
uniset::ObjectId node
Definition: IOController_i.idl:59
long safety
Definition: IOBase.h:111
DigitalFilter df
Definition: IOBase.h:114
UniversalIO::IOType stype
Definition: IOBase.h:103
long minRaw
Definition: IOController_i.idl:80
long lowlimit
Definition: IOController_i.idl:207
long d_value
Definition: IOBase.h:141
uniset::ObjectId t_ai
Definition: IOBase.h:146
Definition: DigitalFilter.h:30
long maxCal
Definition: IOController_i.idl:83
bool nofilter
Definition: IOBase.h:115
Definition: IOController_i.idl:78
long hilimit
Definition: IOController_i.idl:206
bool f_median
Definition: IOBase.h:116
bool invert
Definition: IOBase.h:121
Definition: IOController_i.idl:56
long defval
Definition: IOBase.h:112
IOController_i::CalibrateInfo cal
Definition: IOBase.h:104
Definition: IOController_i.idl:199
boolean invert
Definition: IOController_i.idl:211
bool check_depend(const std::shared_ptr< SMInterface > &shm)
Definition: IOBase.cc:78
bool ondelay_state
Definition: IOBase.h:135
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:548
long ObjectId
Definition: UniSetTypes_i.idl:30
bool check_channel_break(long val)
Definition: IOBase.cc:69
uniset::ObjectId id
Definition: IOController_i.idl:58
bool ignore
Definition: IOBase.h:120