//----------------------------------------------------------------
void MainFrame::OnIdle(wxIdleEvent& event)
{
+ printf("OnIdle\n");
if(m_panelWaterfall->m_newdata)
{
m_panelWaterfall->Refresh();
//-------------------------------------------------------------------------
void MainFrame::OnTogBtnALCClick(wxCommandEvent& event)
{
-// wxMessageBox(wxT("Got Click!"), wxT("OnTogBtnALCClick"), wxOK);
+ wxMessageBox(wxT("Got Click!"), wxT("OnTogBtnALCClick"), wxOK);
+
event.Skip();
}
m_plotTimer.Start(_REFRESH_TIMER_PERIOD, wxTIMER_CONTINUOUS);
#endif // _USE_TIMER
startRxStream();
-// startTxStream();
+ //startTxStream();
if (m_RxRunning)
{
m_togBtnOnOff->SetLabel(wxT("Stop"));
//----------------------------------------------------------
void MainFrame::OnTogBtnLoopRx( wxCommandEvent& event )
{
- wxMessageBox(wxT("Got Click!"), wxT("OnTogBtnLoopRx()"), wxOK);
+ wxMessageBox(wxT("Got Click!"), wxT("OnTogBtnLoopRx()"), wxOK);
}
//----------------------------------------------------------
fifo_destroy(m_rxUserdata->infifo);
fifo_destroy(m_rxUserdata->outfifo);
free(g_pRxOutBuf);
- return;
+ return;
}
printf("end startRxStream\n");
}
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);
}
//----------------------------------------------------------------
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 {
// 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);
//-------------------------------------------------------------------------
// plotPixelData()
//-------------------------------------------------------------------------
-void PlotWaterfall::plotPixelData(wxAutoBufferedPaintDC& dc)
+void PlotWaterfall::plotPixelData()
{
float spec_index_per_px;
float intensity_per_dB;