bug fix to txt messages, still occasional seg fault
authordrowe67 <drowe67@01035d8c-6547-0410-b346-abe4f91aad63>
Wed, 17 Jun 2015 21:27:00 +0000 (21:27 +0000)
committerdrowe67 <drowe67@01035d8c-6547-0410-b346-abe4f91aad63>
Wed, 17 Jun 2015 21:27:00 +0000 (21:27 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@2204 01035d8c-6547-0410-b346-abe4f91aad63

fdmdv2-dev/README.txt
fdmdv2-dev/src/fdmdv2_main.cpp

index 2a452f5a26a43a9f8d4188ceeff6d4e8e91e2f43..5261705c21e2ea9a380089160e4a1635d5c034c0 100644 (file)
@@ -161,7 +161,7 @@ TODO
         [X] rx from file works
         [X] cohpsk snr est
         [X] tx works in full duplex
-        [ ] clipper a check box, so we can see difference in spectrum
+        [X] clipper a check box, so we can see difference in spectrum
             + adjustable at run time
         [ ] analog mode
             + complicated by sample rate change
index cf3b3be3a8019adf92cc3704672ced62deb114fd..304d11c8f0c4bef0a843102bbbad397b0777a024 100644 (file)
@@ -951,6 +951,8 @@ void MainFrame::OnTimer(wxTimerEvent &evt)
     if ((unsigned)fifo_used(g_txDataInFifo) < strlen(callsign)) {
         unsigned int  i;
 
+        printf("callsign: %s\n", callsign);
+
         /* optionally append checksum */
 
         if (wxGetApp().m_enable_checksum) {
@@ -962,10 +964,13 @@ void MainFrame::OnTimer(wxTimerEvent &evt)
                 checksum += callsign[i];
             sprintf(callsign_checksum_cr, "%s%2x", callsign, checksum);
             callsign_checksum_cr[strlen(callsign)+2] = 13;
+            callsign_checksum_cr[strlen(callsign)+3] = 0;
             strcpy(callsign, callsign_checksum_cr);
         }
-        else
+        else {
             callsign[strlen(callsign)] = 13;
+            callsign[strlen(callsign)+1] = 0;
+        }
 
         // write chars to tx data fifo
 
@@ -1023,13 +1028,13 @@ void MainFrame::OnTimer(wxTimerEvent &evt)
                 }
             }
 
-            //fprintf(stderr,"resetting callsign %s %d\n", m_callsign, m_pcallsign-m_callsign);
+            fprintf(stderr,"resetting callsign %s %d\n", m_callsign, m_pcallsign-m_callsign);
             // reset ptr to start of string
             m_pcallsign = m_callsign;
         }
         else
         {
-            //printf("new char %d %c\n", ashort, (char)ashort);
+            printf("new char %d %c\n", ashort, (char)ashort);
             *m_pcallsign++ = (char)ashort;
             m_txtCtrlCallSign->SetValue(m_callsign);
         }
@@ -1049,7 +1054,6 @@ void MainFrame::OnTimer(wxTimerEvent &evt)
     // Run time update of FreeDV 700 tx clipper
 
     g_pfreedv->clip = (int)wxGetApp().m_FreeDV700txClip;
-    //fprintf(stderr, "g_pfreedv->clip: %d\n",  g_pfreedv->clip);
 
     // Test Frame Bit Error Updates ------------------------------------
 
@@ -2003,6 +2007,11 @@ void MainFrame::OnTogBtnOnOff(wxCommandEvent& event)
         m_pcallsign = m_callsign;
         memset(m_callsign, 0, sizeof(m_callsign));
         m_checksumGood = m_checksumBad = 0;
+        wxString s;
+        s.Printf("%d", m_checksumGood);
+        m_txtChecksumGood->SetLabel(s);              
+        s.Printf("%d", m_checksumBad);
+        m_txtChecksumBad->SetLabel(s);        
 
         m_maxLevel = 0;
         m_textLevel->SetLabel(wxT(""));