UniSet  2.0.0
Классы | Открытые типы | Открытые члены | Открытые статические члены | Защищенные типы | Защищенные члены | Защищенные данные
Класс IOControl

#include <IOControl.h>

Граф наследования:IOControl:
UniSetObject UniSetObject

Полный список членов класса

Классы

struct  IOInfo
struct  IOPriority

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

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

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

 IOControl (UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID, SharedMemory *ic=0, int numcards=2, const std::string &prefix="io")
void execute ()
 IOControl (UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID, SharedMemory *ic=0, int numcards=2, const std::string &prefix="io")
void execute ()

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

static IOControlinit_iocontrol (int argc, const char *const *argv, UniSetTypes::ObjectId icID, SharedMemory *ic=0, const std::string &prefix="io")
static void help_print (int argc, const char *const *argv)
static IOControlinit_iocontrol (int argc, const char *const *argv, UniSetTypes::ObjectId icID, SharedMemory *ic=0, 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
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 UniSetTypes::SystemMessage *sm) override
virtual void askSensors (UniversalIO::UIOCommand cmd)
virtual void sensorInfo (const UniSetTypes::SensorMessage *sm) override
virtual void timerInfo (const UniSetTypes::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 ()
bool checkCards (const std::string &func="")
void addBlink (IOInfo *it, BlinkList &lst)
void delBlink (IOInfo *it, BlinkList &lst)
void blink (BlinkList &lst, bool &bstate)
void iopoll ()
void ioread (IOInfo *it)
void check_testlamp ()
void check_testmode ()
void blink ()
virtual void sysCommand (const UniSetTypes::SystemMessage *sm) override
virtual void askSensors (UniversalIO::UIOCommand cmd)
virtual void sensorInfo (const UniSetTypes::SensorMessage *sm) override
virtual void timerInfo (const UniSetTypes::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 ()
bool checkCards (const std::string &func="")
void addBlink (IOInfo *it, BlinkList &lst)
void delBlink (IOInfo *it, BlinkList &lst)
void blink (BlinkList &lst, bool &bstate)

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

xmlNode * cnode
int polltime
CardList cards
bool noCards
IOMap iomap
PIOMap pmap
unsigned int maxItem
unsigned int maxHalf
int filtersize
float filterT
std::string s_field
std::string s_fvalue
SMInterfaceshm
UInterface ui
UniSetTypes::ObjectId myid
std::string prefix
BlinkList lstBlink
PassiveTimer ptBlink
bool blink_state
BlinkList lstBlink2
PassiveTimer ptBlink2
bool blink2_state
BlinkList lstBlink3
PassiveTimer ptBlink3
bool blink3_state
UniSetTypes::ObjectId testLamp_S
Trigger trTestLamp
bool isTestLamp
IOController::IOStateList::iterator itTestLamp
PassiveTimer ptHeartBeat
UniSetTypes::ObjectId sidHeartBeat
int maxHeartBeat
IOController::IOStateList::iterator itHeartBeat
bool force
bool force_out
int smReadyTimeout
int defCardNum
int maxCardNum
UniSetTypes::uniset_mutex iopollMutex
std::atomic_bool activated
bool readconf_ok
int activateTimeout
UniSetTypes::ObjectId sidTestSMReady
bool term
UniSetTypes::ObjectId testMode_as
IOController::IOStateList::iterator itTestMode
long testmode
long prev_testmode

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

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


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

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

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

tmOffPoll 

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

tmConfigEnable 

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

tmConfigDisable 

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

tmOnlyInputs 

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

tmOnlyOutputs 

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

tmNone 

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

tmOffPoll 

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

tmConfigEnable 

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

tmConfigDisable 

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

tmOnlyInputs 

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

tmOnlyOutputs 

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

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

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

tmOffPoll 

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

tmConfigEnable 

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

tmConfigDisable 

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

tmOnlyInputs 

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

tmOnlyOutputs 

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

tmNone 

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

tmOffPoll 

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

tmConfigEnable 

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

tmConfigDisable 

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

tmOnlyInputs 

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

tmOnlyOutputs 

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


Методы

bool IOControl::activateObject ( ) [override, protected, virtual]

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

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

virtual bool IOControl::activateObject ( ) [override, protected, virtual]

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

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

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

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

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

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

IOControl * IOControl::init_iocontrol ( int  argc,
const char *const *  argv,
UniSetTypes::ObjectId  icID,
SharedMemory ic = 0,
const std::string &  prefix = "io" 
) [static]

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

Перекрестные ссылки UniSetTypes::DefaultObjectId и UniSetTypes::uniset_conf().

static IOControl* IOControl::init_iocontrol ( int  argc,
const char *const *  argv,
UniSetTypes::ObjectId  icID,
SharedMemory ic = 0,
const std::string &  prefix = "io" 
) [static]

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

void IOControl::iopoll ( ) [protected]

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

Перекрестные ссылки force, pmap и tmOffPoll.

void IOControl::iopoll ( ) [protected]

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

virtual void IOControl::sigterm ( int  signo) [override, protected, virtual]

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

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

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

void IOControl::sigterm ( int  signo) [override, protected, virtual]

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

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

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

Перекрестные ссылки cards.


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

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

Используется в sigterm().

xmlNode * IOControl::cnode [protected]

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

int IOControl::defCardNum [protected]

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

bool IOControl::force [protected]

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

Используется в iopoll().

bool IOControl::force_out [protected]

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

IOMap IOControl::iomap [protected]

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

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

unsigned int IOControl::maxItem [protected]

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

PIOMap IOControl::pmap [protected]

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

Используется в iopoll().

int IOControl::polltime [protected]

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

int IOControl::smReadyTimeout [protected]

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

универсальный интерфейс для работы с другими процессами

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


Объявления и описания членов классов находятся в файлах: