Added a waterfall indicator for turbo'd signals

This commit is contained in:
Jordan Sherer 2018-11-03 02:51:59 -04:00
parent 21004a7b28
commit 2d5b41d4b7
2 changed files with 23 additions and 6 deletions

View File

@ -4512,9 +4512,10 @@ void MainWindow::guiUpdate()
foxcom_.i3bit[0] = m_i3bit;
if(!m_txFrameQueue.isEmpty()){
auto pair = m_txFrameQueue.dequeue();
strncpy(&foxcom_.cmsg[1][0], pair.first.toLatin1(), 12);
foxcom_.i3bit[1] = pair.second;
auto pair = m_txFrameQueue.dequeue();
strncpy(&foxcom_.cmsg[1][0], pair.first.toLatin1(), 12);
foxcom_.i3bit[1] = pair.second;
foxcom_.nslots += 1;
}
foxgen_();
@ -8683,11 +8684,11 @@ void MainWindow::updateTxButtonDisplay(){
if(m_tune || m_transmitting || m_txFrameCount > 0){
int count = m_txFrameCount;
#if TEST_FOX_WAVE_GEN
count = qMax(1, (int)ceil(float(count)/4.0));
count = qMax(1, (int)ceil(float(count)/2.0));
#endif
int sent = count - (int)ceil(float(m_txFrameQueue.count())/4.0);
int sent = count - (int)ceil(float(m_txFrameQueue.count())/2.0);
ui->startTxButton->setText(m_tune ? "Tuning" : QString("Sending (%1/%2)").arg(sent).arg(count));
ui->startTxButton->setText(m_tune ? "Tuning" : QString("Turboing (%1/%2)").arg(sent).arg(count));
ui->startTxButton->setEnabled(false);
} else {
ui->startTxButton->setText(m_txFrameCountEstimate <= 0 ? QString("Send") : QString("Turbo Send (%1)").arg(m_txFrameCountEstimate));

View File

@ -9,6 +9,7 @@
#include "DriftingDateTime.h"
#define MAX_SCREENSIZE 2048
#define TEST_FOX_WAVE_GEN 1
extern "C" {
void flat4_(float swide[], int* iz, int* nflatten);
@ -587,6 +588,9 @@ void CPlotter::DrawOverlay() //DrawOverlay()
if(m_mode=="FT8"){
int fwidth=XfromFreq(m_rxFreq+bw)-XfromFreq(m_rxFreq);
#if TEST_FOX_WAVE_GEN
int offset=XfromFreq(m_rxFreq+bw+10)-XfromFreq(m_rxFreq+bw);
#endif
QPainter overPainter(&m_DialOverlayPixmap);
overPainter.initFrom(this);
overPainter.setCompositionMode(QPainter::CompositionMode_Source);
@ -595,10 +599,18 @@ void CPlotter::DrawOverlay() //DrawOverlay()
overPainter.setPen(thinRed);
overPainter.drawLine(0, 30, 0, m_h);
overPainter.drawLine(fwidth+1, 30, fwidth+1, m_h);
#if TEST_FOX_WAVE_GEN
overPainter.drawLine(offset+fwidth+1, 30, offset+fwidth+1, m_h);
overPainter.drawLine(offset+2*fwidth+1, 30, offset+2*fwidth+1, m_h);
#endif
overPainter.setPen(penRed);
overPainter.drawLine(0, 26, fwidth, 26);
overPainter.drawLine(0, 28, fwidth, 28);
#if TEST_FOX_WAVE_GEN
overPainter.drawLine(offset+fwidth, 26, offset+2*fwidth, 26);
overPainter.drawLine(offset+fwidth, 28, offset+2*fwidth, 28);
#endif
QPainter hoverPainter(&m_HoverOverlayPixmap);
hoverPainter.initFrom(this);
@ -607,6 +619,10 @@ void CPlotter::DrawOverlay() //DrawOverlay()
hoverPainter.setPen(QPen(Qt::white));
hoverPainter.drawLine(0, 30, 0, m_h);
hoverPainter.drawLine(fwidth+1, 30, fwidth+1, m_h);
#if TEST_FOX_WAVE_GEN
hoverPainter.drawLine(offset+fwidth+1, 30, offset+fwidth+1, m_h);
hoverPainter.drawLine(offset+2*fwidth+1, 30, offset+2*fwidth+1, m_h);
#endif
#if DRAW_FREQ_OVERLAY
int f = FreqfromX(m_lastMouseX);