mirror of
https://github.com/kidoman/embd
synced 2024-12-22 12:50:19 +01:00
changed ReadBytes to get file size from stat
This commit is contained in:
parent
48c26358bd
commit
9d8285ca01
@ -131,7 +131,7 @@ type mockI2CBus struct {
|
|||||||
closed bool
|
closed bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func (bus *mockI2CBus) ReadBytes(addr byte, num int) ([]byte, error) { return []byte{0x00}, nil }
|
func (bus *mockI2CBus) ReadBytes(addr byte) ([]byte, error) { return []byte{0x00}, nil }
|
||||||
func (bus *mockI2CBus) ReadByte(addr byte) (byte, error) { return 0x00, nil }
|
func (bus *mockI2CBus) ReadByte(addr byte) (byte, error) { return 0x00, nil }
|
||||||
func (bus *mockI2CBus) WriteBytes(addr byte, value []byte) error { return nil }
|
func (bus *mockI2CBus) WriteBytes(addr byte, value []byte) error { return nil }
|
||||||
func (bus *mockI2CBus) ReadFromReg(addr, reg byte, value []byte) error { return nil }
|
func (bus *mockI2CBus) ReadFromReg(addr, reg byte, value []byte) error { return nil }
|
||||||
|
@ -101,7 +101,7 @@ func (b *i2cBus) ReadByte(addr byte) (byte, error) {
|
|||||||
return bytes[0], nil
|
return bytes[0], nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *i2cBus) ReadBytes(addr byte, num int) ([]byte, error) {
|
func (b *i2cBus) ReadBytes(addr byte) ([]byte, error) {
|
||||||
b.mu.Lock()
|
b.mu.Lock()
|
||||||
defer b.mu.Unlock()
|
defer b.mu.Unlock()
|
||||||
|
|
||||||
@ -113,10 +113,16 @@ func (b *i2cBus) ReadBytes(addr byte, num int) ([]byte, error) {
|
|||||||
return []byte{0}, err
|
return []byte{0}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
bytes := make([]byte, num)
|
info, err := b.file.Stat()
|
||||||
|
if err != nil {
|
||||||
|
return []byte{0}, err
|
||||||
|
}
|
||||||
|
|
||||||
|
size := int(info.Size())
|
||||||
|
bytes := make([]byte, size)
|
||||||
n, _ := b.file.Read(bytes)
|
n, _ := b.file.Read(bytes)
|
||||||
|
|
||||||
if n != num {
|
if n != size {
|
||||||
return []byte{0}, fmt.Errorf("i2c: Unexpected number (%v) of bytes read", n)
|
return []byte{0}, fmt.Errorf("i2c: Unexpected number (%v) of bytes read", n)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
2
i2c.go
2
i2c.go
@ -4,6 +4,8 @@ package embd
|
|||||||
|
|
||||||
// I2CBus interface is used to interact with the I2C bus.
|
// I2CBus interface is used to interact with the I2C bus.
|
||||||
type I2CBus interface {
|
type I2CBus interface {
|
||||||
|
// ReadBytes reads a slice of bytes from the given address.
|
||||||
|
ReadBytes(addr byte) (value []byte, err error)
|
||||||
// ReadByte reads a byte from the given address.
|
// ReadByte reads a byte from the given address.
|
||||||
ReadByte(addr byte) (value byte, err error)
|
ReadByte(addr byte) (value byte, err error)
|
||||||
// ReadBytes reads a slice of bytes from the given address.
|
// ReadBytes reads a slice of bytes from the given address.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user