"""Part 4: print the UID of every badge. Needs mfrc522.py."""

from mfrc522 import MFRC522
import time

reader = MFRC522(spi_id=0, sck=18, mosi=19, miso=16, cs=17, rst=20)
previous = []
misses = 0
while True:
    reader.init()
    status, _ = reader.request(reader.REQIDL)
    if status == reader.OK:
        status, uid = reader.SelectTagSN()
    if status == reader.OK:
        misses = 0
        if uid != previous:
            print("Badge:", reader.tohexstring(uid))
            previous = uid
    else:
        misses += 1
        if misses > 10:
            previous = []
    time.sleep_ms(50)
