Documentation ¶
Overview ¶
Package commands contains the command that a MFRC522 supports.
Index ¶
- Constants
- type AuthStatus
- type LowLevel
- func (r *LowLevel) Auth(mode byte, blockAddress byte, sectorKey [6]byte, serial []byte) (AuthStatus, error)
- func (r *LowLevel) CRC(inData []byte) ([]byte, error)
- func (r *LowLevel) CardWrite(command byte, data []byte) ([]byte, int, error)
- func (r *LowLevel) ClearBitmask(address, mask int) error
- func (r *LowLevel) DevRead(address int) (byte, error)
- func (r *LowLevel) DevWrite(address int, data byte) error
- func (r *LowLevel) Halt() error
- func (r *LowLevel) Init() error
- func (r *LowLevel) Reset() error
- func (r *LowLevel) SetAntenna(state bool) error
- func (r *LowLevel) SetAntennaGain(gain int)
- func (r *LowLevel) SetBitmask(address, mask int) error
- func (r *LowLevel) StopCrypto() error
- func (r *LowLevel) String() string
- func (r *LowLevel) WaitForEdge(timeout time.Duration) error
Constants ¶
const ( PCD_IDLE = 0x00 PCD_AUTHENT = 0x0E PCD_RECEIVE = 0x08 PCD_TRANSMIT = 0x04 PCD_TRANSCEIVE = 0x0C PCD_RESETPHASE = 0x0F PCD_CALCCRC = 0x03 PICC_REQIDL = 0x26 PICC_REQALL = 0x52 PICC_ANTICOLL = 0x93 PICC_ANTICOLL2 = 0x95 PICC_SElECTTAG = 0x93 PICC_AUTHENT1A = 0x60 PICC_AUTHENT1B = 0x61 PICC_READ = 0x30 PICC_WRITE = 0xA0 PICC_DECREMENT = 0xC0 PICC_INCREMENT = 0xC1 PICC_RESTORE = 0xC2 PICC_TRANSFER = 0xB0 PICC_HALT = 0x50 )
Operation constants
const ( CommandReg = 0x01 CommIEnReg = 0x02 DivlEnReg = 0x03 CommIrqReg = 0x04 DivIrqReg = 0x05 ErrorReg = 0x06 Status1Reg = 0x07 Status2Reg = 0x08 FIFODataReg = 0x09 FIFOLevelReg = 0x0A WaterLevelReg = 0x0B ControlReg = 0x0C BitFramingReg = 0x0D CollReg = 0x0E ModeReg = 0x11 TxModeReg = 0x12 RxModeReg = 0x13 TxControlReg = 0x14 TxAutoReg = 0x15 TxSelReg = 0x16 RxSelReg = 0x17 RxThresholdReg = 0x18 DemodReg = 0x19 MifareReg = 0x1C SerialSpeedReg = 0x1F CRCResultRegM = 0x21 CRCResultRegL = 0x22 ModWidthReg = 0x24 RFCfgReg = 0x26 GsNReg = 0x27 CWGsPReg = 0x28 ModGsPReg = 0x29 TModeReg = 0x2A TPrescalerReg = 0x2B TReloadRegH = 0x2C TReloadRegL = 0x2D TCounterValueRegH = 0x2E TCounterValueRegL = 0x2F TestSel1Reg = 0x31 TestSel2Reg = 0x32 TestPinEnReg = 0x33 TestPinValueReg = 0x34 TestBusReg = 0x35 AutoTestReg = 0x36 VersionReg = 0x37 AnalogTestReg = 0x38 TestDAC1Reg = 0x39 TestDAC2Reg = 0x3A TestADCReg = 0x3B )
Register constants
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthStatus ¶
type AuthStatus byte
AuthStatus indicates the authentication response, could be one of AuthOk, AuthReadFailure or AuthFailure
const ( AuthOk AuthStatus = iota AuthReadFailure AuthFailure )
Card authentication status enum.
type LowLevel ¶
type LowLevel struct {
// contains filtered or unexported fields
}
LowLevel is a low-level handler of a MFRC522 RFID reader.
func NewLowLevelSPI ¶
NewLowLevelSPI creates and initializes the RFID card reader attached to SPI.
spiPort - the SPI device to use. resetPin - reset GPIO pin. irqPin - irq GPIO pin.
func (*LowLevel) Auth ¶
func (r *LowLevel) Auth(mode byte, blockAddress byte, sectorKey [6]byte, serial []byte) (AuthStatus, error)
Auth authenticate the card fof the sector/block using the provided data.
mode - the authentication mode. sector - the sector to authenticate on. block - the block within sector to authenticate. sectorKey - the key to be used for accessing the sector data. serial - the serial of the card.
func (*LowLevel) CardWrite ¶
CardWrite the low-level interface to write some raw commands to the card.
command - the command register data - the data to write out to the card using the authenticated sector.
func (*LowLevel) ClearBitmask ¶
ClearBitmask clears register bit.
func (*LowLevel) SetAntenna ¶
SetAntenna configures the antenna state, on/off.
func (*LowLevel) SetAntennaGain ¶
SetAntennaGain sets the antenna gain for the driver. This method does not update the gain on the device itself. A subsequent call to SetAntenna is necessary to have an effect.
func (*LowLevel) SetBitmask ¶
SetBitmask sets register bit.
func (*LowLevel) StopCrypto ¶
StopCrypto stops the crypto chip.