mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-07-30 03:28:32 -07:00
Add 2 pre-setable markers for the graph
This commit is contained in:
parent
b1ee7eed65
commit
f9f0e83b7c
5 changed files with 25 additions and 6 deletions
|
@ -1907,6 +1907,12 @@ int CmdGrid(const char *Cmd)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int CmdSetGraphMarkers(const char *Cmd) {
|
||||||
|
sscanf(Cmd, "%i %i", &CursorCPos, &CursorDPos);
|
||||||
|
RepaintGraphWindow();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int CmdHexsamples(const char *Cmd)
|
int CmdHexsamples(const char *Cmd)
|
||||||
{
|
{
|
||||||
int i, j;
|
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"},
|
{"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)"},
|
{"samples", CmdSamples, 0, "[512 - 40000] -- Get raw samples for graph window (GraphBuffer)"},
|
||||||
{"save", CmdSave, 1, "<filename> -- Save trace (from graph window)"},
|
{"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"},
|
{"scale", CmdScale, 1, "<int> -- Set cursor display scale"},
|
||||||
{"setdebugmode", CmdSetDebugMode, 1, "<0|1|2> -- Turn on or off Debugging Level for lf demods"},
|
{"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"},
|
{"shiftgraphzero", CmdGraphShiftZero, 1, "<shift> -- Shift 0 for Graphed wave + or - shift value"},
|
||||||
|
|
|
@ -23,7 +23,7 @@ void ExitGraphics(void);
|
||||||
extern int GraphBuffer[MAX_GRAPH_TRACE_LEN];
|
extern int GraphBuffer[MAX_GRAPH_TRACE_LEN];
|
||||||
extern int GraphTraceLen;
|
extern int GraphTraceLen;
|
||||||
extern double CursorScaleFactor;
|
extern double CursorScaleFactor;
|
||||||
extern int PlotGridX, PlotGridY, PlotGridXdefault, PlotGridYdefault;
|
extern int PlotGridX, PlotGridY, PlotGridXdefault, PlotGridYdefault, CursorCPos, CursorDPos;
|
||||||
extern int CommandFinished;
|
extern int CommandFinished;
|
||||||
extern int offline;
|
extern int offline;
|
||||||
|
|
||||||
|
|
|
@ -102,7 +102,7 @@ ProxGuiQT::~ProxGuiQT(void)
|
||||||
void ProxWidget::paintEvent(QPaintEvent *event)
|
void ProxWidget::paintEvent(QPaintEvent *event)
|
||||||
{
|
{
|
||||||
QPainter painter(this);
|
QPainter painter(this);
|
||||||
QPainterPath penPath, whitePath, greyPath, lightgreyPath, cursorAPath, cursorBPath;
|
QPainterPath penPath, whitePath, greyPath, lightgreyPath, cursorAPath, cursorBPath, cursorCPath, cursorDPath;
|
||||||
QRect r;
|
QRect r;
|
||||||
QBrush brush(QColor(100, 255, 100));
|
QBrush brush(QColor(100, 255, 100));
|
||||||
QPen pen(QColor(100, 255, 100));
|
QPen pen(QColor(100, 255, 100));
|
||||||
|
@ -117,6 +117,10 @@ void ProxWidget::paintEvent(QPaintEvent *event)
|
||||||
CursorAPos= 0;
|
CursorAPos= 0;
|
||||||
if(CursorBPos > GraphTraceLen)
|
if(CursorBPos > GraphTraceLen)
|
||||||
CursorBPos= 0;
|
CursorBPos= 0;
|
||||||
|
if(CursorCPos > GraphTraceLen)
|
||||||
|
CursorCPos= 0;
|
||||||
|
if(CursorDPos > GraphTraceLen)
|
||||||
|
CursorDPos= 0;
|
||||||
|
|
||||||
r = rect();
|
r = rect();
|
||||||
|
|
||||||
|
@ -242,13 +246,17 @@ void ProxWidget::paintEvent(QPaintEvent *event)
|
||||||
penPath.moveTo(x,y);
|
penPath.moveTo(x,y);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(i == CursorAPos || i == CursorBPos) {
|
if(i == CursorAPos || i == CursorBPos || i == CursorCPos || i == CursorDPos) {
|
||||||
QPainterPath *cursorPath;
|
QPainterPath *cursorPath;
|
||||||
|
|
||||||
if(i == CursorAPos) {
|
if(i == CursorAPos) {
|
||||||
cursorPath = &cursorAPath;
|
cursorPath = &cursorAPath;
|
||||||
} else {
|
} else if (i == CursorBPos) {
|
||||||
cursorPath = &cursorBPath;
|
cursorPath = &cursorBPath;
|
||||||
|
} else if (i == CursorCPos) {
|
||||||
|
cursorPath = &cursorCPath;
|
||||||
|
} else {
|
||||||
|
cursorPath = &cursorDPath;
|
||||||
}
|
}
|
||||||
cursorPath->moveTo(x, r.top());
|
cursorPath->moveTo(x, r.top());
|
||||||
cursorPath->lineTo(x, r.bottom());
|
cursorPath->lineTo(x, r.bottom());
|
||||||
|
@ -268,6 +276,10 @@ void ProxWidget::paintEvent(QPaintEvent *event)
|
||||||
painter.drawPath(cursorAPath);
|
painter.drawPath(cursorAPath);
|
||||||
painter.setPen(QColor(255, 0, 255));
|
painter.setPen(QColor(255, 0, 255));
|
||||||
painter.drawPath(cursorBPath);
|
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];
|
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)",
|
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)",
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
#include "ui.h"
|
#include "ui.h"
|
||||||
|
|
||||||
double CursorScaleFactor;
|
double CursorScaleFactor;
|
||||||
int PlotGridX, PlotGridY, PlotGridXdefault= 64, PlotGridYdefault= 64;
|
int PlotGridX, PlotGridY, PlotGridXdefault= 64, PlotGridYdefault= 64, CursorCPos= 0, CursorDPos= 0;
|
||||||
int offline;
|
int offline;
|
||||||
int flushAfterWrite = 0; //buzzy
|
int flushAfterWrite = 0; //buzzy
|
||||||
extern pthread_mutex_t print_lock;
|
extern pthread_mutex_t print_lock;
|
||||||
|
|
|
@ -19,7 +19,7 @@ void PrintAndLog(char *fmt, ...);
|
||||||
void SetLogFilename(char *fn);
|
void SetLogFilename(char *fn);
|
||||||
|
|
||||||
extern double CursorScaleFactor;
|
extern double CursorScaleFactor;
|
||||||
extern int PlotGridX, PlotGridY, PlotGridXdefault, PlotGridYdefault;
|
extern int PlotGridX, PlotGridY, PlotGridXdefault, PlotGridYdefault, CursorCPos, CursorDPos;
|
||||||
extern int offline;
|
extern int offline;
|
||||||
extern int flushAfterWrite; //buzzy
|
extern int flushAfterWrite; //buzzy
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue