spent a few hours trying to debug Stop not erasing bottom 25% of Waterfall, but haven...
authordrowe67 <drowe67@01035d8c-6547-0410-b346-abe4f91aad63>
Mon, 22 Oct 2012 01:35:43 +0000 (01:35 +0000)
committerdrowe67 <drowe67@01035d8c-6547-0410-b346-abe4f91aad63>
Mon, 22 Oct 2012 01:35:43 +0000 (01:35 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@787 01035d8c-6547-0410-b346-abe4f91aad63

fdmdv2/src/fdmdv2_main.cpp
fdmdv2/src/fdmdv2_plot_waterfall_linux.cpp
fdmdv2/src/fdmdv2_plot_waterfall_linux.h

index 8f877807b6b2f69f3d2c582807ed946899f66435..799851019d9bb6011a5cbcc2588caea97977b6a6 100644 (file)
@@ -255,6 +255,7 @@ void MainFrame::OnTimer(wxTimerEvent &evt)
 //----------------------------------------------------------------
 void MainFrame::OnIdle(wxIdleEvent& event)
 {
+    printf("OnIdle\n");
     if(m_panelWaterfall->m_newdata)
     {
         m_panelWaterfall->Refresh();
@@ -411,7 +412,8 @@ void MainFrame::OnTogBtnAnalogClick (wxCommandEvent& event)
 //-------------------------------------------------------------------------
 void MainFrame::OnTogBtnALCClick(wxCommandEvent& event)
 {
-//    wxMessageBox(wxT("Got Click!"), wxT("OnTogBtnALCClick"), wxOK);
+    wxMessageBox(wxT("Got Click!"), wxT("OnTogBtnALCClick"), wxOK);
+
     event.Skip();
 }
 
@@ -887,7 +889,7 @@ void MainFrame::OnTogBtnOnOff(wxCommandEvent& event)
         m_plotTimer.Start(_REFRESH_TIMER_PERIOD, wxTIMER_CONTINUOUS);
 #endif // _USE_TIMER
         startRxStream();
-//        startTxStream();
+        //startTxStream();
         if (m_RxRunning)
         {
             m_togBtnOnOff->SetLabel(wxT("Stop"));
@@ -920,7 +922,7 @@ void MainFrame::OnTogBtnOnOff(wxCommandEvent& event)
 //----------------------------------------------------------
 void MainFrame::OnTogBtnLoopRx( wxCommandEvent& event )
 {
-    wxMessageBox(wxT("Got Click!"), wxT("OnTogBtnLoopRx()"), wxOK);
+     wxMessageBox(wxT("Got Click!"), wxT("OnTogBtnLoopRx()"), wxOK);
 }
 
 //----------------------------------------------------------
@@ -1053,7 +1055,7 @@ void MainFrame::startRxStream()
             fifo_destroy(m_rxUserdata->infifo);
             fifo_destroy(m_rxUserdata->outfifo);
            free(g_pRxOutBuf);
-           return;
+           return;
         }
        printf("end startRxStream\n");
     }
index 60a5967879da5eb930c309fb05c71be414cfbbed..0d0e2f00f1fa09f0e29a209f12f5fc70c576efab 100644 (file)
@@ -70,16 +70,13 @@ void PlotWaterfall::OnSize(wxSizeEvent& event) {
 
     m_rCtrl  = GetClientRect();
 
-    // m_rGrid is coords of inner window we actually plot to.  We defalte it a bit
+    // m_rGrid is coords of inner window we actually plot to.  We deflate it a bit
     // to leave room for axis labels.
 
     m_rGrid  = m_rCtrl;
     m_rGrid = m_rGrid.Deflate(PLOT_BORDER + (XLEFT_OFFSET/2), (PLOT_BORDER + (YBOTTOM_OFFSET/2)));
-    //m_rGrid.Offset(PLOT_BORDER + XLEFT_OFFSET, PLOT_BORDER);
-    //m_rGrid = m_rGrid.Deflate(PLOT_BORDER + (XLEFT_OFFSET*2), (PLOT_BORDER + (YBOTTOM_OFFSET*2)));
-    //m_rGrid.Offset(PLOT_BORDER + XLEFT_OFFSET, PLOT_BORDER);
 
-    // we want a bit map the size of  m_rGrid
+    // we want a bit map the size of m_rGrid
 
     m_pBmp = new wxBitmap(m_rGrid.GetWidth(), m_rGrid.GetHeight(), 24);
 }
@@ -158,13 +155,11 @@ unsigned PlotWaterfall::heatmap(float val, float min, float max)
 //----------------------------------------------------------------
 void PlotWaterfall::draw(wxAutoBufferedPaintDC& pDC)
 {
-    printf("PlotWaterfall::draw  m_newdata: %d\n", m_newdata);
-    pDC.Clear();
 
     if(m_newdata)
     {
         m_newdata = false;
-        plotPixelData(pDC);
+        plotPixelData();
        pDC.DrawBitmap(*m_pBmp, PLOT_BORDER + XLEFT_OFFSET, PLOT_BORDER);
     }
     else {
@@ -172,12 +167,14 @@ void PlotWaterfall::draw(wxAutoBufferedPaintDC& pDC)
        // no data to plot so just erase to black.  Blue looks nicer
        // but is same colour as low amplitude signal
 
+       // Bug: When Stop is pressed this code doesn't erase the lower 
+       // 25% of the Waterfall Window
+
        m_rPlot = wxRect(PLOT_BORDER + XLEFT_OFFSET, PLOT_BORDER, m_rGrid.GetWidth(), m_rGrid.GetHeight());
        wxBrush ltGraphBkgBrush = wxBrush(BLACK_COLOR);
        pDC.SetBrush(ltGraphBkgBrush);
        pDC.SetPen(wxPen(BLACK_COLOR, 0));
        pDC.DrawRectangle(m_rPlot);
-       //printf("x %d y %d w %d h %d\n", m_rPlot.x, m_rPlot.y, m_rPlot.width, m_rPlot.height);
     }
     
     drawGraticule(pDC);
@@ -231,7 +228,7 @@ void PlotWaterfall::drawGraticule(wxAutoBufferedPaintDC&  pDC)
 //-------------------------------------------------------------------------
 // plotPixelData()
 //-------------------------------------------------------------------------
-void PlotWaterfall::plotPixelData(wxAutoBufferedPaintDC&  dc)
+void PlotWaterfall::plotPixelData()
 {
     float       spec_index_per_px;
     float       intensity_per_dB;
index 97c644589a60963121440577c136b5b99e12793e..b7eaf392d076a09df4eb4fcdb4316fd03a9899a4 100644 (file)
@@ -63,7 +63,7 @@ class PlotWaterfall : public PlotPanel
         void        OnShow(wxShowEvent& event);
         void        drawGraticule(wxAutoBufferedPaintDC&  dc);
         void        draw(wxAutoBufferedPaintDC& pdc);
-        void        plotPixelData(wxAutoBufferedPaintDC&  dc);
+        void        plotPixelData();
 
         DECLARE_EVENT_TABLE()
 };