dutctl

module
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 19, 2025 License: BSD-2-Clause

README

DUT Control

Device-under-Test (DUT) Control is an abstraction layer for remote hardware access.

For details on the system architecture see docs.

Supported Client OS Supported DUT Agent Hardware
Linux RaspberryPi 4
Modules Status
GPIO Button
GPIO Switch
IPMI Power Control
Power Distribution Unit, Intellinet
Power Distribution Unit, Delock
SPI Flasher, dediprog
SPI Flasher, flashrom
SPI Flasher, flashprog
SPI Flasher, em100
Serial Console
Shell Execution
Secure Shell (SSH)

Raodmap

This project is in it's kickoff phase. Beta-Versions will be released onece the initial system architecture is set up and and the first module is implemented. More modules will then follow in further beta versions until a set of features is supported to control a DUT for a basic development cycle. See the project's milstones for more details.

Contributing

Until MVP is finished, external contributions most likely won't be handled.


This project is supported by

image

Directories

Path Synopsis
cmds
dutagent command
dutagent is the server of the DUT Control system.
dutagent is the server of the DUT Control system.
dutctl command
dutctl is the client application of the DUT Control system.
dutctl is the client application of the DUT Control system.
internal
chanio
Package chanio provides a way to use channels as io.Reader and io.Writer.
Package chanio provides a way to use channels as io.Reader and io.Writer.
dutagent
Package broker provides utilities for a dutagent service to handel the RPC requests.
Package broker provides utilities for a dutagent service to handel the RPC requests.
fsm
Package fsm provides a simple but powerful finite state machine implementation.
Package fsm provides a simple but powerful finite state machine implementation.
test/mock
The mock package provides implementations of dutctl entities that can be used for unit-testing modules.
The mock package provides implementations of dutctl entities that can be used for unit-testing modules.
pkg
dut
Package dut provides representation of the device-under-test (DUT).
Package dut provides representation of the device-under-test (DUT).
module
Package module provides a plugin system for the DUT package.
Package module provides a plugin system for the DUT package.
module/gpio
The gpio package provides two modules that simulate buttons and switches respectively, using the GPIO pins of the Raspberry Pi.
The gpio package provides two modules that simulate buttons and switches respectively, using the GPIO pins of the Raspberry Pi.
module/shell
Package shell provides a dutagent module that executes shell commands.
Package shell provides a dutagent module that executes shell commands.
module/ssh
Package ssh provides a dutagent module that connects to the DUT via Secure Shell and executes commands that are passed to the module from the dutctl client.
Package ssh provides a dutagent module that connects to the DUT via Secure Shell and executes commands that are passed to the module from the dutctl client.
protobuf

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL