"""A class to interface with the RFID card reader at a serial command level.""" import struct __doc__ = "Class to interface with the STK500 Mifare Reader over Serial" __author__ = "Gabe Arnold page contents. # The call is referred to as 'rf_M1_read' in the original application (windows). # """ # self.__ser.write('\xaa\xbb\x06\x00\x00\x00\x08\x02\x00\x0a') # response = self.__ser.read(10) # page = struct.unpack('BBBBBBBBBB', response) # page = ''.join(('%(num)02X'%{'num' : i}) for i in idl[9:-1]) # page[10:13] # Don't think we'll ever need this, and it's not even finished # # def requestAll(self): # """ # Does a "Request All", which seems to go trough and ask for every possible status request. # """ # #rf_antenna_sta: # self.__ser.write('\xaa\xbb\x06\x00\x00\x00\x0c\x01\x00\x0d') # if(self.__ser.read(10) != '\xaa\xbb\x06\x00\x11\x12\x0c\x01\x00\x0e'): # return False # #rf_init_type # self.__ser.write('\xaa\xbb\x06\x00\x00\x00\x08\x01\x41\x48') # if(self.__ser.read(10) != '\xaa\xbb\x06\x00\x11\x12\x08\x01\x00\x0a'): # return False # #rf_antenna_sta (2nd time, different request) # self.__ser.write('\xaa\xbb\x06\x00\x00\x00\x08\x01\x41\x48') # if(self.__ser.read(10) != '\xaa\xbb\x06\x00\x11\x12\x0c\x01\x00\x0e'): # return False def greenOn(self): """ Turn on the green LED """ self.__ser.write('\xaa\xbb\x06\x00\x00\x00\x07\x01\x02\x04') return(self.__ser.read(10) == '\xaa\xbb\x06\x00\x11\x12\x07\x01\x00\x05') def yellowOn(self): """ Turn on Yellow LED """ self.__ser.write('\xaa\xbb\x06\x00\x00\x00\x07\x01\x03\x05') return(self.__ser.read(10) == '\xaa\xbb\x06\x00\x11\x12\x07\x01\x00\x05')