powersensor

package
v0.54.0-rc0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 9, 2024 License: AGPL-3.0 Imports: 12 Imported by: 6

Documentation

Overview

Package powersensor defines the interfaces of a powersensor. For more information, see the power sensor component docs.

Index

Constants

View Source
const SubtypeName = "power_sensor"

SubtypeName is a constant that identifies the component resource API string "power_sensor".

Variables

View Source
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")
)
View Source
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)

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.

Directories

Path Synopsis
Package fake is a fake PowerSensor for testing
Package fake is a fake PowerSensor for testing
Package register registers all relevant motors
Package register registers all relevant motors

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL