gridSizer17->Add(0, 0, 0, 0, 5);
*/
m_rbUseDTR = new wxRadioButton(this, wxID_ANY, _("Use DTR"), wxDefaultPosition, wxSize(-1,-1), 0);
+ m_rbUseDTR->SetToolTip(_("Toggle DTR line for PTT"));
m_rbUseDTR->SetValue(1);
gridSizer17->Add(m_rbUseDTR, 0, wxALIGN_CENTER|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
- m_ckRTSPos = new wxCheckBox(this, wxID_ANY, _("DTR = +V"), wxDefaultPosition, wxSize(-1,-1), 0);
- m_ckRTSPos->SetValue(false);
- gridSizer17->Add(m_ckRTSPos, 0, wxALIGN_CENTER|wxALIGN_RIGHT, 5);
+ m_ckDTRPos = new wxCheckBox(this, wxID_ANY, _("DTR = +V"), wxDefaultPosition, wxSize(-1,-1), 0);
+ m_ckDTRPos->SetToolTip(_("Set Polarity of the DTR line"));
+ m_ckDTRPos->SetValue(false);
+ gridSizer17->Add(m_ckDTRPos, 0, wxALIGN_CENTER|wxALIGN_RIGHT, 5);
m_rbUseRTS = new wxRadioButton(this, wxID_ANY, _("Use RTS"), wxDefaultPosition, wxSize(-1,-1), 0);
m_rbUseRTS->SetToolTip(_("Toggle the RTS pin for PTT"));
m_rbUseRTS->SetValue(1);
gridSizer17->Add(m_rbUseRTS, 0, wxALIGN_CENTER|wxALIGN_RIGHT, 5);
- m_ckDTRPos = new wxCheckBox(this, wxID_ANY, _("RTS = +V"), wxDefaultPosition, wxSize(-1,-1), 0);
- m_ckDTRPos->SetValue(false);
- m_ckDTRPos->SetToolTip(_("Set Polarity of the RTS line"));
- gridSizer17->Add(m_ckDTRPos, 0, wxALIGN_CENTER|wxALIGN_RIGHT, 5);
+ m_ckRTSPos = new wxCheckBox(this, wxID_ANY, _("RTS = +V"), wxDefaultPosition, wxSize(-1,-1), 0);
+ m_ckRTSPos->SetValue(false);
+ m_ckRTSPos->SetToolTip(_("Set Polarity of the RTS line"));
+ gridSizer17->Add(m_ckRTSPos, 0, wxALIGN_CENTER|wxALIGN_RIGHT, 5);
wxBoxSizer* boxSizer12 = new wxBoxSizer(wxHORIZONTAL);
mainSizer->Add(boxSizer12, 0, wxLEFT|wxRIGHT|wxTOP|wxBOTTOM|wxALIGN_CENTER_HORIZONTAL, 5);
// Connect events
this->Connect(wxEVT_INIT_DIALOG, wxInitDialogEventHandler(ComPortsDlg::OnInitDialog), NULL, this);
// m_ckPTTRtChan->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(ComPortsDlg::PTTAudioClick), NULL, this);
- m_listCtrlPorts->Connect(wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler(ComPortsDlg::PTTPortSlelcted), NULL, this);
+// m_listCtrlPorts->Connect(wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler(ComPortsDlg::PTTPortSlelcted), NULL, this);
m_ckUseSerialPTT->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(ComPortsDlg::PTTUseSerialClicked), NULL, this);
m_rbUseDTR->Connect(wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler(ComPortsDlg::UseDTRCliched), NULL, this);
m_ckRTSPos->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(ComPortsDlg::DTRVPlusClicked), NULL, this);
// Disconnect Events
this->Disconnect(wxEVT_INIT_DIALOG, wxInitDialogEventHandler(ComPortsDlg::OnInitDialog), NULL, this);
// m_ckPTTRtChan->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(ComPortsDlg::PTTAudioClick), NULL, this);
- m_listCtrlPorts->Disconnect(wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler(ComPortsDlg::PTTPortSlelcted), NULL, this);
+// m_listCtrlPorts->Disconnect(wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler(ComPortsDlg::PTTPortSlelcted), NULL, this);
m_ckUseSerialPTT->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(ComPortsDlg::PTTUseSerialClicked), NULL, this);
m_rbUseDTR->Disconnect(wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler(ComPortsDlg::UseDTRCliched), NULL, this);
m_ckRTSPos->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(ComPortsDlg::DTRVPlusClicked), NULL, this);
wxGetApp().m_boolUseDTR = m_rbUseDTR->GetValue();
wxGetApp().m_boolDTRPos = m_ckDTRPos->IsChecked();
- pConfig->Write(wxT("/Rig/UseRTS"), wxGetApp().m_boolUseRTS);
- pConfig->Write(wxT("/Rig/RTSPolarity"), wxGetApp().m_boolRTSPos);
- pConfig->Write(wxT("/Rig/UseDTR"), wxGetApp().m_boolUseDTR);
- pConfig->Write(wxT("/Rig/DTRPolarity"), wxGetApp().m_boolDTRPos);
- pConfig->Write(wxT("/Rig/UseTonePTT"), wxGetApp().m_boolUseTonePTT);
- pConfig->Write(wxT("/Rig/UseSerialPTT"), wxGetApp().m_boolUseSerialPTT);
+ pConfig->Write(wxT("/Rig/UseRTS"), wxGetApp().m_boolUseRTS);
+ pConfig->Write(wxT("/Rig/RTSPolarity"), wxGetApp().m_boolRTSPos);
+ pConfig->Write(wxT("/Rig/UseDTR"), wxGetApp().m_boolUseDTR);
+ pConfig->Write(wxT("/Rig/DTRPolarity"), wxGetApp().m_boolDTRPos);
+ pConfig->Write(wxT("/Rig/UseTonePTT"), wxGetApp().m_boolUseTonePTT);
+ pConfig->Write(wxT("/Rig/UseSerialPTT"), wxGetApp().m_boolUseSerialPTT);
// wxGetApp().m_strRigCtrlBaud = m_listCtrlBaudrates->GetStringSelection();
// wxGetApp().m_strRigCtrlDatabits = m_textRigCtrlDatabits->GetValue();
}
delete wxConfigBase::Set((wxConfigBase *) NULL);
}
-/*
-//-------------------------------------------------------------------------
-// OnPortItemSelected()
-//-------------------------------------------------------------------------
-void ComPortsDlg::OnPortItemSelected(wxListEvent& event)
-{
- // TODO: Implement OnListItemSelected
-}
-*/
//-------------------------------------------------------------------------
// DTRVPlusClicked()
//-------------------------------------------------------------------------
void ComPortsDlg::DTRVPlusClicked(wxCommandEvent& event)
{
- wxMessageBox(wxT("DTRVPlusClicked"));
+ //wxMessageBox(wxT("DTRVPlusClicked"));
}
//-------------------------------------------------------------------------
{
}
-//-------------------------------------------------------------------------
-// PTTPortSlelcted()
-//-------------------------------------------------------------------------
-void ComPortsDlg::PTTPortSlelcted(wxCommandEvent& event)
-{
-/*
- wxMessageBox(wxT("PTTPortSlelcted"));
- if(event.IsChecked())
- {
- m_ckPTTRtChan->SetValue(false);
- m_ckPTTRtChan->Enable(false);
- }
- else
- {
- //m_ckPTTRtChan->SetValue(false);
- m_ckPTTRtChan->Enable(true);
- }
-*/
-}
-
//-------------------------------------------------------------------------
// PTTUseSerialClicked()
//-------------------------------------------------------------------------
m_togBtnAnalog->Disable();
//m_togBtnALC->Disable();
//m_btnTogPTT->Disable();
+
SetupSerialPort();
wxUnusedVar(event);
int rv = 0;
+ int iLineState = m_serialPort->GetLineState();
+ // ctb::LinestateRts
+// bool bDtrState = m_serialPort->GetLineState(ctb::LinestateDtr);
+ bool bPTTEnabled = m_btnTogPTT->IsEnabled();
+ bool bPTTState = m_btnTogPTT->GetValue();
+
CloseSerialPort();
ComPortsDlg *dlg = new ComPortsDlg(NULL);
rv = dlg->ShowModal();
dlg->ExchangeData(EXCHANGE_DATA_OUT);
SetupSerialPort();
}
+ else if(rv == wxID_CANCEL)
+ {
+ SetupSerialPort();
+ if(iLineState | ctb::LinestateRts)
+ {
+ m_serialPort->SetLineState(ctb::LinestateRts);
+ }
+ else
+ {
+ m_serialPort->ClrLineState(ctb::LinestateRts);
+ }
+ if(iLineState | ctb::LinestateDtr)
+ {
+ m_serialPort->SetLineState(ctb::LinestateDtr);
+ }
+ else
+ {
+ m_serialPort->ClrLineState(ctb::LinestateDtr);
+ }
+
+ m_btnTogPTT->Enable(bPTTEnabled);
+ m_btnTogPTT->SetValue(bPTTState);
+ }
delete dlg;
}
wxGetApp().m_strRigCtrlBaud.ToLong(&baudrate, 10);
if(!wxGetApp().m_strRigCtrlPort.IsEmpty())
{
- wxString protocol = wxGetApp().m_strRigCtrlDatabits + wxGetApp().m_strRigCtrlParity + wxGetApp().m_strRigCtrlStopbits; //"8N1";
+ wxString protocol = wxGetApp().m_strRigCtrlDatabits + wxGetApp().m_strRigCtrlParity + wxGetApp().m_strRigCtrlStopbits; //"8N1";
m_serialPort = new ctb::SerialPort();
if(m_serialPort->Open(wxGetApp().m_strRigCtrlPort.c_str(), baudrate, protocol.c_str(), ctb::SerialPort::NoFlowControl ) >= 0 )
{
m_device = m_serialPort;
- // always start PTT cleared
+ // always start with PTT cleared
if(wxGetApp().m_boolRTSPos) // RTS cleared LOW
{
m_serialPort->ClrLineState(ctb::LinestateRts);
{
m_serialPort->SetLineState(ctb::LinestateDtr);
}
- m_serialPort->ClrLineState(ctb::LinestateRts);
- m_serialPort->ClrLineState(ctb::LinestateDtr);
m_btnTogPTT->Enable(true);
m_btnTogPTT->SetValue(false);
}
- //m_btnTogPTT->SetLabel(wxT("Rx"));
}
+/*
else
{
wxMessageBox(wxT("You must select a Serial port to Open!"), wxT("Error"), wxOK);
}
+*/
}
//----------------------------------------------------------------