]> cvs.zerfleddert.de Git - proxmark3-svn/commitdiff
ADD: Enio's intuative function for the command: "hw tune", where you plot the tunin...
authoriceman1001 <iceman@iuse.se>
Sun, 30 Nov 2014 18:16:28 +0000 (19:16 +0100)
committericeman1001 <iceman@iuse.se>
Sun, 30 Nov 2014 18:16:28 +0000 (19:16 +0100)
ADD:  added optional parameter to "hw tune" to show graf direct. Sample usage: "hw tune p"

armsrc/appmain.c
client/cmddata.c
client/cmddata.h
client/cmdhw.c

index 18c65e80b7aaef476dea300f7a83a84678a2e2a0..564678279ed6c7904639969f88c0ebad372a4fae 100644 (file)
@@ -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
index 9fa26721f3069c36870da9cf879c08edb525f705..b4752b1f107a8a1a75b8aaf3a08139dbc548ec17 100644 (file)
@@ -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}
 };
 
index 716c9c39c5e118f709ce53c7ebefaa67d14051d6..8073c34cbcc821473da36ebd96ebbed1d1b477ad 100644 (file)
@@ -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
index 68e992765a4ea4c92a3578c12a25d72754a04aed..28cd01bad33d8c1defe6e4f448795514b9bfde45 100644 (file)
@@ -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;
 }
 
Impressum, Datenschutz