gobot.io/x/gobot/v2@v2.1.0/drivers/common/mfrc522/mfrc522_connectionwrapper.go (about)

     1  package mfrc522
     2  
     3  import "fmt"
     4  
     5  func (d *MFRC522Common) readByteData(reg uint8) (uint8, error) {
     6  	if d.connection == nil {
     7  		return 0, fmt.Errorf("not connected")
     8  	}
     9  	return d.connection.ReadByteData(reg)
    10  }
    11  
    12  func (d *MFRC522Common) writeByteData(reg uint8, data uint8) error {
    13  	if d.connection == nil {
    14  		return fmt.Errorf("not connected")
    15  	}
    16  	return d.connection.WriteByteData(reg, data)
    17  }
    18  
    19  func (d *MFRC522Common) setRegisterBitMask(reg uint8, mask uint8) error {
    20  	val, err := d.readByteData(reg)
    21  	if err != nil {
    22  		return err
    23  	}
    24  	if err := d.writeByteData(reg, val|mask); err != nil {
    25  		return err
    26  	}
    27  	return nil
    28  }
    29  
    30  func (d *MFRC522Common) clearRegisterBitMask(reg uint8, mask uint8) error {
    31  	val, err := d.readByteData(reg)
    32  	if err != nil {
    33  		return err
    34  	}
    35  	if err := d.writeByteData(reg, val&^mask); err != nil {
    36  		return err
    37  	}
    38  	return nil
    39  }