Files
dmxconnect/hardware/interfaces.go
2024-12-15 13:45:46 +01:00

30 lines
1.2 KiB
Go

package hardware
import "context"
// Peripheral represents the methods used to manage a peripheral (input or output hardware)
type Peripheral interface {
Connect() error // Connect the peripheral
Disconnect() error // Disconnect the peripheral
Activate() error // Activate the peripheral
Deactivate() error // Deactivate the peripheral
SetDeviceProperty(uint32, uint32, byte) error // Update a device property
GetInfo() PeripheralInfo // Get the peripheral information
}
// PeripheralInfo represents a peripheral information
type PeripheralInfo struct {
Name string // Name of the peripheral
SerialNumber string // S/N of the peripheral
ProtocolName string // Protocol name of the peripheral
UniversesNumber int // Number of DMX universes handled by the peripheral
}
// PeripheralFinder represents how compatible peripheral finders are implemented
type PeripheralFinder interface {
Initialize() error // Initializes the protocol
GetName() string // Get the name of the finder
Scan(context.Context) error // Scan for peripherals
}