fix requested changes by @aykevl

This commit is contained in:
soypat
2023-05-31 22:08:39 -03:00
committed by Ron Evans
parent 64029612e0
commit 31538f1b2f
6 changed files with 24 additions and 16 deletions
+10 -2
View File
@@ -3,7 +3,15 @@ package drivers
// I2C represents an I2C bus. It is notably implemented by the
// machine.I2C type.
type I2C interface {
// ReadRegister(addr uint8, r uint8, buf []byte) error
// WriteRegister(addr uint8, r uint8, buf []byte) error
// Tx performs a [I²C] transaction with address addr.
// Most I2C peripherals have some sort of register mapping scheme to allow
// users to interact with them:
//
// bus.Tx(addr, []byte{reg}, buf) // Reads register reg into buf.
// bus.Tx(addr, append([]byte{reg}, buf...), nil) // Writes buf into register reg.
//
// The semantics of most I2C transactions require that the w write buffer be non-empty.
//
// [I²C]: https://en.wikipedia.org/wiki/I%C2%B2C
Tx(addr uint16, w, r []byte) error
}
+2 -2
View File
@@ -5,10 +5,10 @@ const MaxRegisters = 255
type I2CDevice interface {
// ReadRegister implements I2C.ReadRegister.
ReadRegister(r uint8, buf []byte) error
readRegister(r uint8, buf []byte) error
// WriteRegister implements I2C.WriteRegister.
WriteRegister(r uint8, buf []byte) error
writeRegister(r uint8, buf []byte) error
// Tx implements I2C.Tx
Tx(w, r []byte) error
+4 -4
View File
@@ -33,7 +33,7 @@ func (d *I2CDevice16) Addr() uint8 {
}
// ReadRegister implements I2C.ReadRegister.
func (d *I2CDevice16) ReadRegister(r uint8, buf []byte) error {
func (d *I2CDevice16) readRegister(r uint8, buf []byte) error {
if d.Err != nil {
return d.Err
}
@@ -54,7 +54,7 @@ func (d *I2CDevice16) ReadRegister(r uint8, buf []byte) error {
}
// WriteRegister implements I2C.WriteRegister.
func (d *I2CDevice16) WriteRegister(r uint8, buf []byte) error {
func (d *I2CDevice16) writeRegister(r uint8, buf []byte) error {
if d.Err != nil {
return d.Err
}
@@ -80,11 +80,11 @@ func (bus *I2CDevice16) Tx(w, r []byte) error {
bus.c.Fatalf("i2c mock: need a write byte")
return nil
case 1:
return bus.ReadRegister(w[0], r)
return bus.readRegister(w[0], r)
default:
if len(r) > 0 || len(w) == 1 {
bus.c.Fatalf("i2c mock: unsupported lengths in Tx(%d, %d)", len(w), len(r))
}
return bus.WriteRegister(w[0], w[1:])
return bus.writeRegister(w[0], w[1:])
}
}
+4 -4
View File
@@ -34,7 +34,7 @@ func (d *I2CDevice8) Addr() uint8 {
}
// ReadRegister implements I2C.ReadRegister.
func (d *I2CDevice8) ReadRegister(r uint8, buf []byte) error {
func (d *I2CDevice8) readRegister(r uint8, buf []byte) error {
if d.Err != nil {
return d.Err
}
@@ -47,7 +47,7 @@ func (d *I2CDevice8) ReadRegister(r uint8, buf []byte) error {
}
// WriteRegister implements I2C.WriteRegister.
func (d *I2CDevice8) WriteRegister(r uint8, buf []byte) error {
func (d *I2CDevice8) writeRegister(r uint8, buf []byte) error {
if d.Err != nil {
return d.Err
}
@@ -63,12 +63,12 @@ func (bus *I2CDevice8) Tx(w, r []byte) error {
bus.c.Fatalf("i2c mock: need a write byte")
return nil
case 1:
return bus.ReadRegister(w[0], r)
return bus.readRegister(w[0], r)
default:
if len(r) > 0 || len(w) == 1 {
bus.c.Fatalf("i2c mock: unsupported lengths in Tx(%d, %d)", len(w), len(r))
}
return bus.WriteRegister(w[0], w[1:])
return bus.writeRegister(w[0], w[1:])
}
}
+2 -2
View File
@@ -50,7 +50,7 @@ func (d *I2CDeviceCmd) Addr() uint8 {
}
// ReadRegister implements I2C.ReadRegister.
func (d *I2CDeviceCmd) ReadRegister(r uint8, buf []byte) error {
func (d *I2CDeviceCmd) readRegister(r uint8, buf []byte) error {
if d.Err != nil {
return d.Err
}
@@ -59,7 +59,7 @@ func (d *I2CDeviceCmd) ReadRegister(r uint8, buf []byte) error {
}
// WriteRegister implements I2C.WriteRegister.
func (d *I2CDeviceCmd) WriteRegister(r uint8, buf []byte) error {
func (d *I2CDeviceCmd) writeRegister(r uint8, buf []byte) error {
if d.Err != nil {
return d.Err
}
+2 -2
View File
@@ -38,12 +38,12 @@ func (bus *I2CBus) NewDevice(addr uint8) *I2CDevice8 {
// ReadRegister implements I2C.ReadRegister.
func (bus *I2CBus) ReadRegister(addr uint8, r uint8, buf []byte) error {
return bus.FindDevice(addr).ReadRegister(r, buf)
return bus.FindDevice(addr).readRegister(r, buf)
}
// WriteRegister implements I2C.WriteRegister.
func (bus *I2CBus) WriteRegister(addr uint8, r uint8, buf []byte) error {
return bus.FindDevice(addr).WriteRegister(r, buf)
return bus.FindDevice(addr).writeRegister(r, buf)
}
// Tx implements I2C.Tx.