mfrc522 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/mfrc522.rb +8 -4
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9428817820b5c88cd3cff12e41b08d10c04d9059
4
- data.tar.gz: 5b47fcf6a136886d21b45b5afbacff6493926b9c
3
+ metadata.gz: 3bc5f3921bd767b79efbdbd0d21a6ee673c1ac15
4
+ data.tar.gz: 564343a2457082eb7d394a0a8f6d7f7dfe0f2e94
5
5
  SHA512:
6
- metadata.gz: 8b8df55a9798f3c3d91cf359b341f0ff42871dc7530e9b06e2504d517de20083c772fcb528d01b623a5e9d2e27a32add5fc6bfca66ab0fde499eaf02cb6ba8c6
7
- data.tar.gz: 205c14b4031c9ec0dd11e7ce54ad91bf633a01cdd7ef4122556ef689f30d6e89ff7236816ed6dc3b2e948b13c0b4f286f26c329399aaaca6fc3de675d56af3b6
6
+ metadata.gz: 38314cbd1525c65bd8f4a797b9c38b3cff3e1bd2dd36ec32c720da3921eff070d6ca4eb8f4ba07a5b75413bd0f1d98f45c61292d312dcc801c5324d9d4eda39c
7
+ data.tar.gz: 77b667701217f597d8b1fdcd22fde1b98cef93d00646583de55be5e9fe229d77da5d5894733c9d511481cab09b73a6e27c5f0b0397e008ac3752bdb355f9b5ee
@@ -276,15 +276,19 @@ class MFRC522
276
276
  raise CommunicationError, status
277
277
  end
278
278
 
279
+ if received_data.empty?
280
+ raise UnexpectedDataError, 'Received empty UID data'
281
+ end
282
+
279
283
  # Append received UID into buffer if not doing full select
280
284
  if current_level_known_bits < 32
281
- if current_level_known_bits % 8 != 0
282
- uid_bit = current_level_known_bits % 8
283
- buffer[-1] &= (0xFF >> (8 - uid_bit))
285
+ # Check for last collision
286
+ if tx_last_bits != 0
287
+ buffer[-1] &= (0xFF >> (8 - tx_last_bits))
284
288
  buffer[-1] |= received_data.shift
285
289
  end
286
290
 
287
- buffer.concat(received_data[0..3])
291
+ buffer = buffer[0...all_full_byte] + received_data
288
292
  end
289
293
 
290
294
  # Handle collision
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mfrc522
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - atitan