From: marshmellow42 Date: Tue, 28 Feb 2017 20:53:33 +0000 (-0500) Subject: Add 2 pre-setable markers for the graph X-Git-Tag: v3.0.0~62^2~3 X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/commitdiff_plain/f9f0e83b7cf98887fc5dbe97bcb491b8c45c7d69?ds=sidebyside;hp=--cc Add 2 pre-setable markers for the graph --- f9f0e83b7cf98887fc5dbe97bcb491b8c45c7d69 diff --git a/client/cmddata.c b/client/cmddata.c index f8a7dec7..cce39089 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -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] ... -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, " -- Save trace (from graph window)"}, + {"setgraphmarkers", CmdSetGraphMarkers, 1, "[orange_marker] [blue_marker] (in graph window)"}, {"scale", CmdScale, 1, " -- Set cursor display scale"}, {"setdebugmode", CmdSetDebugMode, 1, "<0|1|2> -- Turn on or off Debugging Level for lf demods"}, {"shiftgraphzero", CmdGraphShiftZero, 1, " -- Shift 0 for Graphed wave + or - shift value"}, diff --git a/client/proxgui.h b/client/proxgui.h index 94b47acd..ef9ac36a 100644 --- a/client/proxgui.h +++ b/client/proxgui.h @@ -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; diff --git a/client/proxguiqt.cpp b/client/proxguiqt.cpp index 3e9bdfd5..cd8297ef 100644 --- a/client/proxguiqt.cpp +++ b/client/proxguiqt.cpp @@ -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)", diff --git a/client/ui.c b/client/ui.c index c0d01bc3..ba230e33 100644 --- a/client/ui.c +++ b/client/ui.c @@ -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; diff --git a/client/ui.h b/client/ui.h index a45799d5..4e03bfab 100644 --- a/client/ui.h +++ b/client/ui.h @@ -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