Eric Betts 2 år sedan
förälder
incheckning
d373ea4d99
1 ändrade filer med 14 tillägg och 22 borttagningar
  1. 14 22
      seader_worker.c

+ 14 - 22
seader_worker.c

@@ -454,12 +454,17 @@ static uint16_t seader_worker_picopass_calculate_ccitt(
     return crc;
 }
 
-/*
-void seader_capture_sio(
-    uint8_t* buffer,
-    size_t len,
-    uint8_t* rxBuffer,
-    SeaderCredential* credential) {
+uint8_t read4Block6[] = {0x06, 0x06, 0x45, 0x56};
+uint8_t read4Block9[] = {0x06, 0x09, 0xB2, 0xAE};
+uint8_t read4Block10[] = {0x06, 0x0A, 0x29, 0x9C};
+uint8_t read4Block13[] = {0x06, 0x0D, 0x96, 0xE8};
+uint8_t updateBlock2[] = {0x87, 0x02}; // TODO
+
+void seader_capture_sio(BitBuffer* tx_buffer, BitBuffer* rx_buffer, SeaderCredential* credential) {
+    const uint8_t* buffer = bit_buffer_get_data(tx_buffer);
+    size_t len = bit_buffer_get_size_bytes(tx_buffer);
+    const uint8_t* rxBuffer = bit_buffer_get_data(rx_buffer);
+
     if(memcmp(buffer, read4Block6, len) == 0 && rxBuffer[0] == 0x30) {
         memcpy(credential->sio, rxBuffer, 32);
     } else if(memcmp(buffer, read4Block10, len) == 0 && rxBuffer[0] == 0x30) {
@@ -470,13 +475,6 @@ void seader_capture_sio(
         memcpy(credential->sio + 32, rxBuffer + 8, 24);
     }
 }
-*/
-
-uint8_t read4Block6[] = {0x06, 0x06, 0x45, 0x56};
-uint8_t read4Block9[] = {0x06, 0x09, 0xB2, 0xAE};
-uint8_t read4Block10[] = {0x06, 0x0A, 0x29, 0x9C};
-uint8_t read4Block13[] = {0x06, 0x0D, 0x96, 0xE8};
-uint8_t updateBlock2[] = {0x87, 0x02}; // TODO
 
 PicopassError seader_worker_fake_epurse_update(BitBuffer* tx_buffer, BitBuffer* rx_buffer) {
     const uint8_t* buffer = bit_buffer_get_data(tx_buffer);
@@ -513,8 +511,7 @@ void seader_iso15693_transmit(Seader* seader, uint8_t* buffer, size_t len) {
     PicopassError error = PicopassErrorNone;
 
     do {
-        bit_buffer_append_bytes(
-            tx_buffer, buffer, len); // TODO: could this be a `bit_buffer_copy_bytes` ?
+        bit_buffer_append_bytes(tx_buffer, buffer, len);
 
         if(memcmp(buffer, updateBlock2, sizeof(updateBlock2)) == 0) {
             error = seader_worker_fake_epurse_update(tx_buffer, rx_buffer);
@@ -531,7 +528,7 @@ void seader_iso15693_transmit(Seader* seader, uint8_t* buffer, size_t len) {
             break;
         }
 
-        // seader_capture_sio(buffer, len, rxBuffer, credential);
+        seader_capture_sio(tx_buffer, rx_buffer, seader->credential);
         seader_send_nfc_rx(
             seader_uart,
             (uint8_t*)bit_buffer_get_data(rx_buffer),
@@ -564,9 +561,7 @@ void seader_iso14443a_transmit(
     BitBuffer* rx_buffer = bit_buffer_alloc(SEADER_POLLER_MAX_BUFFER_SIZE);
 
     do {
-        // bit_buffer_reset(tx_buffer);
-        bit_buffer_append_bytes(
-            tx_buffer, buffer, len); // TODO: could this be a `bit_buffer_copy_bytes` ?
+        bit_buffer_append_bytes(tx_buffer, buffer, len);
 
         Iso14443_4aError error = iso14443_4a_poller_send_block(
             (Iso14443_4aPoller*)iso14443_4a_poller, tx_buffer, rx_buffer);
@@ -576,9 +571,6 @@ void seader_iso14443a_transmit(
             break;
         }
 
-        FURI_LOG_I(TAG, "NFC incoming %d bytes", bit_buffer_get_size_bytes(rx_buffer));
-        //    iso14443_4a_copy(instance->data->iso14443_4a_data, iso14443_4a_poller_get_data(instance->iso14443_4a_poller));
-
         seader_send_nfc_rx(
             seader_uart,
             (uint8_t*)bit_buffer_get_data(rx_buffer),