mirror of
https://github.com/tinygo-org/drivers.git
synced 2026-08-21 06:59:00 +00:00
lis2mdl: better examples showing how to create unit tests
Signed-off-by: deadprogram <ron@hybridgroup.com>
This commit is contained in:
+34
-7
@@ -11,22 +11,49 @@ func TestDefaultI2CAddress(t *testing.T) {
|
||||
c := qt.New(t)
|
||||
bus := tester.NewI2CBus(c)
|
||||
dev := New(bus)
|
||||
c.Assert(dev.Address, qt.Equals, uint8(MAG_ADDRESS))
|
||||
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, MAG_ADDRESS)
|
||||
fake := tester.NewI2CDevice(c, ADDRESS)
|
||||
fake.SetupRegisters(defaultRegisters())
|
||||
bus.AddDevice(fake)
|
||||
|
||||
dev := New(bus)
|
||||
|
||||
fake.SetupRegisters([]uint8{
|
||||
0x4F: 0x40,
|
||||
})
|
||||
c.Assert(dev.Connected(), qt.Equals, true)
|
||||
|
||||
fake.SetupRegister(0x4F, 0x99)
|
||||
fake.SetupRegister(WHO_AM_I, 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{
|
||||
OFFSET_X_REG_L: 0,
|
||||
OFFSET_X_REG_H: 0,
|
||||
OFFSET_Y_REG_L: 0,
|
||||
OFFSET_Y_REG_H: 0,
|
||||
OFFSET_Z_REG_L: 0,
|
||||
OFFSET_Z_REG_H: 0,
|
||||
WHO_AM_I: 0x40,
|
||||
CFG_REG_A: 0x03,
|
||||
CFG_REG_B: 0,
|
||||
CFG_REG_C: 0,
|
||||
INT_CRTL_REG: 0xE0,
|
||||
INT_SOURCE_REG: 0,
|
||||
INT_THS_L_REG: 0,
|
||||
INT_THS_H_REG: 0,
|
||||
STATUS_REG: 0,
|
||||
OUTX_L_REG: 0,
|
||||
OUTX_H_REG: 0,
|
||||
OUTY_L_REG: 0,
|
||||
OUTY_H_REG: 0,
|
||||
OUTZ_L_REG: 0,
|
||||
OUTZ_H_REG: 0,
|
||||
TEMP_OUT_L_REG: 0,
|
||||
TEMP_OUT_H_REG: 0,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user