Fix TG announcement delay when using multiple logics

This commit revert the changes done to PttCtrl.cpp previously in this
branch.
This commit is contained in:
Tobias Blomberg 2019-09-05 22:23:34 +02:00
parent 4caa5fe1ce
commit 97c3b5c058
3 changed files with 13 additions and 9 deletions

View File

@ -131,7 +131,7 @@ ReflectorLogic::ReflectorLogic(Async::Config& cfg, const std::string& name)
m_tg_select_timer(1000, Async::Timer::TYPE_PERIODIC),
m_tg_select_timeout_cnt(0), m_selected_tg(0), m_previous_tg(0),
m_event_handler(0),
m_report_tg_timer(100, Async::Timer::TYPE_ONESHOT, false),
m_report_tg_timer(500, Async::Timer::TYPE_ONESHOT, false),
m_tg_local_activity(false), m_last_qsy(0)
{
m_reconnect_timer.expired.connect(
@ -1232,7 +1232,9 @@ void ReflectorLogic::onLogicConInStreamStateChanged(bool is_active,
if (!m_tg_selection_event.empty())
{
processTgSelectionEvent();
//processTgSelectionEvent();
m_report_tg_timer.reset();
m_report_tg_timer.setEnable(true);
}
} /* ReflectorLogic::onLogicConInStreamStateChanged */
@ -1249,7 +1251,9 @@ void ReflectorLogic::onLogicConOutStreamStateChanged(bool is_active,
if (!m_tg_selection_event.empty())
{
processTgSelectionEvent();
//processTgSelectionEvent();
m_report_tg_timer.reset();
m_report_tg_timer.setEnable(true);
}
} /* ReflectorLogic::onLogicConOutStreamStateChanged */
@ -1300,7 +1304,7 @@ void ReflectorLogic::processEvent(const std::string& event)
void ReflectorLogic::processTgSelectionEvent(void)
{
if ((!m_logic_con_out->isIdle() || !m_logic_con_in->isIdle()))
if (!m_logic_con_out->isIdle() || !m_logic_con_in->isIdle())
{
return;
}

View File

@ -82,7 +82,7 @@ PttCtrl::PttCtrl(int tx_delay)
: tx_ctrl_mode(Tx::TX_OFF), is_transmitting(false), tx_delay_timer(0),
tx_delay(tx_delay), fifo(0)
{
valve.setBlockWhenClosed(true);
valve.setBlockWhenClosed(false);
valve.setOpen(false);
if (tx_delay > 0)
@ -192,7 +192,7 @@ void PttCtrl::transmit(bool do_transmit)
if (tx_delay > 0)
{
fifo->enableBuffering(true);
//valve.setBlockWhenClosed(true);
valve.setBlockWhenClosed(true);
tx_delay_timer = new Timer(tx_delay);
tx_delay_timer->expired.connect(
mem_fun(*this, &PttCtrl::txDelayExpired));
@ -209,7 +209,7 @@ void PttCtrl::transmit(bool do_transmit)
delete tx_delay_timer;
tx_delay_timer = 0;
}
//valve.setBlockWhenClosed(false);
valve.setBlockWhenClosed(false);
valve.setOpen(false);
}
}
@ -221,7 +221,7 @@ void PttCtrl::txDelayExpired(Timer *t)
tx_delay_timer = 0;
fifo->enableBuffering(false);
valve.setOpen(true);
//valve.setBlockWhenClosed(false);
valve.setBlockWhenClosed(false);
}

View File

@ -11,7 +11,7 @@ LIBECHOLIB=1.3.3
LIBASYNC=1.6.0
# SvxLink versions
SVXLINK=1.7.0-reflector-tg
SVXLINK=1.7.99.0-reflector-tg
MODULE_HELP=1.0.0
MODULE_PARROT=1.1.1
MODULE_ECHOLINK=1.5.0