Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
U
uniset2
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
UniSet project repositories
uniset2
Commits
2ec9bb3e
Commit
2ec9bb3e
authored
Dec 11, 2010
by
Pavel Vainerman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
IOControl: Добавил краткое описание работы тестового режима.
И подправил названия параметров.
parent
3e9fcd84
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
32 additions
and
9 deletions
+32
-9
IOControl.cc
extensions/IOControl/IOControl.cc
+9
-3
IOControl.h
extensions/IOControl/IOControl.h
+23
-6
No files found.
extensions/IOControl/IOControl.cc
View file @
2ec9bb3e
...
@@ -440,10 +440,10 @@ void IOControl::ioread( IOInfo* it )
...
@@ -440,10 +440,10 @@ void IOControl::ioread( IOInfo* it )
// если включён режим "в соответсвии с конфигурационным файлом"
// если включён режим "в соответсвии с конфигурационным файлом"
// и при этом не стоит для этого канал "игнорировать в тестовом режиме"
// и при этом не стоит для этого канал "игнорировать в тестовом режиме"
if
(
testmode
==
tmConfig
Ignore
&&
!
it
->
ignor
e_testmode
)
if
(
testmode
==
tmConfig
Enable
&&
!
it
->
enabl
e_testmode
)
return
;
return
;
if
(
testmode
==
tmConfig
Enable
&&
!
it
->
en
able_testmode
)
if
(
testmode
==
tmConfig
Disable
&&
it
->
dis
able_testmode
)
return
;
return
;
ComediInterface
*
card
=
cards
.
getCard
(
it
->
ncard
);
ComediInterface
*
card
=
cards
.
getCard
(
it
->
ncard
);
...
@@ -744,8 +744,8 @@ bool IOControl::initIOItem( UniXML_iterator& it )
...
@@ -744,8 +744,8 @@ bool IOControl::initIOItem( UniXML_iterator& it )
inf
.
lamp
=
it
.
getIntProp
(
"lamp"
);
inf
.
lamp
=
it
.
getIntProp
(
"lamp"
);
inf
.
no_testlamp
=
it
.
getIntProp
(
"no_iotestlamp"
);
inf
.
no_testlamp
=
it
.
getIntProp
(
"no_iotestlamp"
);
inf
.
ignore_testmode
=
it
.
getIntProp
(
"ignore_testmode"
);
inf
.
enable_testmode
=
it
.
getIntProp
(
"enable_testmode"
);
inf
.
enable_testmode
=
it
.
getIntProp
(
"enable_testmode"
);
inf
.
disable_testmode
=
it
.
getIntProp
(
"disable_testmode"
);
inf
.
aref
=
0
;
inf
.
aref
=
0
;
inf
.
range
=
0
;
inf
.
range
=
0
;
...
@@ -1010,6 +1010,12 @@ void IOControl::check_testmode()
...
@@ -1010,6 +1010,12 @@ void IOControl::check_testmode()
if
(
card
==
NULL
)
if
(
card
==
NULL
)
continue
;
continue
;
if
(
testmode
==
tmConfigEnable
&&
!
it
->
enable_testmode
)
return
;
if
(
testmode
==
tmConfigDisable
&&
it
->
disable_testmode
)
return
;
try
try
{
{
if
(
it
->
subdev
==
DefaultSubdev
||
it
->
safety
==
NoSafety
)
if
(
it
->
subdev
==
DefaultSubdev
||
it
->
safety
==
NoSafety
)
...
...
extensions/IOControl/IOControl.h
View file @
2ec9bb3e
...
@@ -122,11 +122,28 @@
...
@@ -122,11 +122,28 @@
UniSetTypes::lmpBLINK2 - мигание с частотой 2
UniSetTypes::lmpBLINK2 - мигание с частотой 2
UniSetTypes::lmpBLINK3 - мигание с частотой 3
UniSetTypes::lmpBLINK3 - мигание с частотой 3
no_iotestlamp - игнорировать данную лампочку при тесте ламп.
no_iotestlamp - игнорировать данную лампочку при тесте ламп.
range - диапазон измерения аналогового входа (см. libcomedi)
range - диапазон измерения аналогового входа (см. libcomedi)
aref - тип подключения (см. libcomedi)
aref - тип подключения (см. libcomedi)
enable_testmode - включить в работу во время тестового режима tmConfigEnable
disable_testmode - исключить из работы в тестовом режиме tmConfigDisable.
\section sec_IOC_ConfList Список датчиков для процесса в/в
\section sec_IOC_ConfList Список датчиков для процесса в/в
\section sec_IOC_TestMode Тестовый режим
В IOControl встроена возможнось переводить его в один из тестовых режимов.
Для этого необходимо указать для IOControl аналоговый датчик в который будет записан "код"
режима работы. Датчик можно задать либо аргументом командной строки
--io-test-mode ID либо в конфигурационном файле testmode_as="ID"
Сейчас поддерживаются следующий режимы (см. IOControl::TestModeID):
"0" - тестовый режим отключён. Обычная работа.
"1" - полностью отключить работу с картами в/в. При этом все выходы будут переведены в безопасное состояние.
"2" - Режим "разрешённых" каналов. В этом режиме отключается работа со свсеми каналами, кроме тех, у которых
указан параметр enable_testmode="1".
"3" - Режим "запрещённых" каналов. В этом режиме отключается работа ТОЛЬКО для каналов, у которых
указан параметр disable_testmode="1".
*/
*/
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
#warning Сделать обработку сигналов завершения....
#warning Сделать обработку сигналов завершения....
...
@@ -192,8 +209,8 @@ class IOControl:
...
@@ -192,8 +209,8 @@ class IOControl:
range
(
0
),
range
(
0
),
lamp
(
false
),
lamp
(
false
),
no_testlamp
(
false
),
no_testlamp
(
false
),
ignor
e_testmode
(
false
),
enabl
e_testmode
(
false
),
en
able_testmode
(
false
)
dis
able_testmode
(
false
)
{}
{}
...
@@ -219,8 +236,8 @@ class IOControl:
...
@@ -219,8 +236,8 @@ class IOControl:
bool
lamp
;
/*!< признак, что данный выход является лампочкой (или сигнализатором) */
bool
lamp
;
/*!< признак, что данный выход является лампочкой (или сигнализатором) */
bool
no_testlamp
;
/*!< флаг исключения из 'проверки ламп' */
bool
no_testlamp
;
/*!< флаг исключения из 'проверки ламп' */
bool
ignore_testmode
;
/*!< флаг для режима тестирования tmConfigIgnore */
bool
enable_testmode
;
/*!< флаг для режима тестирования tmConfigEnable */
bool
enable_testmode
;
/*!< флаг для режима тестирования tmConfigEnable */
bool
disable_testmode
;
/*!< флаг для режима тестирования tmConfigDisable */
friend
std
::
ostream
&
operator
<<
(
std
::
ostream
&
os
,
IOInfo
&
inf
);
friend
std
::
ostream
&
operator
<<
(
std
::
ostream
&
os
,
IOInfo
&
inf
);
};
};
...
@@ -238,8 +255,8 @@ class IOControl:
...
@@ -238,8 +255,8 @@ class IOControl:
{
{
tmNone
=
0
,
/*!< тестовый режим отключён */
tmNone
=
0
,
/*!< тестовый режим отключён */
tmOffPoll
=
1
,
/*!< отключить опрос */
tmOffPoll
=
1
,
/*!< отключить опрос */
tmConfig
Ignore
=
2
,
/*!< специальный режим, в соответсвии с настройкой 'ignor
e_testmode' */
tmConfig
Enable
=
2
,
/*!< специальный режим, в соответсвии с настройкой 'enabl
e_testmode' */
tmConfig
Enable
=
3
/*!< специальный режим, в соответсвии с настройкой 'en
able_testmode' */
tmConfig
Disable
=
3
/*!< специальный режим, в соответсвии с настройкой 'dis
able_testmode' */
};
};
void
execute
();
void
execute
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment