ADD: added optional parameter to "hw tune" to show graf direct. Sample usage: "hw tune p"
void MeasureAntennaTuning(void)
{
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...");
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
/*
* Sweeps the useful LF range of the proxmark from
RepaintGraphWindow();
return 0;
}
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)
{
int CmdLoad(const char *Cmd)
{
{"buffclear", CmdBuffClear, 1, "Clear sample buffer and graph window"},
{"dec", CmdDec, 1, "Decimate samples"},
{"detectclock", CmdDetectClockRate, 1, "Detect clock rate"},
{"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"},
{"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"},
{"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"},
{"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"},
{"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."},
int CmdThreshold(const char *Cmd);
int CmdDirectionalThreshold(const char *Cmd);
int CmdZerocrossings(const char *Cmd);
int CmdThreshold(const char *Cmd);
int CmdDirectionalThreshold(const char *Cmd);
int CmdZerocrossings(const char *Cmd);
+int CmdTuneSamples(const char *Cmd);
#include "ui.h"
#include "proxmark3.h"
#include "cmdparser.h"
#include "ui.h"
#include "proxmark3.h"
#include "cmdparser.h"
#include "cmdhw.h"
#include "cmdmain.h"
#include "cmdhw.h"
#include "cmdmain.h"
{
UsbCommand c = {CMD_MEASURE_ANTENNA_TUNING};
SendCommand(&c);
{
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("");
+ }