X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/dcc10e5e310a9e652e698593b7ba34bacbdd2b80..f11f5c2738af711fa4fa0f56d01114f569858a1f:/armsrc/appmain.c diff --git a/armsrc/appmain.c b/armsrc/appmain.c index fb501304..81ef407a 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -267,6 +267,7 @@ void SendVersion(void) DbpString(temp); } +#ifdef WITH_LF // samy's sniff and repeat routine void SamyRun() { @@ -377,7 +378,7 @@ void SamyRun() } } } - +#endif /* OBJECTIVE @@ -533,65 +534,92 @@ void UsbPacketReceived(BYTE *packet, int len) UsbCommand *c = (UsbCommand *)packet; switch(c->cmd) { +#ifdef WITH_LF case CMD_ACQUIRE_RAW_ADC_SAMPLES_125K: AcquireRawAdcSamples125k(c->ext1); break; +#endif +#ifdef WITH_LF case CMD_MOD_THEN_ACQUIRE_RAW_ADC_SAMPLES_125K: ModThenAcquireRawAdcSamples125k(c->ext1,c->ext2,c->ext3,c->d.asBytes); break; +#endif +#ifdef WITH_ISO15693 case CMD_ACQUIRE_RAW_ADC_SAMPLES_ISO_15693: AcquireRawAdcSamplesIso15693(); break; +#endif case CMD_BUFF_CLEAR: BufferClear(); break; +#ifdef WITH_ISO15693 case CMD_READER_ISO_15693: ReaderIso15693(c->ext1); break; +#endif case CMD_READER_LEGIC_RF: LegicRfReader(); break; +#ifdef WITH_ISO15693 case CMD_SIMTAG_ISO_15693: SimTagIso15693(c->ext1); break; +#endif +#ifdef WITH_ISO14443b case CMD_ACQUIRE_RAW_ADC_SAMPLES_ISO_14443: AcquireRawAdcSamplesIso14443(c->ext1); break; +#endif +#ifdef WITH_ISO14443b case CMD_READ_SRI512_TAG: ReadSRI512Iso14443(c->ext1); break; + case CMD_READ_SRIX4K_TAG: + ReadSRIX4KIso14443(c->ext1); + break; +#endif +#ifdef WITH_ISO14443a case CMD_READER_ISO_14443a: ReaderIso14443a(c->ext1); break; +#endif +#ifdef WITH_ISO14443b case CMD_SNOOP_ISO_14443: SnoopIso14443(); break; +#endif +#ifdef WITH_ISO14443a case CMD_SNOOP_ISO_14443a: SnoopIso14443a(); 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->ext1, c->ext2); // ## Simulate iso14443a tag - pass tag type & UID break; +#endif case CMD_SIMULATE_TAG_LEGIC_RF: LegicRfSimulate(); @@ -605,13 +633,17 @@ void UsbPacketReceived(BYTE *packet, int len) ListenReaderField(c->ext1); 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->ext1, c->ext2, 1); // Simulate HID tag by ID break; +#endif case CMD_FPGA_MAJOR_MODE_OFF: // ## FPGA Control FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); @@ -619,13 +651,17 @@ void UsbPacketReceived(BYTE *packet, int len) 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->ext1,c->ext2,c->ext3); break; +#endif case CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K: { UsbCommand n; @@ -639,36 +675,48 @@ void UsbPacketReceived(BYTE *packet, int len) UsbSendPacket((BYTE *)&n, sizeof(n)); break; } + case CMD_DOWNLOADED_SIM_SAMPLES_125K: { BYTE *b = (BYTE *)BigBuf; memcpy(b+c->ext1, c->d.asBytes, 48); break; } + +#ifdef WITH_LF case CMD_SIMULATE_TAG_125K: LED_A_ON(); SimulateTagLowFrequency(c->ext1, 1); LED_A_OFF(); break; +#endif + case CMD_READ_MEM: ReadMem(c->ext1); break; + case CMD_SET_LF_DIVISOR: FpgaSendCommand(FPGA_CMD_SET_DIVISOR, c->ext1); break; + case CMD_SET_ADC_MUX: switch(c->ext1) { - case 0: SetAdcMuxFor(GPIO_MUXSEL_LOPKD); break; - case 1: SetAdcMuxFor(GPIO_MUXSEL_LORAW); break; - case 2: SetAdcMuxFor(GPIO_MUXSEL_HIPKD); break; - case 3: SetAdcMuxFor(GPIO_MUXSEL_HIRAW); break; + case 0: SetAdcMuxFor(GPIO_MUXSEL_LOPKD); break; + case 1: SetAdcMuxFor(GPIO_MUXSEL_LORAW); break; + case 2: SetAdcMuxFor(GPIO_MUXSEL_HIPKD); break; + case 3: SetAdcMuxFor(GPIO_MUXSEL_HIRAW); break; } break; + case CMD_VERSION: SendVersion(); break; + +#ifdef WITH_LF case CMD_LF_SIMULATE_BIDIR: SimulateTagLowFrequencyBidir(c->ext1, c->ext2); break; +#endif + #ifdef WITH_LCD case CMD_LCD_RESET: LCDReset(); @@ -688,6 +736,7 @@ void UsbPacketReceived(BYTE *packet, int len) // We're going to reset, and the bootrom will take control. } break; + case CMD_START_FLASH: if(common_area.flags.bootrom_present) { common_area.command = COMMON_AREA_COMMAND_ENTER_FLASH_MODE; @@ -777,7 +826,9 @@ void __attribute__((noreturn)) AppMain(void) UsbPoll(FALSE); WDT_HIT(); +#ifdef WITH_LF if (BUTTON_HELD(1000) > 0) SamyRun(); +#endif } }