git-svn-id: https://svn.code.sf.net/p/freetel/code@1093 01035d8c-6547-0410-b346-abe4f...
authorwittend99 <wittend99@01035d8c-6547-0410-b346-abe4f91aad63>
Sat, 1 Dec 2012 00:52:49 +0000 (00:52 +0000)
committerwittend99 <wittend99@01035d8c-6547-0410-b346-abe4f91aad63>
Sat, 1 Dec 2012 00:52:49 +0000 (00:52 +0000)
fdmdv2/build/Debug/ctb-0.16.dll [new file with mode: 0644]
fdmdv2/src/dlg_comports.cpp
fdmdv2/src/dlg_comports.h
fdmdv2/src/fdmdv2_main.cpp

diff --git a/fdmdv2/build/Debug/ctb-0.16.dll b/fdmdv2/build/Debug/ctb-0.16.dll
new file mode 100644 (file)
index 0000000..f47939b
Binary files /dev/null and b/fdmdv2/build/Debug/ctb-0.16.dll differ
index 27753ae92d18901f7982c6e131fb15618b29e828..b7635e308be430169d68baefc6a79493f941e8f9 100644 (file)
@@ -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()
 //-------------------------------------------------------------------------
index 35bb1ff0ab95df7a2d523973311fabc089623ee3..ec62d1b68859971a43df578eddc73dc099328aa0 100644 (file)
@@ -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__
index ee08859651d777901ee10509a5aaeb7d5ae6d05c..01a893f2440e9c0a2703dd648a3ec3dff5a27016 100644 (file)
@@ -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);
     }
+*/
 }
 
 //----------------------------------------------------------------