Documentation
¶
Overview ¶
Package powersensor defines the interfaces of a powersensor. For more information, see the power sensor component docs.
Index ¶
Constants ¶
const SubtypeName = "power_sensor"
SubtypeName is a constant that identifies the component resource API string "power_sensor".
Variables ¶
var (
// ErrMethodUnimplementedVoltage returns error if the Voltage method is unimplemented.
ErrMethodUnimplementedVoltage = errors.New("Voltage Unimplemented")
// ErrMethodUnimplementedCurrent returns error if the Current method is unimplemented.
ErrMethodUnimplementedCurrent = errors.New("Current Unimplemented")
// ErrMethodUnimplementedPower returns error if the Power method is unimplemented.
ErrMethodUnimplementedPower = errors.New("Power Unimplemented")
)
var API = resource.APINamespaceRDK.WithComponentType(SubtypeName)
API is a variable that identifies the component resource API.
Functions ¶
func Named ¶
func Named(name string) resource.Name
Named is a helper for getting the named PowerSensor's typed resource name.
func NamesFromRobot ¶
func NamesFromRobot(r robot.Robot) []string
NamesFromRobot is a helper for getting all PowerSensor names from the given Robot.
func NewRPCServiceServer ¶
func NewRPCServiceServer(coll resource.APIResourceCollection[PowerSensor]) interface{}
NewRPCServiceServer constructs a PowerSesnsor gRPC service serviceServer.
Types ¶
type PowerSensor ¶
type PowerSensor interface {
resource.Sensor
resource.Resource
// Voltage returns the voltage reading in volts and a bool returning true if the voltage is AC.
Voltage(ctx context.Context, extra map[string]interface{}) (float64, bool, error)
// Current returns the current reading in amperes and a bool returning true if the current is AC.
Current(ctx context.Context, extra map[string]interface{}) (float64, bool, error)
// Power returns the power reading in watts.
Power(ctx context.Context, extra map[string]interface{}) (float64, error)
}
A PowerSensor reports information about voltage, current and power. For more information, see the power sensor component docs.
Voltage example:
// Get the voltage from device in volts.
voltage, isAC, err := myPowerSensor.Voltage(context.Background(), nil)
For more information, see the Voltage method docs.
Current example:
// Get the current reading from device in amps.
current, isAC, err := myPowerSensor.Current(context.Background(), nil)
For more information, see the Current method docs.
Power example:
// Get the power measurement from device in watts.
power, err := myPowerSensor.Power(context.Background(), nil)
For more information, see the Power method docs.
func FromDependencies ¶
func FromDependencies(deps resource.Dependencies, name string) (PowerSensor, error)
FromDependencies is a helper for getting the named PowerSensor from a collection of dependencies.
func FromRobot ¶
func FromRobot(r robot.Robot, name string) (PowerSensor, error)
FromRobot is a helper for getting the named PowerSensor from the given Robot.
func NewClientFromConn ¶
func NewClientFromConn(
ctx context.Context,
conn rpc.ClientConn,
remoteName string,
name resource.Name,
logger logging.Logger,
) (PowerSensor, error)
NewClientFromConn constructs a new client from connection passed in.