]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - winsrc/command.cpp
amp command - amplify sample peaks
[proxmark3-svn] / winsrc / command.cpp
index 3a858ddc7090800c9095210dd4a0a5d4210f3987..c1b3e372d4b09a456fa2b290559b182704ebb11e 100644 (file)
@@ -663,6 +663,15 @@ static void CmdLosim(char *str)
        SendCommand(&c, FALSE);\r
 }\r
 \r
+static void CmdLosimBidir(char *str)\r
+{\r
+       UsbCommand c;\r
+       c.cmd = CMD_LF_SIMULATE_BIDIR;\r
+       c.ext1 = 47; /* Set ADC to twice the carrier for a slight supersampling */\r
+       c.ext2 = 384;\r
+       SendCommand(&c, FALSE);\r
+}\r
+\r
 static void CmdLoread(char *str)\r
 {\r
        UsbCommand c;\r
@@ -1799,6 +1808,40 @@ static void CmdNorm(char *str)
        RepaintGraphWindow();\r
 }\r
 \r
+static void CmdAmp(char *str)\r
+{\r
+       int i, rising, falling;\r
+       int max = INT_MIN, min = INT_MAX;\r
+       for(i = 10; i < GraphTraceLen; i++) {\r
+               if(GraphBuffer[i] > max) {\r
+                       max = GraphBuffer[i];\r
+               }\r
+               if(GraphBuffer[i] < min) {\r
+                       min = GraphBuffer[i];\r
+               }\r
+       }\r
+       if(max != min) {\r
+               rising= falling= 0;\r
+               for(i = 0; i < GraphTraceLen; i++) {\r
+                       if(GraphBuffer[i+1] < GraphBuffer[i]) {\r
+                               if(rising) {\r
+                                       GraphBuffer[i]= max;\r
+                                       rising= 0;\r
+                                       }\r
+                               falling= 1;\r
+                               }\r
+                       if(GraphBuffer[i+1] > GraphBuffer[i]) {\r
+                               if(falling) {\r
+                                       GraphBuffer[i]= min;\r
+                                       falling= 0;\r
+                                       }\r
+                               rising= 1;\r
+                               }\r
+               }\r
+       }\r
+       RepaintGraphWindow();\r
+}\r
+\r
 static void CmdDec(char *str)\r
 {\r
        int i;\r
@@ -2785,6 +2828,7 @@ static struct {
        int             offline;  // 1 if the command can be used when in offline mode\r
        char            *docString;\r
 } CommandTable[] = {\r
+       {"amp",                                 CmdAmp,                                         1, "Amplify peaks"},\r
        {"askdemod",                    Cmdaskdemod,                            1, "<samples per bit> <0|1> -- Attempt to demodulate simple ASK tags"},\r
        {"autocorr",                    CmdAutoCorr,                            1, "<window length> -- Autocorrelation over window"},\r
        {"bitsamples",          CmdBitsamples,                  0, "Get raw samples as bitstring"},\r
@@ -2834,6 +2878,7 @@ static struct {
        {"loread",                              CmdLoread,                                      0, "['h'] -- Read 125/134 kHz LF ID-only tag (option 'h' for 134)"},\r
        {"losamples",                   CmdLosamples,                           0, "[128 - 16000] -- Get raw samples for LF tag"},\r
        {"losim",                                       CmdLosim,                                               0, "Simulate LF tag"},\r
+       {"losimbidir",                                  CmdLosimBidir,                                          0, "Simulate LF tag (with bidirectional data transmission between reader and tag)"},\r
        {"ltrim",                                       CmdLtrim,                                               1, "<samples> -- Trim samples from left of trace"},\r
        {"mandemod",                    Cmdmanchesterdemod,     1, "[i] [clock rate] -- Manchester demodulate binary stream (option 'i' to invert output)"},\r
        {"manmod",                              Cmdmanchestermod,               1, "[clock rate] -- Manchester modulate a binary stream"},\r
@@ -2851,8 +2896,8 @@ static struct {
        {"tiwrite",                             CmdTIWrite,                                     0, "Write new data to a r/w TI 134 kHz tag"},\r
        {"threshold",                   CmdThreshold,                           1, "Maximize/minimize every value in the graph window depending on threshold"},\r
        {"tune",                                        CmdTune,                                                0, "Measure antenna tuning"},\r
-       {"version",                     CmdVersion,                             0, "Show version inforation about the connected Proxmark"},\r
        {"vchdemod",                    CmdVchdemod,                            0, "['clone'] -- Demodulate samples for VeriChip"},\r
+       {"version",                     CmdVersion,                             0, "Show version inforation about the connected Proxmark"},\r
        {"zerocrossings",       CmdZerocrossings,               1, "Count time between zero-crossings"},\r
 };\r
 \r
Impressum, Datenschutz