Commit d7b7dbf5 authored by Pavel Vainerman's avatar Pavel Vainerman

(IOBase): сделал чтобы и при блокировании по "depend" тоже работали задержки [jar,on,off]_delay.

parent fe642e2d
...@@ -253,21 +253,13 @@ void IOBase::processingAsDI( IOBase* it, bool set, SMInterface* shm, bool force ...@@ -253,21 +253,13 @@ void IOBase::processingAsDI( IOBase* it, bool set, SMInterface* shm, bool force
// проверка зависимости // проверка зависимости
if( !it->check_depend(shm) ) if( !it->check_depend(shm) )
set = (bool)it->d_off_value; set = (bool)it->d_off_value;
else else if( it->invert )
{ set ^= true;
// cout << "subdev: " << it->subdev << " chan: " << it->channel << " state=" << set << endl;
if( it->invert ) // Проверяем именно в такой последовательности!
set ^= true; set = it->check_jar(set); // фильтр дребезга
// cout << "subdev: " << it->subdev << " chan: " << it->channel << " (inv)state=" << set << endl; set = it->check_on_delay(set); // фильтр на срабатывание
set = it->check_off_delay(set); // фильтр на отпускание
// Проверяем именно в такой последовательности!
set = it->check_jar(set); // фильтр дребезга
// cout << "subdev: " << it->subdev << " chan: " << it->channel << " (jar)state=" << set << endl;
set = it->check_on_delay(set); // фильтр на срабатывание
// cout << "subdev: " << it->subdev << " chan: " << it->channel << " (on_delay)state=" << set << endl;
set = it->check_off_delay(set); // фильтр на отпускание
// cout << "subdev: " << it->subdev << " chan: " << it->channel << " (off_delay)state=" << set << endl;
}
{ {
uniset_spin_lock lock(it->val_lock); uniset_spin_lock lock(it->val_lock);
......
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