]> cvs.zerfleddert.de Git - proxmark3-svn/commitdiff
Add 2 pre-setable markers for the graph
authormarshmellow42 <marshmellowrf@gmail.com>
Tue, 28 Feb 2017 20:53:33 +0000 (15:53 -0500)
committermarshmellow42 <marshmellowrf@gmail.com>
Tue, 28 Feb 2017 20:53:33 +0000 (15:53 -0500)
client/cmddata.c
client/proxgui.h
client/proxguiqt.cpp
client/ui.c
client/ui.h

index f8a7dec749befb7b9fc8a09450728d98727fe9d2..cce390890d98caf5174a8e3d4bbb07e215b627ea 100644 (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"},
index 94b47acdf2bfb5d70a91a42227285df468aa95a9..ef9ac36ab616cb71ac68bd939a58f7f21af4267f 100644 (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;
 
index 3e9bdfd5f7add82182a3675c015f560e44e84313..cd8297ef6fd67c38be33033bd6bda32b8b517091 100644 (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)",
index c0d01bc32983a2efb313f99640d745ce3af8cde9..ba230e3316fa70a35f0d7bc5cbd8a129c4422927 100644 (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;
index a45799d5c430dcad8094354a702cf81c9a7f47cb..4e03bfabbe95f108717c3b42f2e733fefbb266c2 100644 (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
 
Impressum, Datenschutz