mirror of
https://gitlab.com/fabinfra/fabhardware/fabreader.git
synced 2025-04-20 17:46:26 +02:00
Fixed CRC
This commit is contained in:
parent
b747c07945
commit
2e9b11afc4
@ -116,19 +116,24 @@ MFRC522::StatusCode NFC::Transceive(byte* command, byte command_len, byte* respo
|
||||
pcb = 0x0A;
|
||||
|
||||
// Calculate CRC_A
|
||||
state = rfid->PCD_CalculateCRC(request_buffer, request_buffer_size, &request_buffer[request_buffer_size - 2]);
|
||||
state = rfid->PCD_CalculateCRC(request_buffer, request_buffer_size - 2, &request_buffer[request_buffer_size - 2]);
|
||||
if (state != MFRC522::STATUS_OK)
|
||||
{
|
||||
return state;
|
||||
}
|
||||
|
||||
byte response_buffer[APDU_BUFFER_SIZE + 4]; // APDU Size + PCB + CID + 2x CRC
|
||||
byte response_buffer_size;
|
||||
|
||||
printbytes(request_buffer, request_buffer_size);
|
||||
|
||||
state = rfid->PCD_TransceiveData(request_buffer, request_buffer_size, response, response_len);
|
||||
state = rfid->PCD_TransceiveData(request_buffer, request_buffer_size, response_buffer, &response_buffer_size);
|
||||
if (state != MFRC522::STATUS_OK)
|
||||
{
|
||||
return state;
|
||||
}
|
||||
|
||||
memcpy(response, response_buffer + 2, response_buffer_size - 4);
|
||||
*response_len = response_buffer_size - 4;
|
||||
|
||||
return state;
|
||||
}
|
@ -29,7 +29,7 @@ void loop()
|
||||
|
||||
byte request_buffer[APDU_BUFFER_SIZE] = {0x90, 0x5A, 0x00, 0x00, 0x03, 0x42, 0x41, 0x46, 0x00};
|
||||
byte request_buffer_size = 9;
|
||||
byte response_buffer[APDU_BUFFER_SIZE];
|
||||
byte response_buffer[APDU_BUFFER_SIZE] = {0};
|
||||
byte response_buffer_size;
|
||||
printbytes(request_buffer, request_buffer_size);
|
||||
|
||||
@ -42,6 +42,15 @@ void loop()
|
||||
Serial.println("Data Exchange complete");
|
||||
printbytes(response_buffer, response_buffer_size);
|
||||
|
||||
state = nfc->Transceive(request_buffer, request_buffer_size, response_buffer, &response_buffer_size);
|
||||
if (state != MFRC522::STATUS_OK)
|
||||
{
|
||||
Serial.println("Data Exchange failed");
|
||||
Serial.println(state);
|
||||
}
|
||||
Serial.println("Data Exchange complete");
|
||||
printbytes(response_buffer, response_buffer_size);
|
||||
|
||||
nfc->disconnectCard();
|
||||
Serial.println("Card disconnected");
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user