From: wittend99 Date: Sat, 1 Dec 2012 00:52:49 +0000 (+0000) Subject: git-svn-id: https://svn.code.sf.net/p/freetel/code@1093 01035d8c-6547-0410-b346-abe4f... X-Git-Url: http://git.whiteaudio.com/gitweb/?a=commitdiff_plain;h=c264f9ad02408ce5285fd79302f01775ac29c385;p=freetel-svn-tracking.git git-svn-id: https://svn.code.sf.net/p/freetel/code@1093 01035d8c-6547-0410-b346-abe4f91aad63 --- diff --git a/fdmdv2/build/Debug/ctb-0.16.dll b/fdmdv2/build/Debug/ctb-0.16.dll new file mode 100644 index 00000000..f47939b3 Binary files /dev/null and b/fdmdv2/build/Debug/ctb-0.16.dll differ diff --git a/fdmdv2/src/dlg_comports.cpp b/fdmdv2/src/dlg_comports.cpp index 27753ae9..b7635e30 100644 --- a/fdmdv2/src/dlg_comports.cpp +++ b/fdmdv2/src/dlg_comports.cpp @@ -75,22 +75,24 @@ ComPortsDlg::ComPortsDlg(wxWindow* parent, wxWindowID id, const wxString& title, 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); @@ -115,7 +117,7 @@ ComPortsDlg::ComPortsDlg(wxWindow* parent, wxWindowID id, const wxString& title, // 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); @@ -134,7 +136,7 @@ ComPortsDlg::~ComPortsDlg() // 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); @@ -213,12 +215,12 @@ void ComPortsDlg::ExchangeData(int inout) 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(); @@ -235,22 +237,13 @@ void ComPortsDlg::ExchangeData(int inout) } 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")); } //------------------------------------------------------------------------- @@ -260,26 +253,6 @@ void ComPortsDlg::PTTAudioClick(wxCommandEvent& event) { } -//------------------------------------------------------------------------- -// 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() //------------------------------------------------------------------------- diff --git a/fdmdv2/src/dlg_comports.h b/fdmdv2/src/dlg_comports.h index 35bb1ff0..ec62d1b6 100644 --- a/fdmdv2/src/dlg_comports.h +++ b/fdmdv2/src/dlg_comports.h @@ -59,7 +59,7 @@ class ComPortsDlg : public wxDialog protected: void populatePortList(void); void PTTAudioClick(wxCommandEvent& event); - void PTTPortSlelcted(wxCommandEvent& event); +// void PTTPortSlelcted(wxCommandEvent& event); void PTTUseSerialClicked(wxCommandEvent& event); void UseDTRCliched(wxCommandEvent& event); void DTRVPlusClicked(wxCommandEvent& event); @@ -69,7 +69,6 @@ class ComPortsDlg : public wxDialog void OnCancel(wxCommandEvent& event); void OnApply(wxCommandEvent& event); virtual void OnInitDialog(wxInitDialogEvent& event); - }; #endif // __COMPORTS_DIALOG__ diff --git a/fdmdv2/src/fdmdv2_main.cpp b/fdmdv2/src/fdmdv2_main.cpp index ee088596..01a893f2 100644 --- a/fdmdv2/src/fdmdv2_main.cpp +++ b/fdmdv2/src/fdmdv2_main.cpp @@ -348,6 +348,7 @@ MainFrame::MainFrame(wxWindow *parent) : TopFrame(parent) m_togBtnAnalog->Disable(); //m_togBtnALC->Disable(); //m_btnTogPTT->Disable(); + SetupSerialPort(); @@ -1353,6 +1354,12 @@ void MainFrame::OnToolsComCfg(wxCommandEvent& event) 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(); @@ -1361,6 +1368,29 @@ void MainFrame::OnToolsComCfg(wxCommandEvent& event) 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; } @@ -2494,12 +2524,12 @@ void MainFrame::SetupSerialPort(void) 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); @@ -2516,17 +2546,16 @@ void MainFrame::SetupSerialPort(void) { 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); } +*/ } //----------------------------------------------------------------