Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 10 additions & 14 deletions cli/mock_resource_arm.txt
Original file line number Diff line number Diff line change
Expand Up @@ -57,15 +57,15 @@ func Named(name string) resource.Name {
//
// EndPosition example:
//
// myArm, err := arm.FromRobot(machine, "my_arm")
// myArm, err := arm.FromProvider(machine, "my_arm")
// // Get the end position of the arm as a Pose.
// pos, err := myArm.EndPosition(context.Background(), nil)
//
// For more information, see the [EndPosition method docs].
//
// MoveToPosition example:
//
// myArm, err := arm.FromRobot(machine, "my_arm")
// myArm, err := arm.FromProvider(machine, "my_arm")
// // Create a Pose for the arm.
// examplePose := spatialmath.NewPose(
// r3.Vector{X: 5, Y: 5, Z: 5},
Expand All @@ -79,7 +79,7 @@ func Named(name string) resource.Name {
//
// MoveToJointPositions example:
//
// myArm, err := arm.FromRobot(machine, "my_arm")
// myArm, err := arm.FromProvider(machine, "my_arm")
//
// // Declare an array of values with your desired rotational value (in radians) for each joint on the arm.
// inputs := referenceframe.FloatsToInputs([]float64{0, math.Pi/2, math.Pi})
Expand All @@ -91,7 +91,7 @@ func Named(name string) resource.Name {
//
// MoveThroughJointPositions example:
//
// myArm, err := arm.FromRobot(machine, "my_arm")
// myArm, err := arm.FromProvider(machine, "my_arm")
//
// // Declare a 2D array of values with your desired rotational value (in radians) for each joint on the arm.
// inputs := [][]referenceframe.Input{
Expand All @@ -106,7 +106,7 @@ func Named(name string) resource.Name {
//
// JointPositions example:
//
// myArm , err := arm.FromRobot(machine, "my_arm")
// myArm , err := arm.FromProvider(machine, "my_arm")
//
// // Get the current position of each joint on the arm as JointPositions.
// pos, err := myArm.JointPositions(context.Background(), nil)
Expand Down Expand Up @@ -144,15 +144,11 @@ type Arm interface {
JointPositions(ctx context.Context, extra map[string]interface{}) ([]referenceframe.Input, error)
}

// FromDependencies is a helper for getting the named arm from a collection of
// dependencies.
func FromDependencies(deps resource.Dependencies, name string) (Arm, error) {
return resource.FromDependencies[Arm](deps, Named(name))
}

// FromRobot is a helper for getting the named Arm from the given Robot.
func FromRobot(r robot.Robot, name string) (Arm, error) {
return robot.ResourceFromRobot[Arm](r, Named(name))
// FromProvider is a helper for getting the named Arm from either a collection of dependencies
// or the given robot.
// FromProvider is a helper for getting the named arm from a resource Provider (collection of Dependencies or a Robot).
func FromProvider(provider resource.Provider, name string) (Arm, error) {
return resource.FromProvider[Arm](provider, Named(name))
}

// NamesFromRobot is a helper for getting all arm names from the given Robot.
Expand Down
6 changes: 3 additions & 3 deletions cli/motion.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ func motionPrintStatusAction(c *cli.Context, args motionPrintArgs) error {
return err
}

myMotion, err := motion.FromRobot(robotClient, "builtin")
myMotion, err := motion.FromProvider(robotClient, "builtin")
if err != nil || myMotion == nil {
return fmt.Errorf("no motion: %w", err)
}
Expand Down Expand Up @@ -148,7 +148,7 @@ func motionGetPoseAction(c *cli.Context, args motionGetPoseArgs) error {
utils.UncheckedError(robotClient.Close(ctx))
}()

myMotion, err := motion.FromRobot(robotClient, "builtin")
myMotion, err := motion.FromProvider(robotClient, "builtin")
if err != nil || myMotion == nil {
return fmt.Errorf("no motion: %w", err)
}
Expand Down Expand Up @@ -200,7 +200,7 @@ func motionSetPoseAction(c *cli.Context, args motionSetPoseArgs) error {
utils.UncheckedError(robotClient.Close(ctx))
}()

myMotion, err := motion.FromRobot(robotClient, "builtin")
myMotion, err := motion.FromProvider(robotClient, "builtin")
if err != nil || myMotion == nil {
return fmt.Errorf("no motion: %w", err)
}
Expand Down
26 changes: 18 additions & 8 deletions components/arm/arm.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,15 +57,15 @@ func Named(name string) resource.Name {
//
// EndPosition example:
//
// myArm, err := arm.FromRobot(machine, "my_arm")
// myArm, err := arm.FromProvider(machine, "my_arm")
// // Get the end position of the arm as a Pose.
// pos, err := myArm.EndPosition(context.Background(), nil)
//
// For more information, see the [EndPosition method docs].
//
// MoveToPosition example:
//
// myArm, err := arm.FromRobot(machine, "my_arm")
// myArm, err := arm.FromProvider(machine, "my_arm")
// // Create a Pose for the arm.
// examplePose := spatialmath.NewPose(
// r3.Vector{X: 5, Y: 5, Z: 5},
Expand All @@ -79,7 +79,7 @@ func Named(name string) resource.Name {
//
// MoveToJointPositions example:
//
// myArm, err := arm.FromRobot(machine, "my_arm")
// myArm, err := arm.FromProvider(machine, "my_arm")
//
// // Declare an array of values with your desired rotational value (in radians) for each joint on the arm.
// inputs := referenceframe.FloatsToInputs([]float64{0, math.Pi/2, math.Pi})
Expand All @@ -91,7 +91,7 @@ func Named(name string) resource.Name {
//
// MoveThroughJointPositions example:
//
// myArm, err := arm.FromRobot(machine, "my_arm")
// myArm, err := arm.FromProvider(machine, "my_arm")
//
// // Declare a 2D array of values with your desired rotational value (in radians) for each joint on the arm.
// inputs := [][]referenceframe.Input{
Expand All @@ -106,7 +106,7 @@ func Named(name string) resource.Name {
//
// JointPositions example:
//
// myArm , err := arm.FromRobot(machine, "my_arm")
// myArm , err := arm.FromProvider(machine, "my_arm")
//
// // Get the current position of each joint on the arm as JointPositions.
// pos, err := myArm.JointPositions(context.Background(), nil)
Expand Down Expand Up @@ -144,17 +144,27 @@ type Arm interface {
JointPositions(ctx context.Context, extra map[string]interface{}) ([]referenceframe.Input, error)
}

// FromDependencies is a helper for getting the named arm from a collection of
// dependencies.
// Deprecated: FromDependencies is a helper for getting the named arm from a collection of
// dependencies. Use FromProvider instead.
//
//nolint:revive // ignore exported comment check
func FromDependencies(deps resource.Dependencies, name string) (Arm, error) {
return resource.FromDependencies[Arm](deps, Named(name))
}

// FromRobot is a helper for getting the named Arm from the given Robot.
// Deprecated: FromRobot is a helper for getting the named Arm from the given Robot.
// Use FromProvider instead.
//
//nolint:revive // ignore exported comment check
func FromRobot(r robot.Robot, name string) (Arm, error) {
return robot.ResourceFromRobot[Arm](r, Named(name))
}

// FromProvider is a helper for getting the named arm from a resource Provider (collection of Dependencies or a Robot).
func FromProvider(provider resource.Provider, name string) (Arm, error) {
return resource.FromProvider[Arm](provider, Named(name))
}

// NamesFromRobot is a helper for getting all arm names from the given Robot.
func NamesFromRobot(r robot.Robot) []string {
return robot.NamesByAPI(r, API)
Expand Down
2 changes: 1 addition & 1 deletion components/arm/wrapper/wrapper.go
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ func (wrapper *Arm) Reconfigure(ctx context.Context, deps resource.Dependencies,
return err
}

newArm, err := arm.FromDependencies(deps, newConf.ArmName)
newArm, err := arm.FromProvider(deps, newConf.ArmName)
if err != nil {
return err
}
Expand Down
16 changes: 13 additions & 3 deletions components/audioinput/audio_input.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,17 +61,27 @@ type LivenessMonitor interface {
Monitor(notifyReset func())
}

// FromDependencies is a helper for getting the named audio input from a collection of
// dependencies.
// Deprecated: FromDependencies is a helper for getting the named audio input from a collection of
// dependencies. Use FromProvider instead.
//
//nolint:revive // ignore exported comment check.
func FromDependencies(deps resource.Dependencies, name string) (AudioInput, error) {
return resource.FromDependencies[AudioInput](deps, Named(name))
}

// FromRobot is a helper for getting the named audio input from the given Robot.
// Deprecated: FromRobot is a helper for getting the named audio input from the given Robot.
// Use FromProvider instead.
//
//nolint:revive // ignore exported comment check
func FromRobot(r robot.Robot, name string) (AudioInput, error) {
return robot.ResourceFromRobot[AudioInput](r, Named(name))
}

// FromProvider is a helper for getting the named AudioInput from a resource Provider (collection of Dependencies or a Robot).
func FromProvider(provider resource.Provider, name string) (AudioInput, error) {
return resource.FromProvider[AudioInput](provider, Named(name))
}

// NamesFromRobot is a helper for getting all audio input names from the given Robot.
func NamesFromRobot(r robot.Robot) []string {
return robot.NamesByAPI(r, API)
Expand Down
26 changes: 18 additions & 8 deletions components/base/base.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ func Named(name string) resource.Name {
//
// MoveStraight example:
//
// myBase, err := base.FromRobot(machine, "my_base")
// myBase, err := base.FromProvider(machine, "my_base")
// // Move the base forward 40 mm at a velocity of 90 mm/s.
// myBase.MoveStraight(context.Background(), 40, 90, nil)
//
Expand All @@ -55,7 +55,7 @@ func Named(name string) resource.Name {
//
// Spin example:
//
// myBase, err := base.FromRobot(machine, "my_base")
// myBase, err := base.FromProvider(machine, "my_base")
//
// // Spin the base 10 degrees at an angular velocity of 15 deg/sec.
// myBase.Spin(context.Background(), 10, 15, nil)
Expand All @@ -64,7 +64,7 @@ func Named(name string) resource.Name {
//
// SetPower example:
//
// myBase, err := base.FromRobot(machine, "my_base")
// myBase, err := base.FromProvider(machine, "my_base")
//
// // Make your wheeled base move forward. Set linear power to 75%.
// logger.Info("move forward")
Expand All @@ -86,7 +86,7 @@ func Named(name string) resource.Name {
//
// SetVelocity example:
//
// myBase, err := base.FromRobot(machine, "my_base")
// myBase, err := base.FromProvider(machine, "my_base")
//
// // Set the linear velocity to 50 mm/sec and the angular velocity to 15 deg/sec.
// myBase.SetVelocity(context.Background(), r3.Vector{Y: 50}, r3.Vector{Z: 15}, nil)
Expand All @@ -95,7 +95,7 @@ func Named(name string) resource.Name {
//
// Properties example:
//
// myBase, err := base.FromRobot(machine, "my_base")
// myBase, err := base.FromProvider(machine, "my_base")
//
// // Get the width and turning radius of the base
// properties, err := myBase.Properties(context.Background(), nil)
Expand Down Expand Up @@ -147,17 +147,27 @@ type Base interface {
Properties(ctx context.Context, extra map[string]interface{}) (Properties, error)
}

// FromDependencies is a helper for getting the named base from a collection of
// dependencies.
// Deprecated: FromDependencies is a helper for getting the named base from a collection of
// dependencies. Use FromProvider instead.
//
//nolint:revive // ignore exported comment check
func FromDependencies(deps resource.Dependencies, name string) (Base, error) {
return resource.FromDependencies[Base](deps, Named(name))
}

// FromRobot is a helper for getting the named base from the given Robot.
// Deprecated: FromRobot is a helper for getting the named base from the given Robot.
// Use FromProvider instead.
//
//nolint:revive // ignore exported comment check
func FromRobot(r robot.Robot, name string) (Base, error) {
return robot.ResourceFromRobot[Base](r, Named(name))
}

// FromProvider is a helper for getting the named Base from a resource Provider (collection of Dependencies or a Robot).
func FromProvider(provider resource.Provider, name string) (Base, error) {
return resource.FromProvider[Base](provider, Named(name))
}

// NamesFromRobot is a helper for getting all base names from the given Robot.
func NamesFromRobot(r robot.Robot) []string {
return robot.NamesByAPI(r, API)
Expand Down
8 changes: 4 additions & 4 deletions components/base/base_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,15 @@ func TestFromRobot(t *testing.T) {
expected := []string{"base1", "base2"}
testutils.VerifySameElements(t, base.NamesFromRobot(r), expected)

_, err := base.FromRobot(r, "base1")
_, err := base.FromProvider(r, "base1")
test.That(t, err, test.ShouldBeNil)

_, err = base.FromRobot(r, "base2")
_, err = base.FromProvider(r, "base2")
test.That(t, err, test.ShouldBeNil)

_, err = base.FromRobot(r, "base0")
_, err = base.FromProvider(r, "base0")
test.That(t, err, test.ShouldNotBeNil)

_, err = base.FromRobot(r, "g")
_, err = base.FromProvider(r, "g")
test.That(t, err, test.ShouldNotBeNil)
}
4 changes: 2 additions & 2 deletions components/base/sensorcontrolled/sensorcontrolled.go
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ func (sb *sensorBase) Reconfigure(ctx context.Context, deps resource.Dependencie
sb.controlledBase = nil

for _, name := range newConf.MovementSensor {
ms, err := movementsensor.FromDependencies(deps, name)
ms, err := movementsensor.FromProvider(deps, name)
if err != nil {
return errors.Wrapf(err, "no movement sensor named (%s)", name)
}
Expand Down Expand Up @@ -201,7 +201,7 @@ func (sb *sensorBase) Reconfigure(ctx context.Context, deps resource.Dependencie
return errNoGoodSensor
}

sb.controlledBase, err = base.FromDependencies(deps, newConf.Base)
sb.controlledBase, err = base.FromProvider(deps, newConf.Base)
if err != nil {
return errors.Wrapf(err, "no base named (%s)", newConf.Base)
}
Expand Down
4 changes: 2 additions & 2 deletions components/base/wheeled/wheeled_base.go
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ func (wb *wheeledBase) Reconfigure(ctx context.Context, deps resource.Dependenci
return newMotors, rdkutils.NewBuildTimeoutError(wb.Name().String(), wb.logger)
default:
}
m, err := motor.FromDependencies(deps, name)
m, err := motor.FromProvider(deps, name)
if err != nil {
return newMotors, errors.Wrapf(err, "no %s motor named (%s)", whichMotor, name)
}
Expand All @@ -167,7 +167,7 @@ func (wb *wheeledBase) Reconfigure(ctx context.Context, deps resource.Dependenci
}
if (curr)[i].Name().String() != (fromConfig)[i] {
for _, name := range fromConfig {
m, err := motor.FromDependencies(deps, name)
m, err := motor.FromProvider(deps, name)
if err != nil {
return newMotors, errors.Wrapf(err, "no %s motor named (%s)", whichMotor, name)
}
Expand Down
Loading
Loading