mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-05-28 04:12:32 -04:00
Smarter Tx sequencing that allows for CAT processing latency
When using split operating and/or rig mode setting there is a delay before PTT is asserted while the CAT commands are processed. There will even be a small delay if CAT is only used for PTT. This change waits for these commands to be completed before starting the user Tx delay specified in the settings. There is a notable exception to this in that DX Lab Suite Commander does not give us a way of knowing when CAT commands have actually been completed. This combined with the way that Commander spaces CAT commands, rather than being paced by the rig's CAT responses, means that delays of more than 1 second are likely. As most rigs suffer some sort of ALC overshoot when PTT is asserted with audio already present, it is strongly recommended not to use the DX Lab Suite Commander as a rig control proxy if your rig may suffer ALC overshoot and you use an external PA. Please note that using a typical RF power meter to detect ALC overshoots is unwise as they are rarely fast enough. It is probably wise to assume that all rigs suffer ALC overshoot since it is very difficult to design an ALC loop that avoids it. This change also increases the range of the "Settings->Advanced->Tx Delay" spin box to 0s up to 2s. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7756 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
f6ecfec363
commit
2687a308d6
@ -2308,10 +2308,10 @@ Right click for insert and delete options.</string>
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<double>0.200000000000000</double>
|
||||
<double>0.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>0.500000000000000</double>
|
||||
<double>2.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
@ -2616,12 +2616,12 @@ soundcard changes</string>
|
||||
</connection>
|
||||
</connections>
|
||||
<buttongroups>
|
||||
<buttongroup name="CAT_stop_bits_button_group"/>
|
||||
<buttongroup name="CAT_data_bits_button_group"/>
|
||||
<buttongroup name="CAT_handshake_button_group"/>
|
||||
<buttongroup name="TX_audio_source_button_group"/>
|
||||
<buttongroup name="CAT_data_bits_button_group"/>
|
||||
<buttongroup name="TX_mode_button_group"/>
|
||||
<buttongroup name="split_mode_button_group"/>
|
||||
<buttongroup name="PTT_method_button_group"/>
|
||||
<buttongroup name="CAT_stop_bits_button_group"/>
|
||||
<buttongroup name="TX_mode_button_group"/>
|
||||
</buttongroups>
|
||||
</ui>
|
||||
|
@ -345,6 +345,7 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
|
||||
m_bandEdited {false},
|
||||
m_splitMode {false},
|
||||
m_monitoring {false},
|
||||
m_tx_when_ready {false},
|
||||
m_transmitting {false},
|
||||
m_tune {false},
|
||||
m_tx_watchdog {false},
|
||||
@ -2941,7 +2942,7 @@ void MainWindow::guiUpdate()
|
||||
setXIT (ui->TxFreqSpinBox->value ());
|
||||
|
||||
Q_EMIT m_config.transceiver_ptt (true); //Assert the PTT
|
||||
ptt1Timer.start(int(1000.0*m_config.txDelay())); //Start-of-transmission sequencer delay
|
||||
m_tx_when_ready = true;
|
||||
}
|
||||
if(!m_bTxTime and !m_tune) m_btxok=false; //Time to stop transmitting
|
||||
}
|
||||
@ -5289,6 +5290,15 @@ void MainWindow::handle_transceiver_update (Transceiver::TransceiverState const&
|
||||
// qDebug () << "MainWindow::handle_transceiver_update:" << s;
|
||||
Transceiver::TransceiverState old_state {m_rigState};
|
||||
//transmitDisplay (s.ptt ());
|
||||
if (s.ptt () && !m_rigState.ptt ()) // safe to start audio
|
||||
// (caveat - DX Lab Suite Commander)
|
||||
{
|
||||
if (m_tx_when_ready && g_iptt) // waiting to Tx and still needed
|
||||
{
|
||||
ptt1Timer.start(1000 * m_config.txDelay ()); //Start-of-transmission sequencer delay
|
||||
}
|
||||
m_tx_when_ready = false;
|
||||
}
|
||||
m_rigState = s;
|
||||
if (old_state.online () == false && s.online () == true)
|
||||
{
|
||||
|
@ -526,6 +526,7 @@ private:
|
||||
bool m_bandEdited;
|
||||
bool m_splitMode;
|
||||
bool m_monitoring;
|
||||
bool m_tx_when_ready;
|
||||
bool m_transmitting;
|
||||
bool m_tune;
|
||||
bool m_tx_watchdog; // true when watchdog triggered
|
||||
|
Loading…
x
Reference in New Issue
Block a user