Fix some things about PTT.
authorwittend99 <wittend99@01035d8c-6547-0410-b346-abe4f91aad63>
Sat, 1 Dec 2012 04:20:24 +0000 (04:20 +0000)
committerwittend99 <wittend99@01035d8c-6547-0410-b346-abe4f91aad63>
Sat, 1 Dec 2012 04:20:24 +0000 (04:20 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@1103 01035d8c-6547-0410-b346-abe4f91aad63

fdmdv2/build/fdmdv2.mk
fdmdv2/src/fdmdv2_main.cpp
fdmdv2/src/fdmdv2_main.h

index be8b3e847d3a928d889d37cba55620433901072b..c8f1ff8ae74ceffce70ade57a663440cf6c4690e 100644 (file)
@@ -52,8 +52,8 @@ LibPath                := $(LibraryPathSwitch). $(LibraryPathSwitch)d:/Projects/
 AR       := ar rcus\r
 CXX      := g++\r
 CC       := gcc\r
-CXXFLAGS :=  -g -O0 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=yes)  -DSVN_REVISION=\"1090\"  $(Preprocessors)\r
-CFLAGS   :=  -g -O0 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=yes)  -DSVN_REVISION=\"1090\"  $(Preprocessors)\r
+CXXFLAGS :=  -g -O0 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=yes)  -DSVN_REVISION=\"1101\"  $(Preprocessors)\r
+CFLAGS   :=  -g -O0 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=yes)  -DSVN_REVISION=\"1101\"  $(Preprocessors)\r
 \r
 \r
 ##\r
index 9dd3b3b5cf5f7dff6f3dedf8dadfb8a62a4ce719..14671c072b6a8bcb7863cc69f9ab00f4ead93d28 100644 (file)
@@ -350,13 +350,9 @@ MainFrame::MainFrame(wxWindow *parent) : TopFrame(parent)
     m_togTxID->Disable();
     m_togBtnAnalog->Disable();
     //m_togBtnALC->Disable();
-    //m_btnTogPTT->Disable();
-    
+   
     SetupSerialPort();
 
-
-//    m_menuItemPlayAudioFile->Enable(false);
-
     // squelch settings
     char sqsnr[15];
     m_sliderSQ->SetValue((int)(g_SquelchLevel*2.0));
@@ -709,7 +705,7 @@ void MainFrame::OnCloseFrame(wxCloseEvent& event)
     Pa_Terminate();
     Destroy();
 }
-
+/*
 //-------------------------------------------------------------------------
 // OnExitClick()
 //-------------------------------------------------------------------------
@@ -718,6 +714,7 @@ void MainFrame::OnExitClick(wxCommandEvent& event)
     Pa_Terminate();
     Destroy();
 }
+*/
 
 //-------------------------------------------------------------------------
 // OnTop()
@@ -1273,10 +1270,12 @@ void MainFrame::OnRecFileFromRadio(wxCommandEvent& event)
 void MainFrame::OnExit(wxCommandEvent& event)
 {
     wxUnusedVar(event);
+/*    
     if(m_RxRunning)
     {
         stopRxStream();
     }
+*/    
 #ifdef _USE_TIMER
     m_plotTimer.Stop();
 #endif // _USE_TIMER
@@ -1300,6 +1299,17 @@ void MainFrame::OnExit(wxCommandEvent& event)
     m_togBtnAnalog->Disable();
     //m_togBtnALC->Disable();
     m_btnTogPTT->Disable();
+    CloseSerialPort();
+    Pa_Terminate();
+    Destroy();
+}
+
+//-------------------------------------------------------------------------
+// OnExitClick()
+//-------------------------------------------------------------------------
+void MainFrame::OnExitClick(wxCommandEvent& event)
+{
+    OnExit(event);
 }
 
 //-------------------------------------------------------------------------
@@ -1356,14 +1366,15 @@ 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();
+    int  iLineState  = 0;
+    //bool bPTTEnabled = m_btnTogPTT->IsEnabled();
     bool bPTTState   = m_btnTogPTT->GetValue();
-  
-    CloseSerialPort();
+
+    if(m_serialPort != NULL)
+    {
+        int iLineState   = m_serialPort->GetLineState();
+        CloseSerialPort();
+    }
     ComPortsDlg *dlg = new ComPortsDlg(NULL);
     rv = dlg->ShowModal();
     if(rv == wxID_OK)
@@ -1374,25 +1385,27 @@ void MainFrame::OnToolsComCfg(wxCommandEvent& event)
     else if(rv == wxID_CANCEL)
     {
         SetupSerialPort();
-        if(iLineState | ctb::LinestateRts)
-        {
-            m_serialPort->SetLineState(ctb::LinestateRts);
-        }
-        else
+        if(m_serialPort != NULL)
         {
-            m_serialPort->ClrLineState(ctb::LinestateRts);
-        }
-        if(iLineState | ctb::LinestateDtr)
-        {
-            m_serialPort->SetLineState(ctb::LinestateDtr);
-        }
-        else
-        {
-            m_serialPort->ClrLineState(ctb::LinestateDtr);
+            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);
         }
-                                                                                                                                                             
-        m_btnTogPTT->Enable(bPTTEnabled);
-        m_btnTogPTT->SetValue(bPTTState);
  }
     delete dlg;
 }
@@ -1475,13 +1488,16 @@ void MainFrame::OnTogBtnOnOff(wxCommandEvent& event)
 
     // we are attempting to start
 
-    if (startStop.IsSameAs("Start")) {
-
+    if (startStop.IsSameAs("Start")) 
+    {
         m_togBtnSplit->Enable();
         //m_togRxID->Enable();
         //m_togTxID->Enable();
         m_togBtnAnalog->Enable();
-        m_btnTogPTT->Enable();
+        if(m_serialPort != NULL)
+        {
+            m_btnTogPTT->Enable();
+        }
         m_togBtnOnOff->SetLabel(wxT("Stop"));
 
         // init modem and codec states
@@ -1512,11 +1528,11 @@ void MainFrame::OnTogBtnOnOff(wxCommandEvent& event)
 
         startRxStream();
 
-        if (m_RxRunning) {
-
-            #ifdef _USE_TIMER
+        if (m_RxRunning) 
+        {
+    #ifdef _USE_TIMER
             m_plotTimer.Start(_REFRESH_TIMER_PERIOD, wxTIMER_CONTINUOUS);
-            #endif // _USE_TIMER
+    #endif // _USE_TIMER
         }
     }
    
@@ -1683,7 +1699,6 @@ void MainFrame::startRxStream()
         }
                 
         // Init Sound card 1 ----------------------------------------------
-
         // sanity check on sound card device numbers
 
         if ((m_rxPa->getDeviceCount() <= g_soundCard1InDeviceNum) ||
@@ -2510,18 +2525,6 @@ void fdmdv2_clickTune(float freq) {
 //----------------------------------------------------------------
 void MainFrame::SetupSerialPort(void)
 {
-/*
-    wxString            m_strRigCtrlBaud;
-    wxString            m_strRigCtrlDatabits;
-    wxString            m_strRigCtrlStopbits;
-    wxString            m_strRigCtrlParity;
-    bool                m_boolUseSerialPTT;
-    bool                m_boolUseTonePTT;
-    bool                m_boolUseRTS;
-    bool                m_boolRTSPos;
-    bool                m_boolUseDTR;
-    bool                m_boolDTRPos;
-*/
     long baudrate;
     
     wxGetApp().m_strRigCtrlBaud.ToLong(&baudrate, 10);
@@ -2552,6 +2555,12 @@ void MainFrame::SetupSerialPort(void)
             m_btnTogPTT->Enable(true);
             m_btnTogPTT->SetValue(false);
         }
+        else
+        {
+            m_serialPort = NULL;
+            m_device     = NULL;
+            m_btnTogPTT->Disable();
+        }
     }
 /*    
     else
index 55660be168e0c1b79160db750e3f12e970762a98..3a51f15ad309e68da7efc59f193407fe27aae09b 100644 (file)
@@ -314,7 +314,7 @@ class MainFrame : public TopFrame
 
         // protected event handlers
         virtual void OnCloseFrame(wxCloseEvent& event);
-        virtual void OnExitClick(wxCommandEvent& event);
+        void OnExitClick(wxCommandEvent& event);
 
         void startTxStream();
         void startRxStream();