package hardware import ( "context" "github.com/rs/zerolog/log" ) // OS2LPeripheral contains the data of an OS2L peripheral type OS2LPeripheral struct { name string // The name of the peripheral serialNumber string // The serial number of the peripheral } // NewOS2LPeripheral creates a new OS2L peripheral func NewOS2LPeripheral(name string, serialNumber string) *OS2LPeripheral { log.Trace().Str("file", "OS2LPeripheral").Str("name", name).Str("s/n", serialNumber).Msg("OS2L peripheral created") return &OS2LPeripheral{ name: name, serialNumber: serialNumber, } } // Connect connects the MIDI peripheral func (p *OS2LPeripheral) Connect(ctx context.Context) error { log.Info().Str("file", "OS2LPeripheral").Msg("OS2L peripheral connected") return nil } // Disconnect disconnects the MIDI peripheral func (p *OS2LPeripheral) Disconnect(ctx context.Context) error { log.Info().Str("file", "OS2LPeripheral").Msg("OS2L peripheral disconnected") return nil } // Activate activates the MIDI peripheral func (p *OS2LPeripheral) Activate(ctx context.Context) error { log.Info().Str("file", "OS2LPeripheral").Msg("OS2L peripheral activated") return nil } // Deactivate deactivates the MIDI peripheral func (p *OS2LPeripheral) Deactivate(ctx context.Context) error { log.Info().Str("file", "OS2LPeripheral").Msg("OS2L peripheral deactivated") return nil } // SetDeviceProperty - not implemented for this kind of peripheral func (p *OS2LPeripheral) SetDeviceProperty(context.Context, uint32, uint32, byte) error { return nil } // GetInfo gets the peripheral information func (p *OS2LPeripheral) GetInfo() PeripheralInfo { return PeripheralInfo{ Name: p.name, SerialNumber: p.serialNumber, ProtocolName: "OS2L", } }