mirror of
https://github.com/tinygo-org/drivers.git
synced 2026-07-26 10:38:41 +00:00
8cb226938b
Also change the `tester` package slightly to use an exposed `Registers` array rather adding yet another accessor method to retrieve a register value. This seems to me more transparent and "obvious" - we aren't trying to hide the fact that there's just a simple memory store there. Also unexport the `assertRegisterRange` method which was never intended to be part of the public API.
50 lines
1.1 KiB
Go
50 lines
1.1 KiB
Go
package adt7410
|
|
|
|
import (
|
|
"testing"
|
|
|
|
qt "github.com/frankban/quicktest"
|
|
"tinygo.org/x/drivers/tester"
|
|
)
|
|
|
|
func TestDefaultI2CAddress(t *testing.T) {
|
|
c := qt.New(t)
|
|
bus := tester.NewI2CBus(c)
|
|
dev := New(bus)
|
|
c.Assert(dev.Address, qt.Equals, uint8(Address))
|
|
}
|
|
|
|
func TestWhoAmI(t *testing.T) {
|
|
c := qt.New(t)
|
|
bus := tester.NewI2CBus(c)
|
|
fake := tester.NewI2CDevice(c, Address)
|
|
copy(fake.Registers[:], defaultRegisters())
|
|
bus.AddDevice(fake)
|
|
|
|
dev := New(bus)
|
|
c.Assert(dev.Connected(), qt.Equals, true)
|
|
|
|
fake.Registers[RegID] = 0x99
|
|
c.Assert(dev.Connected(), qt.Equals, false)
|
|
}
|
|
|
|
// defaultRegisters returns the default values for all of the device's registers.
|
|
// see table 22 on page 27 of the datasheet.
|
|
func defaultRegisters() []uint8 {
|
|
return []uint8{
|
|
RegTempValueMSB: 0,
|
|
RegTempValueLSB: 0,
|
|
RegStatus: 0,
|
|
RegConfig: 0,
|
|
RegTHIGHMsbReg: 0x20,
|
|
RegTHIGHLsbReg: 0,
|
|
RegTLOWMsbReg: 0x05,
|
|
RegTLOWLsbReg: 0,
|
|
RegTCRITMsbReg: 0x49,
|
|
RegTCRITLsbReg: 0x80,
|
|
RegTHYSTReg: 0x05,
|
|
RegID: 0xC8,
|
|
RegReset: 0,
|
|
}
|
|
}
|