X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/f397b5cc874ac7d658173199d92c30f3f717a300..9fc6a167792c48d20a41bc716d85a2e2b0a22b0b:/armsrc/appmain.c?ds=sidebyside

diff --git a/armsrc/appmain.c b/armsrc/appmain.c
index 49718ee8..b107f594 100644
--- a/armsrc/appmain.c
+++ b/armsrc/appmain.c
@@ -171,7 +171,7 @@ static int ReadAdc(int ch)
 	return d;
 }
 
-static int AvgAdc(int ch)
+int AvgAdc(int ch) // was static - merlok
 {
 	int i;
 	int a = 0;
@@ -186,7 +186,7 @@ static int AvgAdc(int ch)
 void MeasureAntennaTuning(void)
 {
 	uint8_t *dest = (uint8_t *)BigBuf;
-	int i, ptr = 0, adcval = 0, peak = 0, peakv = 0, peakf = 0;;
+	int i, adcval = 0, peak = 0, peakv = 0, peakf = 0; //ptr = 0 
 	int vLf125 = 0, vLf134 = 0, vHf = 0;	// in mV
 
 	UsbCommand c;
@@ -217,7 +217,7 @@ void MeasureAntennaTuning(void)
 			peakv = adcval;
 			peak = dest[i];
 			peakf = i;
-			ptr = i;
+			//ptr = i;
 		}
 	}
 
@@ -607,21 +607,41 @@ void UsbPacketReceived(uint8_t *packet, int len)
 			AcquireRawAdcSamples125k(c->arg[0]);
 			UsbSendPacket((uint8_t*)&ack, sizeof(ack));
 			break;
-#endif
-
-#ifdef WITH_LF
 		case CMD_MOD_THEN_ACQUIRE_RAW_ADC_SAMPLES_125K:
 			ModThenAcquireRawAdcSamples125k(c->arg[0],c->arg[1],c->arg[2],c->d.asBytes);
 			break;
+		case CMD_HID_DEMOD_FSK:
+			CmdHIDdemodFSK(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
+			break;
+		case CMD_HID_CLONE_TAG:
+			CopyHIDtoT5567(c->arg[0], c->arg[1]);					// Clone HID tag by ID to T55x7
+			break;
+		case CMD_EM410X_WRITE_TAG:
+			WriteEM410x(c->arg[0], c->arg[1], c->arg[2]);
+			break;
+		case CMD_READ_TI_TYPE:
+			ReadTItag();
+			break;
+		case CMD_WRITE_TI_TYPE:
+			WriteTItag(c->arg[0],c->arg[1],c->arg[2]);
+			break;
+		case CMD_SIMULATE_TAG_125K:
+			LED_A_ON();
+			SimulateTagLowFrequency(c->arg[0], c->arg[1], 1);
+			LED_A_OFF();
+			break;
+		case CMD_LF_SIMULATE_BIDIR:
+			SimulateTagLowFrequencyBidir(c->arg[0], c->arg[1]);
+			break;
 #endif
 
 #ifdef WITH_ISO15693
 		case CMD_ACQUIRE_RAW_ADC_SAMPLES_ISO_15693:
 			AcquireRawAdcSamplesIso15693();
 			break;
-#endif
-
-#ifdef WITH_ISO15693
 		case CMD_RECORD_RAW_ADC_SAMPLES_ISO_15693:
 			RecordRawAdcSamplesIso15693();
 			break;
@@ -637,64 +657,61 @@ void UsbPacketReceived(uint8_t *packet, int len)
 		case CMD_ISO_15693_DEBUG:
 			SetDebugIso15693(c->arg[0]);
 			break;
-			
-#endif
-		case CMD_BUFF_CLEAR:
-			BufferClear();
-			break;
 
-#ifdef WITH_ISO15693
 		case CMD_READER_ISO_15693:
 			ReaderIso15693(c->arg[0]);
 			break;
+		case CMD_SIMTAG_ISO_15693:
+			SimTagIso15693(c->arg[0]);
+			break;
 #endif
 
-        case CMD_SIMULATE_TAG_LEGIC_RF:
-            LegicRfSimulate(c->arg[0], c->arg[1], c->arg[2]);
-            break;
+#ifdef WITH_LEGICRF
+		case CMD_SIMULATE_TAG_LEGIC_RF:
+			LegicRfSimulate(c->arg[0], c->arg[1], c->arg[2]);
+			break;
 
-        case CMD_WRITER_LEGIC_RF:
-            LegicRfWriter(c->arg[1], c->arg[0]);
-            break;
+		case CMD_WRITER_LEGIC_RF:
+			LegicRfWriter(c->arg[1], c->arg[0]);
+			break;
 
 		case CMD_READER_LEGIC_RF:
 			LegicRfReader(c->arg[0], c->arg[1]);
 			break;
-
-#ifdef WITH_ISO15693
-		case CMD_SIMTAG_ISO_15693:
-			SimTagIso15693(c->arg[0]);
-			break;
 #endif
 
 #ifdef WITH_ISO14443b
 		case CMD_ACQUIRE_RAW_ADC_SAMPLES_ISO_14443:
 			AcquireRawAdcSamplesIso14443(c->arg[0]);
 			break;
-#endif
-
-#ifdef WITH_ISO14443b
 		case CMD_READ_SRI512_TAG:
 			ReadSRI512Iso14443(c->arg[0]);
 			break;
-               case CMD_READ_SRIX4K_TAG:
-                       ReadSRIX4KIso14443(c->arg[0]);
-                       break;
+		case CMD_READ_SRIX4K_TAG:
+			ReadSRIX4KIso14443(c->arg[0]);
+			break;
+		case CMD_SNOOP_ISO_14443:
+			SnoopIso14443();
+			break;
+		case CMD_SIMULATE_TAG_ISO_14443:
+			SimulateIso14443Tag();
+			break;
 #endif
 
 #ifdef WITH_ISO14443a
+		case CMD_SNOOP_ISO_14443a:
+			SnoopIso14443a();
+			break;
 		case CMD_READER_ISO_14443a:
 			ReaderIso14443a(c, &ack);
 			break;
-#endif
-
-#ifdef WITH_ISO14443a
+		case CMD_SIMULATE_TAG_ISO_14443a:
+			SimulateIso14443aTag(c->arg[0], c->arg[1], c->arg[2]);  // ## Simulate iso14443a tag - pass tag type & UID
+			break;
+			
 		case CMD_READER_MIFARE:
 			ReaderMifare(c->arg[0]);
 			break;
-#endif
-
-#ifdef WITH_ISO14443a
 		case CMD_MIFARE_READBL:
 			MifareReadBlock(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes);
 			break;
@@ -713,43 +730,45 @@ void UsbPacketReceived(uint8_t *packet, int len)
 		case CMD_SIMULATE_MIFARE_CARD:
 			Mifare1ksim(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes);
 			break;
-			
-#endif
-
-#ifdef WITH_ISO14443b
-		case CMD_SNOOP_ISO_14443:
-			SnoopIso14443();
+		
+		// emulator
+		case CMD_MIFARE_SET_DBGMODE:
+			MifareSetDbgLvl(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes);
 			break;
-#endif
-
-#ifdef WITH_ISO14443a
-		case CMD_SNOOP_ISO_14443a:
-			SnoopIso14443a();
+		case CMD_MIFARE_EML_MEMCLR:
+			MifareEMemClr(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes);
+			break;
+		case CMD_MIFARE_EML_MEMSET:
+			MifareEMemSet(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes);
+			break;
+		case CMD_MIFARE_EML_MEMGET:
+			MifareEMemGet(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes);
+			break;
+		case CMD_MIFARE_EML_CARDLOAD:
+			MifareECardLoad(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes);
 			break;
 #endif
 
-#ifdef WITH_ISO14443a
+#ifdef WITH_ICLASS
 		// Makes use of ISO14443a FPGA Firmware
 		case CMD_SNOOP_ICLASS:
 			SnoopIClass();
 			break;
+		case CMD_SIMULATE_TAG_ICLASS:
+			SimulateIClass(c->arg[0], c->d.asBytes);
+			break;
+		case CMD_READER_ICLASS:
+			ReaderIClass(c->arg[0]);
+			break;
 #endif
 
 		case CMD_SIMULATE_TAG_HF_LISTEN:
 			SimulateTagHfListen();
 			break;
 
-#ifdef WITH_ISO14443b
-		case CMD_SIMULATE_TAG_ISO_14443:
-			SimulateIso14443Tag();
-			break;
-#endif
-
-#ifdef WITH_ISO14443a
-		case CMD_SIMULATE_TAG_ISO_14443a:
-			SimulateIso14443aTag(c->arg[0], c->arg[1]);  // ## Simulate iso14443a tag - pass tag type & UID
+		case CMD_BUFF_CLEAR:
+			BufferClear();
 			break;
-#endif
 
 		case CMD_MEASURE_ANTENNA_TUNING:
 			MeasureAntennaTuning();
@@ -763,36 +782,12 @@ void UsbPacketReceived(uint8_t *packet, int len)
 			ListenReaderField(c->arg[0]);
 			break;
 
-#ifdef WITH_LF
-		case CMD_HID_DEMOD_FSK:
-			CmdHIDdemodFSK(0, 0, 0, 1);				// Demodulate HID tag
-			break;
-#endif
-
-#ifdef WITH_LF
-		case CMD_HID_SIM_TAG:
-			CmdHIDsimTAG(c->arg[0], c->arg[1], 1);					// Simulate HID tag by ID
-			break;
-#endif
-
 		case CMD_FPGA_MAJOR_MODE_OFF:		// ## FPGA Control
 			FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
 			SpinDelay(200);
 			LED_D_OFF(); // LED D indicates field ON or OFF
 			break;
 
-#ifdef WITH_LF
-		case CMD_READ_TI_TYPE:
-			ReadTItag();
-			break;
-#endif
-
-#ifdef WITH_LF
-		case CMD_WRITE_TI_TYPE:
-			WriteTItag(c->arg[0],c->arg[1],c->arg[2]);
-			break;
-#endif
-
 		case CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K: {
 			UsbCommand n;
 			if(c->cmd == CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K) {
@@ -816,14 +811,6 @@ void UsbPacketReceived(uint8_t *packet, int len)
 			break;
 		}
 
-#ifdef WITH_LF
-		case CMD_SIMULATE_TAG_125K:
-			LED_A_ON();
-			SimulateTagLowFrequency(c->arg[0], c->arg[1], 1);
-			LED_A_OFF();
-			break;
-#endif
-
 		case CMD_READ_MEM:
 			ReadMem(c->arg[0]);
 			break;
@@ -846,9 +833,7 @@ void UsbPacketReceived(uint8_t *packet, int len)
 			break;
 
 #ifdef WITH_LF
-		case CMD_LF_SIMULATE_BIDIR:
-			SimulateTagLowFrequencyBidir(c->arg[0], c->arg[1]);
-			break;
+
 #endif
 
 #ifdef WITH_LCD
@@ -930,6 +915,8 @@ void  __attribute__((noreturn)) AppMain(void)
 	// Load the FPGA image, which we have stored in our flash.
 	FpgaDownloadAndGo();
 
+	StartTickCount();
+	
 #ifdef WITH_LCD
 
 	LCDInit();