|
uniset-algorithms 0.2
|
#include <APSLamp.h>
Открытые члены | |
| APSLamp (UniSetTypes::ObjectId apsid, UniSetTypes::ObjectId lampid, UniversalInterface *shm, UniSetTypes::ObjectId idBlock=UniSetTypes::DefaultObjectId) | |
| void | setRemoteReset (bool set) |
| void | setOffTime (timeout_t msec) |
| void | setNoConfirm (bool set) |
| bool | getNoConfirm () |
| void | setBlink (bool set) |
| bool | getAlwaysAlarm () |
| void | setAlwaysAlarm (bool s) |
| bool | getNoHorn () |
| void | setNoHorn (bool s) |
| bool | getOnHorn () |
| void | setOnHorn (bool s) |
| bool | getNoFlash () |
| void | setNoFlash (bool s) |
| bool | getOnFlash () |
| void | setOnFlash (bool s) |
| virtual void | confirm (bool state) |
| virtual void | remoteConfirm (bool state) |
| virtual void | remoteLamp (long val) |
| virtual void | testLamp (bool state) |
| virtual void | setControl (bool state) |
| void | setJarDelay (timeout_t msec) |
| void | setOnDelay (timeout_t msec) |
| void | setOffDelay (timeout_t msec) |
| UniSetTypes::LampCommand | get () |
| virtual void | step () |
| virtual void | updateOutputs () |
| bool | change () |
| bool | changeState () |
| bool | stateAPS () |
| UniSetTypes::ObjectId | getLampID () |
| virtual void | confirm (bool state) |
| UniSetTypes::LampCommand | get () |
| virtual void | step (bool state) |
| bool | change () |
Защищенные члены | |
| virtual UniSetTypes::LampCommand | check () |
| bool | check_jar (bool newval) |
| bool | check_ondelay (bool newval) |
| bool | check_offdelay (bool newval) |
| virtual UniSetTypes::LampCommand | check () |
Защищенные данные | |
| Trigger | trOn |
| Trigger | trChange |
| Trigger | trChangeState |
| UniSetTypes::LampCommand | lmpState |
| bool | apsState |
| bool | apsBlocked |
| long | remoteLampState |
| UniSetTypes::ObjectId | apsid |
| UniSetTypes::ObjectId | lampid |
| UniSetTypes::ObjectId | blockid |
| UniversalInterface * | shm |
| bool | remoteReset |
| bool | isTestLamp |
| bool | ctlON |
| timeout_t | offTime |
| PassiveTimer | ptOff |
| Trigger | trOffTimer |
| Trigger | trAPSChange |
| bool | apsRealState |
| bool | noConfirm |
| bool | noFlash |
| bool | onFlash |
| bool | noHorn |
| bool | onHorn |
| bool | blink |
| bool | alwaysAlarm |
| PassiveTimer | ptJar |
| Trigger | trJar |
| bool | jar_wait |
| bool | jar_state |
| PassiveTimer | ptOnDelay |
| Trigger | trOnDelay |
| bool | ondelay_wait |
| bool | ondelay_state |
| PassiveTimer | ptOffDelay |
| Trigger | trOffDelay |
| bool | offdelay_wait |
| bool | offdelay_state |
Управление лампочкой сигнализации. Данный класс реализует логику работы лампочки, без задержки срабатывания. Соотвественно защита от ложного срабатыввания здесь не нужна. Логика: При срабатывании - мигаем и ждём квитирования (местного). Если квитировали - гаснем (если АПС уже нет), зажигаем ровным светом (если АПС осталась). Если АПС сбрасывается раньше чем квитирование, то игнорируем этот "сброс".
Особенности: В качестве флага определяющего, что мы "ждём" квитирования используется просто состояние lmpState=lmpBLINK. Т.е. если АПС сбросилась, просто смотрим текущее состояние lmpState и определяем, что делать... (см. APSLamp::check());
Ряд функций APSLamp::changeState() APSLamp::stateAPS() и APSLamp::getAlwaysAlarm() сделаны для реализации логики срабатывания на каждом изменении 0-->1 независимо от того, квитирован ли уже сигнал или нет. Применено для управления звуком. См. реализацию APSPanel::step()
Управление лампочкой сигнализации
bool APSLamp::alwaysAlarm [protected] |
срабатывать каждый раз
bool APSLamp::blink [protected] |
if noConfirm=true, Set ON or BLINK state for aps=ON
1.7.4