UniSet  2.6.0
Классы | Открытые типы | Открытые члены | Открытые статические члены | Защищенные типы | Защищенные члены | Защищенные данные | Полный список членов класса
Класс uniset::IOControl
Граф наследования: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, int numcards=2, const std::string &prefix="io")
void execute ()
- Открытые члены inherited from uniset::UniSetObject
 UniSetObject (const std::string &name, const std::string &section)
 UniSetObject (uniset::ObjectId id)
std::shared_ptr< UniSetObjectget_ptr ()
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::SimpleInfogetInfo (const char *userparam="") override
virtual uniset::SimpleInfoapiRequest (const char *query) override
virtual void push (const uniset::TransportMessage &msg) 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
virtual timeout_t askTimer (uniset::TimerId timerid, timeout_t timeMS, clock_t ticks=-1, uniset::Message::Priority p=uniset::Message::High) override
- Открытые члены inherited from uniset::LT_Object
timeout_t checkTimers (UniSetObject *obj)
timeout_t getTimeInterval (uniset::TimerId timerid)
timeout_t getTimeLeft (uniset::TimerId timerid)
- Открытые члены inherited from 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< IOInfoIOMap
typedef std::deque< IOPriorityPIOMap
typedef std::list< IOInfo * > BlinkList

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

void iopoll ()
void ioread (IOInfo *it)
void check_testlamp ()
void check_testmode ()
void blink ()
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 void sigterm (int signo) override
virtual bool activateObject () 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 ()
void waitSM ()
void addBlink (IOInfo *it, BlinkList &lst)
void delBlink (IOInfo *it, BlinkList &lst)
void blink (BlinkList &lst, bool &bstate)
- Защищенные члены inherited from uniset::UniSetObject
virtual void processingMessage (const uniset::VoidMessage *msg)
VoidMessagePtr receiveMessage ()
virtual VoidMessagePtr waitMessage (timeout_t msec=UniSetTimer::WaitUpTime)
void termWaiting ()
size_t countMessages ()
size_t getCountOfLostMessages () const
virtual bool deactivateObject ()
 Деактивиция объекта (переопределяется для необходимых действий перед деактивацией)
void terminate ()
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_conf (const std::string &req, const Poco::URI::QueryParameters &p)
Poco::JSON::Object::Ptr request_conf_name (const std::string &name, const std::string &props)
- Защищенные члены inherited from uniset::LT_Object
virtual std::string getTimerName (int id)
TimersList getTimersList ()

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

xmlNode * confnode = { 0 }
int polltime = { 150 }
CardList cards
bool noCards = { false }
IOMap iomap
PIOMap pmap
unsigned int maxItem = { 0 }
unsigned int 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 }
int defCardNum = { -1 }
int maxCardNum = { 10 }
std::mutex iopollMutex
std::atomic_bool activated = { false }
bool readconf_ok = { false }
int activateTimeout
uniset::ObjectId sidTestSMReady = { uniset::DefaultObjectId }
std::atomic_bool term = { false }
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}
- Защищенные данные inherited from uniset::UniSetObject
std::shared_ptr< UInterfaceui
std::string myname
std::string section
std::weak_ptr< UniSetManagermymngr
- Защищенные данные inherited from uniset::LT_Object
timeout_t sleepTime

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

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

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

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

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

tmOffPoll 

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

tmConfigEnable 

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

tmConfigDisable 

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

tmOnlyInputs 

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

tmOnlyOutputs 

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

Методы

bool uniset::IOControl::activateObject ( )
overrideprotectedvirtual

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

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

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

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

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

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

void uniset::IOControl::iopoll ( )
protected

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

void uniset::IOControl::sigterm ( int  signo)
overrideprotectedvirtual

Функция вызываемая при приходе сигнала завершения или прерывания процесса. Переопределив ее можно выполнять специфичные для процесса действия по обработке сигнала. Например переход в безопасное состояние.

Предупреждения
В обработчике сигналов ЗАПРЕЩЕНО вызывать функции подобные exit(..), abort()!!!!

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

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

CardList uniset::IOControl::cards
protected

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

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

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

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

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

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

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

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

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

IOMap uniset::IOControl::iomap
protected

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

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

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

unsigned int uniset::IOControl::maxItem = { 0 }
protected

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

PIOMap uniset::IOControl::pmap
protected

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

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

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

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

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