Skip to content

Commit

Permalink
Allow serial PTT to be enabled along with OmniRig.
Browse files Browse the repository at this point in the history
  • Loading branch information
tmiw committed Dec 10, 2023
1 parent 87588d0 commit 6c07825
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 10 deletions.
9 changes: 2 additions & 7 deletions src/dlg_ptt.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -796,12 +796,11 @@ void ComPortsDlg::OnTest(wxCommandEvent& event) {

#if defined(WIN32)
//-------------------------------------------------------------------------
// PTTUseSerialClicked()
// PTTUseOmniRigClicked()
//-------------------------------------------------------------------------
void ComPortsDlg::PTTUseOmniRigClicked(wxCommandEvent& event)
{
m_ckUseHamlibPTT->SetValue(false);
m_ckUseSerialPTT->SetValue(false);
updateControlState();
}
#endif // defined(WIN32)
Expand All @@ -811,11 +810,7 @@ void ComPortsDlg::PTTUseOmniRigClicked(wxCommandEvent& event)
//-------------------------------------------------------------------------
void ComPortsDlg::PTTUseSerialClicked(wxCommandEvent& event)
{
m_ckUseHamlibPTT->SetValue(false);
#if defined(WIN32)
m_ckUseOmniRig->SetValue(false);
#endif // defined(WIN32)

m_ckUseHamlibPTT->SetValue(false);
updateControlState();
}

Expand Down
10 changes: 9 additions & 1 deletion src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2000,9 +2000,17 @@ void MainFrame::performFreeDVOn_()
{
OpenSerialPort();
}
else
{
wxGetApp().rigPttController = nullptr;
}

#if defined(WIN32)
else if (wxGetApp().appConfiguration.rigControlConfiguration.useOmniRig)
if (wxGetApp().appConfiguration.rigControlConfiguration.useOmniRig)
{
// OmniRig can be anbled along with serial port PTT.
// The logic below will ensure we don't overwrite the serial PTT
// handler.
OpenOmniRig();
}
#endif // defined(WIN32)
Expand Down
7 changes: 5 additions & 2 deletions src/ongui.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -461,8 +461,11 @@ void MainFrame::OpenOmniRig()

// OmniRig also controls PTT.
wxGetApp().rigFrequencyController = tmp;
wxGetApp().rigPttController = tmp;

if (!wxGetApp().rigPttController)
{
wxGetApp().rigPttController = tmp;
}

wxGetApp().rigFrequencyController->onRigError += [this](IRigController*, std::string err)
{
std::string fullErr = "Couldn't connect to Radio with OmniRig: " + err;
Expand Down

0 comments on commit 6c07825

Please sign in to comment.