Add 2 pre-setable markers for the graph

This commit is contained in:
marshmellow42 2017-02-28 15:53:33 -05:00
parent b1ee7eed65
commit f9f0e83b7c
5 changed files with 25 additions and 6 deletions

View file

@ -1907,6 +1907,12 @@ int CmdGrid(const char *Cmd)
return 0;
}
int CmdSetGraphMarkers(const char *Cmd) {
sscanf(Cmd, "%i %i", &CursorCPos, &CursorDPos);
RepaintGraphWindow();
return 0;
}
int CmdHexsamples(const char *Cmd)
{
int i, j;
@ -2419,6 +2425,7 @@ static command_t CommandTable[] =
{"rawdemod", CmdRawDemod, 1, "[modulation] ... <options> -see help (h option) -- Demodulate the data in the GraphBuffer and output binary"},
{"samples", CmdSamples, 0, "[512 - 40000] -- Get raw samples for graph window (GraphBuffer)"},
{"save", CmdSave, 1, "<filename> -- Save trace (from graph window)"},
{"setgraphmarkers", CmdSetGraphMarkers, 1, "[orange_marker] [blue_marker] (in graph window)"},
{"scale", CmdScale, 1, "<int> -- Set cursor display scale"},
{"setdebugmode", CmdSetDebugMode, 1, "<0|1|2> -- Turn on or off Debugging Level for lf demods"},
{"shiftgraphzero", CmdGraphShiftZero, 1, "<shift> -- Shift 0 for Graphed wave + or - shift value"},

View file

@ -23,7 +23,7 @@ void ExitGraphics(void);
extern int GraphBuffer[MAX_GRAPH_TRACE_LEN];
extern int GraphTraceLen;
extern double CursorScaleFactor;
extern int PlotGridX, PlotGridY, PlotGridXdefault, PlotGridYdefault;
extern int PlotGridX, PlotGridY, PlotGridXdefault, PlotGridYdefault, CursorCPos, CursorDPos;
extern int CommandFinished;
extern int offline;

View file

@ -102,7 +102,7 @@ ProxGuiQT::~ProxGuiQT(void)
void ProxWidget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
QPainterPath penPath, whitePath, greyPath, lightgreyPath, cursorAPath, cursorBPath;
QPainterPath penPath, whitePath, greyPath, lightgreyPath, cursorAPath, cursorBPath, cursorCPath, cursorDPath;
QRect r;
QBrush brush(QColor(100, 255, 100));
QPen pen(QColor(100, 255, 100));
@ -117,6 +117,10 @@ void ProxWidget::paintEvent(QPaintEvent *event)
CursorAPos= 0;
if(CursorBPos > GraphTraceLen)
CursorBPos= 0;
if(CursorCPos > GraphTraceLen)
CursorCPos= 0;
if(CursorDPos > GraphTraceLen)
CursorDPos= 0;
r = rect();
@ -242,13 +246,17 @@ void ProxWidget::paintEvent(QPaintEvent *event)
penPath.moveTo(x,y);
}
if(i == CursorAPos || i == CursorBPos) {
if(i == CursorAPos || i == CursorBPos || i == CursorCPos || i == CursorDPos) {
QPainterPath *cursorPath;
if(i == CursorAPos) {
cursorPath = &cursorAPath;
} else {
} else if (i == CursorBPos) {
cursorPath = &cursorBPath;
} else if (i == CursorCPos) {
cursorPath = &cursorCPath;
} else {
cursorPath = &cursorDPath;
}
cursorPath->moveTo(x, r.top());
cursorPath->lineTo(x, r.bottom());
@ -268,6 +276,10 @@ void ProxWidget::paintEvent(QPaintEvent *event)
painter.drawPath(cursorAPath);
painter.setPen(QColor(255, 0, 255));
painter.drawPath(cursorBPath);
painter.setPen(QColor(255, 153, 0)); //orange
painter.drawPath(cursorCPath);
painter.setPen(QColor(0, 0, 205)); //light blue
painter.drawPath(cursorDPath);
char str[200];
sprintf(str, "@%d max=%d min=%d mean=%d n=%d/%d dt=%d [%.3f] zoom=%.3f CursorA=%d [%d] CursorB=%d [%d] GridX=%d GridY=%d (%s)",

View file

@ -19,7 +19,7 @@
#include "ui.h"
double CursorScaleFactor;
int PlotGridX, PlotGridY, PlotGridXdefault= 64, PlotGridYdefault= 64;
int PlotGridX, PlotGridY, PlotGridXdefault= 64, PlotGridYdefault= 64, CursorCPos= 0, CursorDPos= 0;
int offline;
int flushAfterWrite = 0; //buzzy
extern pthread_mutex_t print_lock;

View file

@ -19,7 +19,7 @@ void PrintAndLog(char *fmt, ...);
void SetLogFilename(char *fn);
extern double CursorScaleFactor;
extern int PlotGridX, PlotGridY, PlotGridXdefault, PlotGridYdefault;
extern int PlotGridX, PlotGridY, PlotGridXdefault, PlotGridYdefault, CursorCPos, CursorDPos;
extern int offline;
extern int flushAfterWrite; //buzzy