UniSet 2.32.1
Классы | Открытые типы | Открытые члены | Открытые статические члены | Защищенные типы | Защищенные члены | Защищенные данные | Полный список членов класса
Класс uniset::IOControl

#include <IOControl.h>

Граф наследования:uniset::IOControl:
Inheritance graph
[см. легенду]
Граф связей класса uniset::IOControl:
Collaboration graph
[см. легенду]

Классы

struct  IOInfo
 
struct  IOPriority
 

Открытые типы

enum  TestModeID {
  tmNone = 0 , tmOffPoll = 1 , tmConfigEnable = 2 , tmConfigDisable = 3 ,
  tmOnlyInputs = 4 , tmOnlyOutputs = 5
}
 

Открытые члены

 IOControl (uniset::ObjectId id, uniset::ObjectId icID, const std::shared_ptr< SharedMemory > &shm=nullptr, size_t numcards=2, const std::string &prefix="io")
 
virtual uniset::SimpleInfogetInfo (const char *userparam=0) override
 
- Открытые члены унаследованные от uniset::UniSetObject
 UniSetObject (const std::string &name, const std::string &section)
 
 UniSetObject (uniset::ObjectId id)
 
virtual CORBA::Boolean exist () override
 
virtual uniset::ObjectId getId () override
 
const uniset::ObjectId getId () const
 
std::string getName () const
 
virtual uniset::ObjectType getType () override
 
const std::string getStrType ()
 
virtual uniset::SimpleInfoapiRequest (const char *query) override
 
virtual void push (const uniset::TransportMessage &msg) override
 поместить сообщение в очередь
 
virtual void pushMessage (const char *msg, ::CORBA::Long mtype, const ::uniset::Timespec &tm, const ::uniset::ProducerInfo &pi, ::CORBA::Long priority, ::CORBA::Long consumer) override
 поместить текстовое сообщение в очередь
 
virtual Poco::JSON::Object::Ptr httpGet (const Poco::URI::QueryParameters &p) override
 
virtual Poco::JSON::Object::Ptr httpHelp (const Poco::URI::QueryParameters &p) override
 
uniset::ObjectPtr getRef () const
 
std::shared_ptr< UniSetObjectget_ptr ()
 
virtual timeout_t askTimer (uniset::TimerId timerid, timeout_t timeMS, clock_t ticks=-1, uniset::Message::Priority p=uniset::Message::High) override
 
- Открытые члены унаследованные от uniset::LT_Object
timeout_t checkTimers (UniSetObject *obj)
 
timeout_t getTimeInterval (uniset::TimerId timerid) const
 
timeout_t getTimeLeft (uniset::TimerId timerid) const
 
- Открытые члены унаследованные от uniset::UHttp::IHttpRequest
virtual Poco::JSON::Object::Ptr httpRequest (const std::string &req, const Poco::URI::QueryParameters &p)
 

Открытые статические члены

static std::shared_ptr< IOControlinit_iocontrol (int argc, const char *const *argv, uniset::ObjectId icID, const std::shared_ptr< SharedMemory > &ic=nullptr, const std::string &prefix="io")
 
static void help_print (int argc, const char *const *argv)
 

Защищенные типы

typedef std::vector< std::shared_ptr< IOInfo > > IOMap
 
typedef std::deque< IOPriorityPIOMap
 
typedef std::list< std::shared_ptr< IOInfo > > BlinkList
 
- Защищенные типы унаследованные от uniset::LT_Object
typedef std::deque< TimerInfoTimersList
 

Защищенные члены

void iopoll ()
 
void ioread (std::shared_ptr< IOInfo > &it)
 
void check_testlamp ()
 
void check_testmode ()
 
void blink ()
 
void iothread ()
 
virtual void sysCommand (const uniset::SystemMessage *sm) override
 
virtual void askSensors (UniversalIO::UIOCommand cmd)
 
virtual void sensorInfo (const uniset::SensorMessage *sm) override
 
virtual void timerInfo (const uniset::TimerMessage *tm) override
 
virtual bool activateObject () override
 Активизация объекта (переопределяется для необходимых действий после активизации)
 
virtual bool deactivateObject () override
 Деактивация объекта (переопределяется для необходимых действий при завершении работы)
 
void initOutputs ()
 
void initIOCard ()
 
void readConfiguration ()
 
bool initIOItem (UniXML::iterator &it)
 
bool readItem (const std::shared_ptr< UniXML > &xml, UniXML::iterator &it, xmlNode *sec)
 
void buildCardsList ()
 
bool waitSM ()
 
void addBlink (std::shared_ptr< IOInfo > &it, BlinkList &lst)
 
void delBlink (std::shared_ptr< IOInfo > &it, BlinkList &lst)
 
void blink (BlinkList &lst, bool &bstate)
 
- Защищенные члены унаследованные от uniset::UniSetObject
virtual void processingMessage (const uniset::VoidMessage *msg)
 
virtual void onTextMessage (const uniset::TextMessage *tm)
 
VoidMessagePtr receiveMessage ()
 
VoidMessagePtr waitMessage (timeout_t msec=UniSetTimer::WaitUpTime)
 
void termWaiting ()
 
size_t countMessages ()
 
size_t getCountOfLostMessages () const
 
void uterminate ()
 
void thread (bool create)
 
void offThread ()
 
void onThread ()
 
virtual void callback ()
 
void setID (uniset::ObjectId id)
 
void setThreadPriority (Poco::Thread::Priority p)
 
void setMaxSizeOfMessageQueue (size_t s)
 
size_t getMaxSizeOfMessageQueue () const
 
bool isActive () const
 
void setActive (bool set)
 
virtual Poco::JSON::Object::Ptr httpGetMyInfo (Poco::JSON::Object::Ptr root)
 
Poco::JSON::Object::Ptr request_configure (const std::string &req, const Poco::URI::QueryParameters &p)
 
Poco::JSON::Object::Ptr request_configure_get (const std::string &req, const Poco::URI::QueryParameters &p)
 
Poco::JSON::Object::Ptr request_configure_by_name (const std::string &name, const std::string &props)
 
Poco::JSON::Object::Ptr request_params (const std::string &req, const Poco::URI::QueryParameters &p)
 
virtual Poco::JSON::Object::Ptr request_params_get (const std::string &req, const Poco::URI::QueryParameters &p)
 
virtual Poco::JSON::Object::Ptr request_params_set (const std::string &req, const Poco::URI::QueryParameters &p)
 
- Защищенные члены унаследованные от uniset::LT_Object
virtual std::string getTimerName (int id) const
 
TimersList getTimersList () const
 

Защищенные данные

xmlNode * confnode = { 0 }
 
int polltime = { 150 }
 
CardList cards
 
bool noCards = { false }
 
IOMap iomap
 
PIOMap pmap
 
size_t maxItem = { 0 }
 
size_t maxHalf = { 0 }
 
int filtersize = { 0 }
 
float filterT = { 0.0 }
 
std::string s_field
 
std::string s_fvalue
 
std::shared_ptr< SMInterfaceshm
 
uniset::ObjectId myid = { uniset::DefaultObjectId }
 
std::string prefix
 
BlinkList lstBlink
 
PassiveTimer ptBlink
 
bool blink_state = { false }
 
BlinkList lstBlink2
 
PassiveTimer ptBlink2
 
bool blink2_state = { false }
 
BlinkList lstBlink3
 
PassiveTimer ptBlink3
 
bool blink3_state = { false }
 
uniset::ObjectId testLamp_s = { uniset::DefaultObjectId }
 
Trigger trTestLamp
 
bool isTestLamp = { false }
 
IOController::IOStateList::iterator itTestLamp
 
PassiveTimer ptHeartBeat
 
uniset::ObjectId sidHeartBeat
 
int maxHeartBeat = { 10 }
 
IOController::IOStateList::iterator itHeartBeat
 
bool force = { false }
 
bool force_out = { false }
 
timeout_t smReadyTimeout = { 15000 }
 
ssize_t defCardNum = { -1 }
 
size_t maxCardNum = { 10 }
 
std::mutex iopollMutex
 
std::atomic_bool activated = { false }
 
std::atomic_bool cancelled = { false }
 
bool readconf_ok = { false }
 
int activateTimeout
 
uniset::ObjectId sidTestSMReady = { uniset::DefaultObjectId }
 
uniset::ObjectId testMode_as = { uniset::DefaultObjectId }
 
IOController::IOStateList::iterator itTestMode
 
long testmode = { false }
 
long prev_testmode = { false }
 
std::shared_ptr< LogAgregatorloga
 
std::shared_ptr< DebugStreamiolog
 
std::shared_ptr< LogServerlogserv
 
std::string logserv_host = {""}
 
int logserv_port = {0}
 
std::shared_ptr< ThreadCreator< IOControl > > ioThread
 
VMonitor vmon
 
- Защищенные данные унаследованные от uniset::UniSetObject
std::shared_ptr< UInterfaceui
 
std::string myname
 
std::weak_ptr< UniSetManagermymngr
 
- Защищенные данные унаследованные от uniset::LT_Object
timeout_t sleepTime
 

Подробное описание

Процесс работы с картами в/в. Задачи:

Перечисления

◆ TestModeID

Элементы перечислений
tmNone 

тестовый режим отключён

tmOffPoll 

отключить опрос

tmConfigEnable 

специальный режим, в соответствии с настройкой 'enable_testmode'

tmConfigDisable 

специальный режим, в соответствии с настройкой 'disable_testmode'

tmOnlyInputs 

включены только входы

tmOnlyOutputs 

включены только выходы

Методы

◆ activateObject()

bool uniset::IOControl::activateObject ( )
overrideprotectedvirtual

Активизация объекта (переопределяется для необходимых действий после активизации)

Переопределяет метод предка uniset::UniSetObject.

◆ deactivateObject()

bool uniset::IOControl::deactivateObject ( )
overrideprotectedvirtual

Деактивация объекта (переопределяется для необходимых действий при завершении работы)

Переопределяет метод предка uniset::UniSetObject.

◆ getInfo()

SimpleInfo * uniset::IOControl::getInfo ( const char * userparam = 0)
overridevirtual

Переопределяет метод предка uniset::UniSetObject.

◆ help_print()

void uniset::IOControl::help_print ( int argc,
const char *const * argv )
static

глобальная функция для вывода help-а

◆ init_iocontrol()

std::shared_ptr< IOControl > uniset::IOControl::init_iocontrol ( int argc,
const char *const * argv,
uniset::ObjectId icID,
const std::shared_ptr< SharedMemory > & ic = nullptr,
const std::string & prefix = "io" )
static

глобальная функция для инициализации объекта

◆ iopoll()

void uniset::IOControl::iopoll ( )
protected

опрос карт в/в

◆ sensorInfo()

void uniset::IOControl::sensorInfo ( const uniset::SensorMessage * sm)
overrideprotectedvirtual

Переопределяет метод предка uniset::UniSetObject.

◆ sysCommand()

void uniset::IOControl::sysCommand ( const uniset::SystemMessage * sm)
overrideprotectedvirtual

Переопределяет метод предка uniset::UniSetObject.

◆ timerInfo()

void uniset::IOControl::timerInfo ( const uniset::TimerMessage * tm)
overrideprotectedvirtual

Переопределяет метод предка uniset::UniSetObject.

Данные класса

◆ cards

CardList uniset::IOControl::cards
protected

список карт - массив созданных ComediInterface

◆ confnode

xmlNode* uniset::IOControl::confnode = { 0 }
protected

xml-узел в настроечном файле

◆ defCardNum

ssize_t uniset::IOControl::defCardNum = { -1 }
protected

номер карты по умолчанию

◆ force

bool uniset::IOControl::force = { false }
protected

флаг, означающий, что надо сохранять в SM, даже если значение не менялось

◆ force_out

bool uniset::IOControl::force_out = { false }
protected

флаг, включающий принудительное чтения выходов

◆ iomap

IOMap uniset::IOControl::iomap
protected

список входов/выходов

◆ iopollMutex

std::mutex uniset::IOControl::iopollMutex
protected

максимально разрешённый номер для карты

◆ maxItem

size_t uniset::IOControl::maxItem = { 0 }
protected

количество элементов (используется на момент инициализации)

◆ pmap

PIOMap uniset::IOControl::pmap
protected

список приоритетных входов/выходов

◆ polltime

int uniset::IOControl::polltime = { 150 }
protected

периодичность обновления данных (опроса карт в/в), [мсек]

◆ smReadyTimeout

timeout_t uniset::IOControl::smReadyTimeout = { 15000 }
protected

время ожидания готовности SM к работе, мсек