generated from thinkode/modelRepository
30 lines
1.2 KiB
Go
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
|
|
}
|