Class: Tamashii::Agent::Device::CardReader::Mfrc522Spi
- Inherits:
-
Base
- Object
- DeviceBase
- Base
- Tamashii::Agent::Device::CardReader::Mfrc522Spi
- Defined in:
- lib/tamashii/agent/device/card_reader/mfrc522_spi.rb
Instance Method Summary collapse
- #default_reset_pin ⇒ Object
-
#initialize(*args) ⇒ Mfrc522Spi
constructor
A new instance of Mfrc522Spi.
- #poll_uid ⇒ Object
- #shutdown ⇒ Object
Methods inherited from DeviceBase
#fetch_option, #fetch_option!, #unexport_pin
Methods included from Common::Loggable
#display_name, #logger, #progname
Constructor Details
#initialize(*args) ⇒ Mfrc522Spi
Returns a new instance of Mfrc522Spi.
10 11 12 13 |
# File 'lib/tamashii/agent/device/card_reader/mfrc522_spi.rb', line 10 def initialize(*args) super @reader = MFRC522.new(fetch_option(:reset_pin, default_reset_pin)) end |
Instance Method Details
#default_reset_pin ⇒ Object
15 16 17 |
# File 'lib/tamashii/agent/device/card_reader/mfrc522_spi.rb', line 15 def default_reset_pin 24 end |
#poll_uid ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/tamashii/agent/device/card_reader/mfrc522_spi.rb', line 19 def poll_uid # check antenna return nil unless @reader.picc_request(MFRC522::PICC_REQA) # read uid uid = nil begin uid, sak = @reader.picc_select rescue CommunicationError, UnexpectedDataError => e logger.error "Error when selecting card: #{e.}" uid = :error rescue => e uid = :error logger.error "GemError when selecting card: #{e.}" ensure @reader.picc_halt end uid end |
#shutdown ⇒ Object
39 40 41 |
# File 'lib/tamashii/agent/device/card_reader/mfrc522_spi.rb', line 39 def shutdown @reader.shutdown end |