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 NamesFromRobot ¶
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)
Current example:
// Get the current reading from device in amps. current, isAC, err := myPowerSensor.Current(context.Background(), nil)
Power example:
// Get the power measurement from device in watts. power, err := myPowerSensor.Power(context.Background(), nil)
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.