]> git.zerfleddert.de Git - proxmark3-svn/commitdiff
Merge branch 'master' of https://github.com/Proxmark/proxmark3
authorpwpiwi <pwpiwi@users.noreply.github.com>
Thu, 18 Dec 2014 18:42:49 +0000 (19:42 +0100)
committerpwpiwi <pwpiwi@users.noreply.github.com>
Thu, 18 Dec 2014 18:42:49 +0000 (19:42 +0100)
1  2 
armsrc/appmain.c

diff --combined armsrc/appmain.c
index 143b175e5433a9d1e7841c6b42d6548091944f01,0f22ba90fc5fc8aca488240c8943c22d52e00b42..24c0c182e2c2fac89f4fce2975f820e23488c1b6
@@@ -36,8 -36,7 +36,8 @@@
  // is the order in which they go out on the wire.
  //=============================================================================
  
 -uint8_t ToSend[512];
 +#define TOSEND_BUFFER_SIZE (9*MAX_FRAME_SIZE + 1 + 1 + 2)  // 8 data bits and 1 parity bit per payload byte, 1 correction bit, 1 SOC bit, 2 EOC bits 
 +uint8_t ToSend[TOSEND_BUFFER_SIZE];
  int ToSendMax;
  static int ToSendBit;
  struct common_area common_area __attribute__((section(".commonarea")));
@@@ -68,7 -67,7 +68,7 @@@ void ToSendStuffBit(int b
  
        ToSendBit++;
  
 -      if(ToSendBit >= sizeof(ToSend)) {
 +      if(ToSendMax >= sizeof(ToSend)) {
                ToSendBit = 0;
                DbpString("ToSendStuffBit overflowed!");
        }
@@@ -196,11 -195,15 +196,11 @@@ int AvgAdc(int ch) // was static - merl
  
  void MeasureAntennaTuning(void)
  {
 -      uint8_t *dest = (uint8_t *)BigBuf+FREE_BUFFER_OFFSET;
 +      uint8_t LF_Results[256];
        int i, adcval = 0, peak = 0, peakv = 0, peakf = 0; //ptr = 0 
        int vLf125 = 0, vLf134 = 0, vHf = 0;    // in mV
  
 -//    UsbCommand c;
 -
 -  LED_B_ON();
 -      DbpString("Measuring antenna characteristics, please wait...");
 -      memset(dest,0,FREE_BUFFER_SIZE);
 +      LED_B_ON();
  
  /*
   * Sweeps the useful LF range of the proxmark from
    
        FpgaDownloadAndGo(FPGA_BITSTREAM_LF);
        FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);
 -      for (i=255; i>19; i--) {
 +      for (i=255; i>=19; i--) {
      WDT_HIT();
                FpgaSendCommand(FPGA_CMD_SET_DIVISOR, i);
                SpinDelay(20);
                if (i==95)      vLf125 = adcval; // voltage at 125Khz
                if (i==89)      vLf134 = adcval; // voltage at 134Khz
  
 -              dest[i] = adcval>>8; // scale int to fit in byte for graphing purposes
 -              if(dest[i] > peak) {
 +              LF_Results[i] = adcval>>8; // scale int to fit in byte for graphing purposes
 +              if(LF_Results[i] > peak) {
                        peakv = adcval;
 -                      peak = dest[i];
 +                      peak = LF_Results[i];
                        peakf = i;
                        //ptr = i;
                }
        }
  
 -  LED_A_ON();
 +      for (i=18; i >= 0; i--) LF_Results[i] = 0;
 +      
 +      LED_A_ON();
        // Let the FPGA drive the high-frequency antenna around 13.56 MHz.
        FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
        FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_RX_XCORR);
        // can measure voltages up to 33000 mV
        vHf = (33000 * AvgAdc(ADC_CHAN_HF)) >> 10;
  
 -//    c.cmd = CMD_MEASURED_ANTENNA_TUNING;
 -//    c.arg[0] = (vLf125 << 0) | (vLf134 << 16);
 -//    c.arg[1] = vHf;
 -//    c.arg[2] = peakf | (peakv << 16);
 -
 -  DbpString("Measuring complete, sending report back to host");
 -  cmd_send(CMD_MEASURED_ANTENNA_TUNING,vLf125|(vLf134<<16),vHf,peakf|(peakv<<16),0,0);
 -//    UsbSendPacket((uint8_t *)&c, sizeof(c));
 +      cmd_send(CMD_MEASURED_ANTENNA_TUNING,vLf125|(vLf134<<16),vHf,peakf|(peakv<<16),LF_Results,256);
        FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
 -  LED_A_OFF();
 -  LED_B_OFF();
 -  return;
 +      LED_A_OFF();
 +      LED_B_OFF();
 +      return;
  }
  
  void MeasureAntennaTuningHf(void)
@@@ -635,7 -643,7 +635,7 @@@ void UsbPacketReceived(uint8_t *packet
                        cmd_send(CMD_ACK,0,0,0,0,0);
                        break;
                case CMD_HID_DEMOD_FSK:
-                       CmdHIDdemodFSK(0, 0, 0, 1);                                     // Demodulate HID tag
+                       CmdHIDdemodFSK(c->arg[0], 0, 0, 1);                                     // Demodulate HID tag
                        break;
                case CMD_HID_SIM_TAG:
                        CmdHIDsimTAG(c->arg[0], c->arg[1], 1);                                  // Simulate HID tag by ID
                        CopyHIDtoT55x7(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes[0]);
                        break;
                case CMD_IO_DEMOD_FSK:
-                       CmdIOdemodFSK(1, 0, 0, 1);                                      // Demodulate IO tag
+                       CmdIOdemodFSK(c->arg[0], 0, 0, 1);                                      // Demodulate IO tag
                        break;
                case CMD_IO_CLONE_TAG: // Clone IO tag by ID to T55x7
                        CopyIOtoT55x7(c->arg[0], c->arg[1], c->d.asBytes[0]);
Impressum, Datenschutz