Commit 506f8efa authored by Pavel Vaynerman's avatar Pavel Vaynerman

fixed bug in IOControl (blink mechanic) and new release eter50)

parent 949e7b6e
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
Name: libuniset Name: libuniset
Version: 0.96 Version: 0.96
Release: eter49 Release: eter50
Summary: UniSet - library for building distributed industrial control systems Summary: UniSet - library for building distributed industrial control systems
License: GPL License: GPL
Group: Development/C++ Group: Development/C++
...@@ -175,6 +175,9 @@ rm -f %buildroot%_libdir/*.la ...@@ -175,6 +175,9 @@ rm -f %buildroot%_libdir/*.la
%exclude %_pkgconfigdir/libUniSet.pc %exclude %_pkgconfigdir/libUniSet.pc
%changelog %changelog
* Wed Aug 19 2009 Pavel Vainerman <pv@etersoft.ru> 0.96-eter50
- fixed bug in IOControl (blink mechanic)
* Wed Aug 19 2009 Pavel Vainerman <pv@etersoft.ru> 0.96-eter49 * Wed Aug 19 2009 Pavel Vainerman <pv@etersoft.ru> 0.96-eter49
- add BLINK2, BLINK3 to IOControl - add BLINK2, BLINK3 to IOControl
......
...@@ -22,7 +22,7 @@ std::ostream& operator<<( std::ostream& os, IOControl::IOInfo& inf ) ...@@ -22,7 +22,7 @@ std::ostream& operator<<( std::ostream& os, IOControl::IOInfo& inf )
IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID, IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID,
SharedMemory* ic, int numcards ): SharedMemory* ic, int numcards ):
UniSetObject(id), UniSetObject(id),
polltime(500), polltime(150),
cards(numcards+1), cards(numcards+1),
noCards(true), noCards(true),
iomap(100), iomap(100),
...@@ -115,7 +115,7 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID, ...@@ -115,7 +115,7 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID,
polltime = conf->getArgInt("--io-polltime",it.getProp("polltime")); polltime = conf->getArgInt("--io-polltime",it.getProp("polltime"));
if( !polltime ) if( !polltime )
polltime = 150; polltime = 100;
force = conf->getArgInt("--io-force",it.getProp("force")); force = conf->getArgInt("--io-force",it.getProp("force"));
force_out = conf->getArgInt("--io-force-out",it.getProp("force_out")); force_out = conf->getArgInt("--io-force-out",it.getProp("force_out"));
...@@ -902,7 +902,7 @@ void IOControl::initIOCard() ...@@ -902,7 +902,7 @@ void IOControl::initIOCard()
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void IOControl::blink( BlinkList& lst, bool& bstate ) void IOControl::blink( BlinkList& lst, bool& bstate )
{ {
if( lstBlink.empty() ) if( lst.empty() )
return; return;
...@@ -913,14 +913,13 @@ void IOControl::blink( BlinkList& lst, bool& bstate ) ...@@ -913,14 +913,13 @@ void IOControl::blink( BlinkList& lst, bool& bstate )
if( io->subdev==DefaultSubdev || io->channel==DefaultChannel ) if( io->subdev==DefaultSubdev || io->channel==DefaultChannel )
continue; continue;
ComediInterface* card = cards.getCard(io->ncard); ComediInterface* card = cards.getCard(io->ncard);
if( card == NULL ) if( card == NULL )
continue; continue;
try try
{ {
card->setDigitalChannel(io->subdev,io->channel,blink_state); card->setDigitalChannel(io->subdev,io->channel,bstate);
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
...@@ -945,7 +944,7 @@ void IOControl::addBlink( IOInfo* io, BlinkList& lst ) ...@@ -945,7 +944,7 @@ void IOControl::addBlink( IOInfo* io, BlinkList& lst )
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void IOControl::delBlink( IOInfo* io, BlinkList& lst ) void IOControl::delBlink( IOInfo* io, BlinkList& lst )
{ {
for( BlinkList::iterator it=lstBlink.begin(); it!=lstBlink.end(); ++it ) for( BlinkList::iterator it=lst.begin(); it!=lst.end(); ++it )
{ {
if( (*it) == io ) if( (*it) == io )
{ {
...@@ -983,11 +982,22 @@ void IOControl::check_testlamp() ...@@ -983,11 +982,22 @@ void IOControl::check_testlamp()
if( it->stype == UniversalIO::AnalogOutput ) if( it->stype == UniversalIO::AnalogOutput )
{ {
if( isTestLamp ) if( isTestLamp )
{
addBlink( &(*it),lstBlink);
delBlink( &(*it),lstBlink2);
delBlink( &(*it),lstBlink3);
}
else if( it->value == lmpBLINK )
addBlink( &(*it),lstBlink); addBlink( &(*it),lstBlink);
else if( it->value != lmpBLINK ) else if( it->value == lmpBLINK2 )
addBlink( &(*it),lstBlink2);
else if( it->value == lmpBLINK3 )
addBlink( &(*it),lstBlink3);
else
{ {
delBlink(&(*it),lstBlink); delBlink(&(*it),lstBlink);
delBlink(&(*it),lstBlink2); delBlink(&(*it),lstBlink2);
delBlink(&(*it),lstBlink3);
} }
} }
else if( it->stype == UniversalIO::DigitalOutput ) else if( it->stype == UniversalIO::DigitalOutput )
...@@ -995,10 +1005,7 @@ void IOControl::check_testlamp() ...@@ -995,10 +1005,7 @@ void IOControl::check_testlamp()
if( isTestLamp ) if( isTestLamp )
addBlink(&(*it),lstBlink); addBlink(&(*it),lstBlink);
else else
{
delBlink(&(*it),lstBlink); delBlink(&(*it),lstBlink);
delBlink(&(*it),lstBlink2);
}
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment