package embd import ( "errors" "github.com/kidoman/embd/gpio" "github.com/kidoman/embd/host/bbb" "github.com/kidoman/embd/host/rpi" "github.com/kidoman/embd/i2c" ) type descriptor interface { GPIO() gpio.GPIO I2C() i2c.I2C } func describeHost() (descriptor, error) { host, rev, err := DetectHost() if err != nil { return nil, err } switch host { case HostRPi: return rpi.Descriptor(rev), nil case HostBBB: return bbb.Descriptor(rev), nil default: return nil, errors.New("host: invalid host") } }