Peripherals & interfaces
MIMICK models everything attached to an appliance with two ideas: peripherals and interfaces. Together they tell you what you can talk to and how to address it.
Peripherals
A peripheral is a piece of hardware reachable from an appliance: a USB-to-serial cable, an FTDI adapter, a network-attached relay, and so on. Each peripheral has a durable address (its path) that stays the same across unplugging and replugging, for example:
usb:0403:6014:FT123456
platform:/dev/ttyUSB0
You can list the peripherals on your active appliance at any time:
mimick peripheral list
A peripheral that's currently unplugged still appears in the list. Commands against it return a clear error rather than failing silently.
Interfaces
An interface is a way of talking to a peripheral: a bus or protocol it exposes, such as a serial console, UART, SPI, GPIO, or a relay channel. A single peripheral often exposes several interfaces at once. An FTDI FT232H, for instance, can present SPI and GPIO from the same physical device.
When a peripheral exposes more than one of the same interface (say, several serial ports), you pick which one with a capability-channel index.
Interfaces available today
MIMICK supports these interfaces now:
- Interactive console (TTY): a live terminal to a serial console.
- UART: raw serial byte send and receive.
- SPI: full-duplex transfers and register reads and writes.
- GPIO: read, write, and watch individual pins.
- Relay: switch discrete channels, for example to power-cycle a DUT.
More interfaces are on the roadmap, including I2C, USB pass-through, REST for network devices, CAN, and cameras. They aren't available yet.
Related
- Sessions & collaboration: working with an interface interactively.
- Getting Started: list peripherals and open your first session.