From 110297f939171ffe4e92464915fffe7d7c7ec4fe Mon Sep 17 00:00:00 2001 From: wittend99 Date: Sat, 1 Dec 2012 04:20:24 +0000 Subject: [PATCH] Fix some things about PTT. git-svn-id: https://svn.code.sf.net/p/freetel/code@1103 01035d8c-6547-0410-b346-abe4f91aad63 --- fdmdv2/build/fdmdv2.mk | 4 +- fdmdv2/src/fdmdv2_main.cpp | 109 ++++++++++++++++++++----------------- fdmdv2/src/fdmdv2_main.h | 2 +- 3 files changed, 62 insertions(+), 53 deletions(-) diff --git a/fdmdv2/build/fdmdv2.mk b/fdmdv2/build/fdmdv2.mk index be8b3e84..c8f1ff8a 100644 --- a/fdmdv2/build/fdmdv2.mk +++ b/fdmdv2/build/fdmdv2.mk @@ -52,8 +52,8 @@ LibPath := $(LibraryPathSwitch). $(LibraryPathSwitch)d:/Projects/ AR := ar rcus CXX := g++ CC := gcc -CXXFLAGS := -g -O0 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=yes) -DSVN_REVISION=\"1090\" $(Preprocessors) -CFLAGS := -g -O0 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=yes) -DSVN_REVISION=\"1090\" $(Preprocessors) +CXXFLAGS := -g -O0 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=yes) -DSVN_REVISION=\"1101\" $(Preprocessors) +CFLAGS := -g -O0 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=yes) -DSVN_REVISION=\"1101\" $(Preprocessors) ## diff --git a/fdmdv2/src/fdmdv2_main.cpp b/fdmdv2/src/fdmdv2_main.cpp index 9dd3b3b5..14671c07 100644 --- a/fdmdv2/src/fdmdv2_main.cpp +++ b/fdmdv2/src/fdmdv2_main.cpp @@ -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 diff --git a/fdmdv2/src/fdmdv2_main.h b/fdmdv2/src/fdmdv2_main.h index 55660be1..3a51f15a 100644 --- a/fdmdv2/src/fdmdv2_main.h +++ b/fdmdv2/src/fdmdv2_main.h @@ -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(); -- 2.25.1