mirror of https://github.com/periph/devices
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
160 lines
6.4 KiB
Go
160 lines
6.4 KiB
Go
// Copyright 2025 The Periph Authors. All rights reserved.
|
|
// Use of this source code is governed under the Apache License, Version 2.0
|
|
// that can be found in the LICENSE file.
|
|
|
|
package mcp23xxx
|
|
|
|
import (
|
|
"periph.io/x/conn/v3/i2c/i2ctest"
|
|
)
|
|
|
|
var recordingData = map[string][]i2ctest.IO{
|
|
"TestGroup": {
|
|
{Addr: 0x20, W: []uint8{0x0}, R: []uint8{0x0}},
|
|
{Addr: 0x20, W: []uint8{0x0, 0x10}},
|
|
{Addr: 0x20, W: []uint8{0xa}, R: []uint8{0x40}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x41}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x40}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x41}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x40}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x41}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x40}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x41}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x40}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x41}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x40}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x41}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x40}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x41}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x40}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x41}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x40}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x41}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x40}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x41}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x40}}},
|
|
"TestReadWrite": {
|
|
{Addr: 0x20, W: []uint8{0x0}, R: []uint8{0x10}},
|
|
{Addr: 0x20, W: []uint8{0xa}, R: []uint8{0x40}},
|
|
{Addr: 0x20, W: []uint8{0x0, 0xf0}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x0}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x41}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x11}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x42}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x22}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x43}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x33}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x44}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x44}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x45}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x55}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x46}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x66}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x47}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x77}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x48}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x88}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x49}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x99}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x4a}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0xaa}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x4b}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0xbb}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x4c}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0xcc}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x4d}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0xdd}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x4e}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0xee}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x4f}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0xff}},
|
|
{Addr: 0x20, W: []uint8{0x0, 0x0}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xf}},
|
|
{Addr: 0x20, W: []uint8{0x0, 0xf}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x0}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x1f}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x11}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x2f}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x22}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x3f}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x33}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x4f}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x44}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x5f}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x55}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x6f}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x66}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x7f}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x77}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x8f}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x88}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x9f}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x99}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xaf}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0xaa}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xbf}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0xbb}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xcf}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0xcc}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xdf}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0xdd}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xef}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0xee}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xff}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0xff}},
|
|
{Addr: 0x20, W: []uint8{0x0, 0xe}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xfe}},
|
|
{Addr: 0x20, W: []uint8{0x0, 0xc}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xfc}},
|
|
{Addr: 0x20, W: []uint8{0x0, 0x8}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xf8}},
|
|
{Addr: 0x20, W: []uint8{0x0, 0x0}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xf0}},
|
|
{Addr: 0x20, W: []uint8{0x0, 0xf0}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x0}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xf1}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x11}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xf0}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xf2}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x22}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xf3}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x33}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xf2}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xf0}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xf4}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x44}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xf5}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x55}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xf4}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xf6}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x66}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xf7}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x77}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xf6}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xf4}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xf0}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xf8}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x88}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xf9}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0x99}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xf8}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xfa}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0xaa}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xfb}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0xbb}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xfa}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xf8}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xfc}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0xcc}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xfd}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0xdd}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xfc}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xfe}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0xee}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xff}},
|
|
{Addr: 0x20, W: []uint8{0x9}, R: []uint8{0xff}},
|
|
{Addr: 0x20, W: []uint8{0x0, 0x0}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0xf}},
|
|
{Addr: 0x20, W: []uint8{0xa, 0x0}}},
|
|
}
|