diff --git a/armsrc/iso15693.c b/armsrc/iso15693.c index 14c694c32..16912029b 100644 --- a/armsrc/iso15693.c +++ b/armsrc/iso15693.c @@ -994,16 +994,15 @@ void ReaderIso15693(uint32_t parameter) void SimTagIso15693(uint32_t parameter, uint8_t *uid) { LED_A_ON(); - LED_B_ON(); - LED_C_OFF(); - LED_D_OFF(); - int answerLen1 = 0; + int ans = 0; int samples = 0; int tsamples = 0; int wait = 0; int elapsed = 0; + Dbprintf("iso15963 Simulating uid: %x %x %x %x %x %x %x %x", uid[0], uid[1], uid[2], uid[3], uid[4], uid[5], uid[6], uid[7]); + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); uint8_t *buf = BigBuf_malloc(100); @@ -1016,36 +1015,29 @@ void SimTagIso15693(uint32_t parameter, uint8_t *uid) FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); SpinDelay(200); - LED_A_OFF(); - LED_B_OFF(); LED_C_ON(); - LED_D_OFF(); + // Build a suitable reponse to the reader INVENTORY cocmmand + // not so obsvious, but in the call to BuildInventoryResponse, the command is copied to the global ToSend buffer used below. + BuildInventoryResponse(uid); + while(!BUTTON_PRESS() && !usb_poll_validate_length() ) { WDT_HIT(); // Listen to reader - answerLen1 = GetIso15693AnswerFromSniff(buf, 100, &samples, &elapsed) ; + ans = GetIso15693AnswerFromSniff(buf, 100, &samples, &elapsed) ; - if (answerLen1 >=1) // we should do a better check than this - { - // Build a suitable reponse to the reader INVENTORY cocmmand - // not so obsvious, but in the call to BuildInventoryResponse, the command is copied to the global ToSend buffer used below. + // we should do a better check than this + if (ans >=1 ) { + TransmitTo15693Reader(ToSend, ToSendMax, &tsamples, &wait); - BuildInventoryResponse(uid); - - TransmitTo15693Reader(ToSend,ToSendMax, &tsamples, &wait); - } - - Dbprintf("%d octets read from reader command: %x %x %x %x %x %x %x %x %x", answerLen1, + Dbprintf("%d octets read from reader command: %x %x %x %x %x %x %x %x %x", ans, buf[0], buf[1], buf[2], buf[3], buf[4], buf[5], buf[6], buf[7], buf[8]); - - Dbprintf("Simulationg uid: %x %x %x %x %x %x %x %x", - uid[0], uid[1], uid[2], uid[3], - uid[4], uid[5], uid[6], uid[7]); + } } LEDsoff(); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); }