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 }