X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/a7247d858b195bd21eeba6d65a882323ad71d030..e70140224f6b9736f01d6cc314687d93a8bb8c97:/armsrc/appmain.c diff --git a/armsrc/appmain.c b/armsrc/appmain.c index c83400da..4077e4ef 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,61 +534,89 @@ 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; +#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(); @@ -601,13 +630,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); @@ -615,13 +648,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; @@ -635,36 +672,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(); @@ -684,6 +733,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; @@ -773,7 +823,9 @@ void __attribute__((noreturn)) AppMain(void) UsbPoll(FALSE); WDT_HIT(); +#ifdef WITH_LF if (BUTTON_HELD(1000) > 0) SamyRun(); +#endif } }