\r
#remove one of the following defines and comment out the relevant line\r
#in the next section to remove that particular feature from compilation \r
-APP_CFLAGS = -O6 -DWITH_ISO15693 -DWITH_ISO14443a -DWITH_ISO14443b\r
-#-DWITH_LCD\r
+APP_CFLAGS = -O6 -DWITH_LF -DWITH_ISO15693 -DWITH_ISO14443a -DWITH_ISO14443b\r
+#-DWITH_LCD \r
\r
#SRC_LCD = fonts.c LCD.c\r
+SRC_LF = lfops.c hitag2.c\r
SRC_ISO15693 = iso15693.c\r
SRC_ISO14443a = iso14443a.c\r
SRC_ISO14443b = iso14443.c\r
THUMBSRC = start.c \\r
$(SRC_LCD) \\r
$(SRC_ISO15693) \\r
+ $(SRC_LF) \\r
appmain.c \\r
- lfops.c \\r
util.c \\r
- hitag2.c \\r
usb.c\r
\r
# These are to be compiled in ARM mode\r
DbpString(temp);\r
}\r
\r
+#ifdef DWITH_LF\r
// samy's sniff and repeat routine\r
void SamyRun()\r
{\r
}\r
}\r
}\r
-\r
+#endif\r
\r
/*\r
OBJECTIVE\r
UsbCommand *c = (UsbCommand *)packet;\r
\r
switch(c->cmd) {\r
+#ifdef DWITH_LF\r
case CMD_ACQUIRE_RAW_ADC_SAMPLES_125K:\r
AcquireRawAdcSamples125k(c->ext1);\r
break;\r
+#endif\r
\r
+#ifdef DWITH_LF\r
case CMD_MOD_THEN_ACQUIRE_RAW_ADC_SAMPLES_125K:\r
ModThenAcquireRawAdcSamples125k(c->ext1,c->ext2,c->ext3,c->d.asBytes);\r
break;\r
+#endif\r
\r
#ifdef WITH_ISO15693\r
case CMD_ACQUIRE_RAW_ADC_SAMPLES_ISO_15693:\r
ListenReaderField(c->ext1);\r
break;\r
\r
+#ifdef DWITH_LF\r
case CMD_HID_DEMOD_FSK:\r
CmdHIDdemodFSK(0, 0, 0, 1); // Demodulate HID tag\r
break;\r
+#endif\r
\r
+#ifdef DWITH_LF\r
case CMD_HID_SIM_TAG:\r
CmdHIDsimTAG(c->ext1, c->ext2, 1); // Simulate HID tag by ID\r
break;\r
+#endif\r
\r
case CMD_FPGA_MAJOR_MODE_OFF: // ## FPGA Control\r
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);\r
LED_D_OFF(); // LED D indicates field ON or OFF\r
break;\r
\r
+#ifdef DWITH_LF\r
case CMD_READ_TI_TYPE:\r
ReadTItag();\r
break;\r
+#endif\r
\r
+#ifdef DWITH_LF\r
case CMD_WRITE_TI_TYPE:\r
WriteTItag(c->ext1,c->ext2,c->ext3);\r
break;\r
+#endif\r
\r
case CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K: {\r
UsbCommand n;\r
UsbSendPacket((BYTE *)&n, sizeof(n));\r
break;\r
}\r
+\r
case CMD_DOWNLOADED_SIM_SAMPLES_125K: {\r
BYTE *b = (BYTE *)BigBuf;\r
memcpy(b+c->ext1, c->d.asBytes, 48);\r
break;\r
}\r
+\r
+#ifdef DWITH_LF\r
case CMD_SIMULATE_TAG_125K:\r
LED_A_ON();\r
SimulateTagLowFrequency(c->ext1, 1);\r
LED_A_OFF();\r
break;\r
+#endif\r
+\r
case CMD_READ_MEM:\r
ReadMem(c->ext1);\r
break;\r
+\r
case CMD_SET_LF_DIVISOR:\r
FpgaSendCommand(FPGA_CMD_SET_DIVISOR, c->ext1);\r
break;\r
+\r
case CMD_SET_ADC_MUX:\r
switch(c->ext1) {\r
- case 0: SetAdcMuxFor(GPIO_MUXSEL_LOPKD); break;\r
- case 1: SetAdcMuxFor(GPIO_MUXSEL_LORAW); break;\r
- case 2: SetAdcMuxFor(GPIO_MUXSEL_HIPKD); break;\r
- case 3: SetAdcMuxFor(GPIO_MUXSEL_HIRAW); break;\r
+ case 0: SetAdcMuxFor(GPIO_MUXSEL_LOPKD); break;\r
+ case 1: SetAdcMuxFor(GPIO_MUXSEL_LORAW); break;\r
+ case 2: SetAdcMuxFor(GPIO_MUXSEL_HIPKD); break;\r
+ case 3: SetAdcMuxFor(GPIO_MUXSEL_HIRAW); break;\r
}\r
break;\r
+\r
case CMD_VERSION:\r
SendVersion();\r
break;\r
+\r
+#ifdef DWITH_LF\r
case CMD_LF_SIMULATE_BIDIR:\r
SimulateTagLowFrequencyBidir(c->ext1, c->ext2);\r
break;\r
+#endif\r
+\r
#ifdef WITH_LCD\r
case CMD_LCD_RESET:\r
LCDReset();\r
// We're going to reset, and the bootrom will take control.\r
}\r
break;\r
+\r
case CMD_START_FLASH:\r
if(common_area.flags.bootrom_present) {\r
common_area.command = COMMON_AREA_COMMAND_ENTER_FLASH_MODE;\r
UsbPoll(FALSE);\r
WDT_HIT();\r
\r
+#ifdef DWITH_LF\r
if (BUTTON_HELD(1000) > 0)\r
SamyRun();\r
+#endif\r
}\r
}\r