uint8_t byte, crc, calcCrc = 0;
uint32_t cmd = (index << 1) | LEGIC_READ;
-
- //WaitTicks(366);
- WaitTicks(330);
+
+ // 90ticks = 60us (should be 100us but crc calc takes time.)
+ //WaitTicks(330); // 330ticks prng(4) - works
+ WaitTicks(240); // 240ticks prng(3) - works
frame_sendAsReader(cmd, cmd_sz);
frame_receiveAsReader(¤t_frame, 12);
return -1;
}
- legic_prng_forward(4);
+ legic_prng_forward(3);
return byte;
}
setup_phase_reader(iv);
LED_B_ON();
- while (i <= len) {
+ while (i < len) {
int r = legic_read_byte(offset + i, card.cmdsize);
if (r == -1 || BUTTON_PRESS()) {
}
cmd_send(CMD_ACK, 1, 0, 0, buf, sizeof(legic_card_select_t));
-
+
OUT:
switch_off_tag_rwd();
LEDsoff();