mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-14 02:27:26 -07:00
ADD: Enio's intuative function for the command: "hw tune", where you plot the tuning-data :)
ADD: added optional parameter to "hw tune" to show graf direct. Sample usage: "hw tune p"
This commit is contained in:
parent
06b58a94f0
commit
02306bac2d
4 changed files with 39 additions and 4 deletions
|
@ -168,13 +168,13 @@ int AvgAdc(int ch) // was static - merlok
|
|||
|
||||
void MeasureAntennaTuning(void)
|
||||
{
|
||||
uint8_t *dest = (uint8_t *)BigBuf+FREE_BUFFER_OFFSET;
|
||||
uint8_t *dest = (uint8_t *)BigBuf + FREE_BUFFER_OFFSET;
|
||||
int i, adcval = 0, peak = 0, peakv = 0, peakf = 0; //ptr = 0
|
||||
int vLf125 = 0, vLf134 = 0, vHf = 0; // in mV
|
||||
|
||||
LED_B_ON();
|
||||
DbpString("Measuring antenna characteristics, please wait...");
|
||||
memset(dest,0,sizeof(FREE_BUFFER_SIZE));
|
||||
memset(dest,0,FREE_BUFFER_SIZE);
|
||||
|
||||
/*
|
||||
* Sweeps the useful LF range of the proxmark from
|
||||
|
|
|
@ -475,6 +475,25 @@ int CmdSamples(const char *Cmd)
|
|||
RepaintGraphWindow();
|
||||
return 0;
|
||||
}
|
||||
int CmdTuneSamples(const char *Cmd)
|
||||
{
|
||||
int cnt = 0;
|
||||
int n = 255;
|
||||
uint8_t got[255] = {0x00};
|
||||
|
||||
PrintAndLog("Reading %d samples\n", n);
|
||||
GetFromBigBuf(got,n,7256); // armsrc/apps.h: #define FREE_BUFFER_OFFSET 7256
|
||||
WaitForResponse(CMD_ACK,NULL);
|
||||
for (int j = 0; j < n; j++) {
|
||||
GraphBuffer[cnt++] = ((int)got[j]) - 128;
|
||||
}
|
||||
|
||||
PrintAndLog("Done! Divisor 89 is 134khz, 95 is 125khz.\n");
|
||||
GraphTraceLen = n;
|
||||
RepaintGraphWindow();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int CmdLoad(const char *Cmd)
|
||||
{
|
||||
|
@ -909,6 +928,7 @@ static command_t CommandTable[] =
|
|||
{"buffclear", CmdBuffClear, 1, "Clear sample buffer and graph window"},
|
||||
{"dec", CmdDec, 1, "Decimate samples"},
|
||||
{"detectclock", CmdDetectClockRate, 1, "Detect clock rate"},
|
||||
{"dirthreshold", CmdDirectionalThreshold, 1, "<thres up> <thres down> -- Max rising higher up-thres/ Min falling lower down-thres, keep rest as prev."},
|
||||
{"fskdemod", CmdFSKdemod, 1, "Demodulate graph window as a HID FSK"},
|
||||
{"grid", CmdGrid, 1, "<x> <y> -- overlay grid on graph window, use zero value to turn off either"},
|
||||
{"hexsamples", CmdHexsamples, 0, "<bytes> [<offset>] -- Dump big buffer as hex bytes"},
|
||||
|
@ -924,8 +944,8 @@ static command_t CommandTable[] =
|
|||
{"save", CmdSave, 1, "<filename> -- Save trace (from graph window)"},
|
||||
{"scale", CmdScale, 1, "<int> -- Set cursor display scale"},
|
||||
{"threshold", CmdThreshold, 1, "<threshold> -- Maximize/minimize every value in the graph window depending on threshold"},
|
||||
{"tune", CmdTuneSamples, 0, "Get hw tune samples for graph window"},
|
||||
{"zerocrossings", CmdZerocrossings, 1, "Count time between zero-crossings"},
|
||||
{"dirthreshold", CmdDirectionalThreshold, 1, "<thres up> <thres down> -- Max rising higher up-thres/ Min falling lower down-thres, keep rest as prev."},
|
||||
{NULL, NULL, 0, NULL}
|
||||
};
|
||||
|
||||
|
|
|
@ -40,5 +40,5 @@ int CmdScale(const char *Cmd);
|
|||
int CmdThreshold(const char *Cmd);
|
||||
int CmdDirectionalThreshold(const char *Cmd);
|
||||
int CmdZerocrossings(const char *Cmd);
|
||||
|
||||
int CmdTuneSamples(const char *Cmd);
|
||||
#endif
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#include "ui.h"
|
||||
#include "proxmark3.h"
|
||||
#include "cmdparser.h"
|
||||
#include "cmddata.h"
|
||||
#include "cmdhw.h"
|
||||
#include "cmdmain.h"
|
||||
|
||||
|
@ -392,6 +393,20 @@ int CmdTune(const char *Cmd)
|
|||
{
|
||||
UsbCommand c = {CMD_MEASURE_ANTENNA_TUNING};
|
||||
SendCommand(&c);
|
||||
|
||||
char cmdp = param_getchar(Cmd, 0);
|
||||
if (cmdp == 'h' || cmdp == 'H') {
|
||||
PrintAndLog("Usage: hw tune <p>");
|
||||
PrintAndLog("");
|
||||
PrintAndLog(" sample: hw tune");
|
||||
PrintAndLog(" hw tune p");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if ( cmdp == 'p' || cmdp == 'P'){
|
||||
ShowGraphWindow();
|
||||
CmdTuneSamples("");
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue