viam-sdk 0.25.2__py3-none-linux_armv7l.whl → 0.62.0__py3-none-linux_armv7l.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- viam/app/_logs.py +3 -6
- viam/app/app_client.py +606 -262
- viam/app/billing_client.py +60 -18
- viam/app/data_client.py +1086 -315
- viam/app/ml_training_client.py +51 -48
- viam/app/provisioning_client.py +3 -5
- viam/app/viam_client.py +105 -11
- viam/components/arm/__init__.py +1 -25
- viam/components/arm/arm.py +21 -22
- viam/components/arm/client.py +27 -30
- viam/components/arm/service.py +3 -3
- viam/components/audio_in/__init__.py +24 -0
- viam/components/audio_in/audio_in.py +74 -0
- viam/components/audio_in/client.py +76 -0
- viam/components/audio_in/service.py +83 -0
- viam/components/audio_input/__init__.py +1 -1
- viam/components/audio_input/audio_input.py +4 -3
- viam/components/audio_input/client.py +19 -8
- viam/components/audio_input/service.py +10 -0
- viam/components/audio_out/__init__.py +21 -0
- viam/components/audio_out/audio_out.py +72 -0
- viam/components/audio_out/client.py +67 -0
- viam/components/audio_out/service.py +63 -0
- viam/components/base/__init__.py +2 -10
- viam/components/base/base.py +20 -20
- viam/components/base/client.py +27 -30
- viam/components/board/__init__.py +2 -25
- viam/components/board/board.py +39 -77
- viam/components/board/client.py +39 -73
- viam/components/button/__init__.py +10 -0
- viam/components/button/button.py +41 -0
- viam/components/button/client.py +52 -0
- viam/components/button/service.py +46 -0
- viam/components/camera/__init__.py +1 -1
- viam/components/camera/camera.py +31 -22
- viam/components/camera/client.py +30 -20
- viam/components/camera/service.py +14 -12
- viam/components/component_base.py +10 -7
- viam/components/encoder/__init__.py +1 -1
- viam/components/encoder/client.py +15 -16
- viam/components/encoder/encoder.py +9 -9
- viam/components/gantry/__init__.py +1 -13
- viam/components/gantry/client.py +41 -28
- viam/components/gantry/gantry.py +48 -17
- viam/components/gantry/service.py +21 -5
- viam/components/generic/__init__.py +1 -1
- viam/components/generic/client.py +11 -7
- viam/components/generic/generic.py +3 -3
- viam/components/gripper/__init__.py +3 -12
- viam/components/gripper/client.py +43 -20
- viam/components/gripper/gripper.py +87 -12
- viam/components/gripper/service.py +32 -3
- viam/components/input/__init__.py +1 -14
- viam/components/input/client.py +22 -23
- viam/components/input/input.py +18 -12
- viam/components/motor/__init__.py +1 -21
- viam/components/motor/client.py +36 -42
- viam/components/motor/motor.py +24 -24
- viam/components/movement_sensor/__init__.py +1 -1
- viam/components/movement_sensor/client.py +33 -40
- viam/components/movement_sensor/movement_sensor.py +12 -12
- viam/components/pose_tracker/__init__.py +1 -1
- viam/components/pose_tracker/client.py +9 -8
- viam/components/pose_tracker/pose_tracker.py +2 -2
- viam/components/power_sensor/__init__.py +1 -1
- viam/components/power_sensor/client.py +15 -18
- viam/components/power_sensor/power_sensor.py +12 -12
- viam/components/sensor/__init__.py +1 -1
- viam/components/sensor/client.py +9 -8
- viam/components/sensor/sensor.py +5 -5
- viam/components/servo/__init__.py +1 -13
- viam/components/servo/client.py +18 -18
- viam/components/servo/servo.py +12 -12
- viam/components/switch/__init__.py +10 -0
- viam/components/switch/client.py +83 -0
- viam/components/switch/service.py +72 -0
- viam/components/switch/switch.py +95 -0
- viam/gen/app/agent/v1/agent_pb2.py +40 -29
- viam/gen/app/agent/v1/agent_pb2.pyi +73 -11
- viam/gen/app/cloudslam/v1/cloud_slam_pb2.py +45 -42
- viam/gen/app/data/v1/data_grpc.py +98 -2
- viam/gen/app/data/v1/data_pb2.py +238 -119
- viam/gen/app/data/v1/data_pb2.pyi +804 -34
- viam/gen/app/datapipelines/v1/data_pipelines_grpc.py +84 -0
- viam/gen/app/datapipelines/v1/data_pipelines_pb2.py +57 -0
- viam/gen/app/datapipelines/v1/data_pipelines_pb2.pyi +387 -0
- viam/gen/app/dataset/v1/dataset_grpc.py +10 -2
- viam/gen/app/dataset/v1/dataset_pb2.py +38 -31
- viam/gen/app/dataset/v1/dataset_pb2.pyi +36 -1
- viam/gen/app/datasync/v1/data_sync_grpc.py +1 -1
- viam/gen/app/datasync/v1/data_sync_pb2.py +61 -51
- viam/gen/app/datasync/v1/data_sync_pb2.pyi +52 -12
- viam/gen/app/mlinference/__init__.py +0 -0
- viam/gen/app/mlinference/v1/__init__.py +0 -0
- viam/gen/app/mlinference/v1/ml_inference_grpc.py +28 -0
- viam/gen/app/mlinference/v1/ml_inference_pb2.py +23 -0
- viam/gen/app/mlinference/v1/ml_inference_pb2.pyi +63 -0
- viam/gen/app/mltraining/v1/ml_training_grpc.py +18 -2
- viam/gen/app/mltraining/v1/ml_training_pb2.py +134 -101
- viam/gen/app/mltraining/v1/ml_training_pb2.pyi +193 -7
- viam/gen/app/packages/v1/packages_pb2.py +43 -40
- viam/gen/app/v1/app_grpc.py +290 -2
- viam/gen/app/v1/app_pb2.py +670 -453
- viam/gen/app/v1/app_pb2.pyi +3133 -947
- viam/gen/app/v1/billing_grpc.py +34 -2
- viam/gen/app/v1/billing_pb2.py +94 -35
- viam/gen/app/v1/billing_pb2.pyi +314 -61
- viam/gen/app/v1/end_user_pb2.py +50 -29
- viam/gen/app/v1/robot_pb2.py +120 -111
- viam/gen/app/v1/robot_pb2.pyi +137 -15
- viam/gen/common/v1/common_pb2.py +86 -66
- viam/gen/common/v1/common_pb2.pyi +184 -8
- viam/gen/component/arm/v1/arm_grpc.py +18 -2
- viam/gen/component/arm/v1/arm_pb2.py +68 -55
- viam/gen/component/arm/v1/arm_pb2.pyi +73 -3
- viam/gen/component/audioin/__init__.py +0 -0
- viam/gen/component/audioin/v1/__init__.py +0 -0
- viam/gen/component/audioin/v1/audioin_grpc.py +54 -0
- viam/gen/component/audioin/v1/audioin_pb2.py +34 -0
- viam/gen/component/audioin/v1/audioin_pb2.pyi +94 -0
- viam/gen/component/audioinput/v1/audioinput_pb2.py +35 -32
- viam/gen/component/audioout/__init__.py +0 -0
- viam/gen/component/audioout/v1/__init__.py +0 -0
- viam/gen/component/audioout/v1/audioout_grpc.py +54 -0
- viam/gen/component/audioout/v1/audioout_pb2.py +32 -0
- viam/gen/component/audioout/v1/audioout_pb2.pyi +47 -0
- viam/gen/component/base/v1/base_pb2.py +57 -54
- viam/gen/component/board/v1/board_pb2.py +93 -90
- viam/gen/component/button/__init__.py +0 -0
- viam/gen/component/button/v1/__init__.py +0 -0
- viam/gen/component/button/v1/button_grpc.py +38 -0
- viam/gen/component/button/v1/button_pb2.py +28 -0
- viam/gen/component/button/v1/button_pb2.pyi +39 -0
- viam/gen/component/camera/v1/camera_pb2.py +58 -55
- viam/gen/component/camera/v1/camera_pb2.pyi +31 -7
- viam/gen/component/encoder/v1/encoder_pb2.py +35 -32
- viam/gen/component/gantry/v1/gantry_grpc.py +9 -1
- viam/gen/component/gantry/v1/gantry_pb2.py +56 -51
- viam/gen/component/generic/v1/generic_pb2.py +15 -12
- viam/gen/component/gripper/v1/gripper_grpc.py +18 -2
- viam/gen/component/gripper/v1/gripper_pb2.py +48 -37
- viam/gen/component/gripper/v1/gripper_pb2.pyi +43 -1
- viam/gen/component/inputcontroller/v1/input_controller_pb2.py +45 -42
- viam/gen/component/motor/v1/motor_pb2.py +77 -74
- viam/gen/component/movementsensor/v1/movementsensor_pb2.py +69 -66
- viam/gen/component/posetracker/v1/pose_tracker_pb2.py +25 -22
- viam/gen/component/powersensor/v1/powersensor_pb2.py +33 -30
- viam/gen/component/sensor/v1/sensor_pb2.py +17 -14
- viam/gen/component/servo/v1/servo_pb2.py +41 -38
- viam/gen/component/switch/__init__.py +0 -0
- viam/gen/component/switch/v1/__init__.py +0 -0
- viam/gen/component/switch/v1/switch_grpc.py +54 -0
- viam/gen/component/switch/v1/switch_pb2.py +40 -0
- viam/gen/component/switch/v1/switch_pb2.pyi +116 -0
- viam/gen/component/testecho/v1/testecho_pb2.py +29 -26
- viam/gen/module/v1/module_pb2.py +36 -33
- viam/gen/module/v1/module_pb2.pyi +7 -2
- viam/gen/proto/rpc/examples/echo/v1/echo_pb2.py +26 -23
- viam/gen/proto/rpc/examples/echoresource/v1/echoresource_pb2.py +23 -20
- viam/gen/proto/rpc/v1/auth_pb2.py +27 -24
- viam/gen/proto/rpc/webrtc/v1/grpc_pb2.py +35 -32
- viam/gen/proto/rpc/webrtc/v1/signaling_pb2.py +62 -57
- viam/gen/proto/rpc/webrtc/v1/signaling_pb2.pyi +18 -4
- viam/gen/provisioning/v1/provisioning_grpc.py +10 -2
- viam/gen/provisioning/v1/provisioning_pb2.py +38 -31
- viam/gen/provisioning/v1/provisioning_pb2.pyi +20 -2
- viam/gen/robot/v1/robot_grpc.py +61 -29
- viam/gen/robot/v1/robot_pb2.py +186 -155
- viam/gen/robot/v1/robot_pb2.pyi +278 -59
- viam/gen/service/datamanager/v1/data_manager_grpc.py +11 -2
- viam/gen/service/datamanager/v1/data_manager_pb2.py +27 -17
- viam/gen/service/datamanager/v1/data_manager_pb2.pyi +47 -1
- viam/gen/service/discovery/__init__.py +0 -0
- viam/gen/service/discovery/v1/__init__.py +0 -0
- viam/gen/service/discovery/v1/discovery_grpc.py +39 -0
- viam/gen/service/discovery/v1/discovery_pb2.py +29 -0
- viam/gen/service/discovery/v1/discovery_pb2.pyi +51 -0
- viam/gen/service/generic/v1/generic_pb2.py +13 -10
- viam/gen/service/mlmodel/v1/mlmodel_pb2.py +75 -72
- viam/gen/service/motion/v1/motion_pb2.py +118 -85
- viam/gen/service/motion/v1/motion_pb2.pyi +130 -68
- viam/gen/service/navigation/v1/navigation_pb2.py +75 -72
- viam/gen/service/sensors/v1/sensors_pb2.py +59 -56
- viam/gen/service/shell/v1/shell_pb2.py +35 -32
- viam/gen/service/slam/v1/slam_pb2.py +43 -40
- viam/gen/service/slam/v1/slam_pb2.pyi +1 -1
- viam/gen/service/video/__init__.py +0 -0
- viam/gen/service/video/v1/__init__.py +0 -0
- viam/gen/service/video/v1/video_grpc.py +39 -0
- viam/gen/service/video/v1/video_pb2.py +29 -0
- viam/gen/service/video/v1/video_pb2.pyi +72 -0
- viam/gen/service/vision/v1/vision_pb2.py +60 -57
- viam/gen/service/vision/v1/vision_pb2.pyi +28 -3
- viam/gen/service/worldstatestore/__init__.py +0 -0
- viam/gen/service/worldstatestore/v1/__init__.py +0 -0
- viam/gen/service/worldstatestore/v1/world_state_store_grpc.py +55 -0
- viam/gen/service/worldstatestore/v1/world_state_store_pb2.py +39 -0
- viam/gen/service/worldstatestore/v1/world_state_store_pb2.pyi +171 -0
- viam/gen/stream/v1/stream_grpc.py +17 -1
- viam/gen/stream/v1/stream_pb2.py +34 -21
- viam/gen/stream/v1/stream_pb2.pyi +79 -1
- viam/gen/tagger/v1/tagger_pb2.py +9 -8
- viam/logging.py +77 -18
- viam/media/audio.py +28 -0
- viam/media/utils/pil/__init__.py +7 -3
- viam/media/video.py +80 -17
- viam/module/module.py +111 -38
- viam/module/resource_data_consumer.py +41 -0
- viam/module/service.py +9 -1
- viam/module/types.py +2 -4
- viam/proto/app/__init__.py +199 -0
- viam/proto/app/agent/__init__.py +5 -2
- viam/proto/app/billing.py +31 -4
- viam/proto/app/cloudslam/__init__.py +1 -0
- viam/proto/app/data/__init__.py +63 -0
- viam/proto/app/datapipelines/__init__.py +56 -0
- viam/proto/app/dataset/__init__.py +5 -0
- viam/proto/app/datasync/__init__.py +3 -0
- viam/proto/app/end_user.py +1 -0
- viam/proto/app/mlinference/__init__.py +15 -0
- viam/proto/app/mltraining/__init__.py +13 -0
- viam/proto/app/packages/__init__.py +1 -0
- viam/proto/app/robot.py +7 -0
- viam/proto/common/__init__.py +15 -0
- viam/proto/component/arm/__init__.py +7 -0
- viam/proto/component/audioin/__init__.py +16 -0
- viam/proto/component/audioinput/__init__.py +1 -0
- viam/proto/component/audioout/__init__.py +15 -0
- viam/proto/component/base/__init__.py +1 -0
- viam/proto/component/board/__init__.py +1 -0
- viam/proto/component/button/__init__.py +15 -0
- viam/proto/component/camera/__init__.py +1 -0
- viam/proto/component/encoder/__init__.py +1 -0
- viam/proto/component/gantry/__init__.py +1 -0
- viam/proto/component/generic/__init__.py +1 -0
- viam/proto/component/gripper/__init__.py +5 -0
- viam/proto/component/inputcontroller/__init__.py +1 -0
- viam/proto/component/motor/__init__.py +1 -0
- viam/proto/component/movementsensor/__init__.py +1 -0
- viam/proto/component/posetracker/__init__.py +1 -0
- viam/proto/component/powersensor/__init__.py +1 -0
- viam/proto/component/sensor/__init__.py +1 -0
- viam/proto/component/servo/__init__.py +1 -0
- viam/proto/component/switch/__init__.py +26 -0
- viam/proto/component/testecho/__init__.py +1 -0
- viam/proto/module/__init__.py +1 -0
- viam/proto/provisioning/__init__.py +5 -0
- viam/proto/robot/__init__.py +29 -8
- viam/proto/rpc/auth.py +1 -0
- viam/proto/rpc/examples/echo/__init__.py +1 -0
- viam/proto/rpc/examples/echoresource/__init__.py +1 -0
- viam/proto/rpc/webrtc/grpc.py +1 -0
- viam/proto/rpc/webrtc/signaling.py +3 -0
- viam/proto/service/datamanager/__init__.py +9 -1
- viam/proto/service/discovery/__init__.py +15 -0
- viam/proto/service/generic/__init__.py +1 -0
- viam/proto/service/mlmodel/__init__.py +1 -0
- viam/proto/service/motion/__init__.py +3 -0
- viam/proto/service/navigation/__init__.py +1 -0
- viam/proto/service/sensors/__init__.py +1 -0
- viam/proto/service/shell/__init__.py +1 -0
- viam/proto/service/slam/__init__.py +1 -0
- viam/proto/service/video/__init__.py +15 -0
- viam/proto/service/vision/__init__.py +1 -0
- viam/proto/service/worldstatestore/__init__.py +32 -0
- viam/proto/stream/__init__.py +11 -0
- viam/py.typed +0 -0
- viam/resource/base.py +12 -8
- viam/resource/easy_resource.py +24 -13
- viam/resource/manager.py +6 -5
- viam/resource/registry.py +39 -51
- viam/resource/rpc_client_base.py +33 -1
- viam/resource/types.py +13 -14
- viam/robot/client.py +190 -122
- viam/robot/service.py +2 -50
- viam/rpc/dial.py +54 -4
- viam/rpc/libviam_rust_utils.so +0 -0
- viam/rpc/server.py +25 -11
- viam/rpc/types.py +2 -4
- viam/services/discovery/__init__.py +12 -0
- viam/services/discovery/client.py +55 -0
- viam/services/discovery/discovery.py +52 -0
- viam/services/discovery/service.py +43 -0
- viam/services/generic/__init__.py +1 -1
- viam/services/generic/client.py +8 -5
- viam/services/generic/generic.py +2 -2
- viam/services/mlmodel/__init__.py +1 -1
- viam/services/mlmodel/client.py +17 -7
- viam/services/mlmodel/mlmodel.py +23 -12
- viam/services/mlmodel/service.py +5 -2
- viam/services/mlmodel/utils.py +11 -1
- viam/services/motion/__init__.py +2 -2
- viam/services/motion/client.py +32 -32
- viam/services/motion/motion.py +66 -62
- viam/services/navigation/__init__.py +1 -1
- viam/services/navigation/client.py +30 -20
- viam/services/navigation/navigation.py +23 -23
- viam/services/service_base.py +13 -9
- viam/services/service_client_base.py +3 -3
- viam/services/slam/__init__.py +1 -1
- viam/services/slam/client.py +15 -10
- viam/services/slam/slam.py +11 -11
- viam/services/vision/__init__.py +1 -1
- viam/services/vision/client.py +31 -24
- viam/services/vision/service.py +8 -8
- viam/services/vision/vision.py +36 -53
- viam/services/worldstatestore/__init__.py +18 -0
- viam/services/worldstatestore/client.py +94 -0
- viam/services/worldstatestore/service.py +55 -0
- viam/services/worldstatestore/worldstatestore.py +90 -0
- viam/sessions_client.py +115 -46
- viam/streams.py +3 -6
- viam/utils.py +44 -14
- viam/version_metadata.py +4 -0
- {viam_sdk-0.25.2.dist-info → viam_sdk-0.62.0.dist-info}/METADATA +27 -28
- viam_sdk-0.62.0.dist-info/RECORD +514 -0
- {viam_sdk-0.25.2.dist-info → viam_sdk-0.62.0.dist-info}/WHEEL +1 -1
- viam/gen/proto/rpc/examples/fileupload/v1/fileupload_grpc.py +0 -27
- viam/gen/proto/rpc/examples/fileupload/v1/fileupload_pb2.py +0 -18
- viam/gen/proto/rpc/examples/fileupload/v1/fileupload_pb2.pyi +0 -45
- viam/proto/rpc/examples/fileupload/__init__.py +0 -18
- viam/services/sensors/__init__.py +0 -5
- viam/services/sensors/client.py +0 -65
- viam_sdk-0.25.2.dist-info/LICENSE +0 -202
- viam_sdk-0.25.2.dist-info/RECORD +0 -442
- /viam/gen/{proto/rpc/examples/fileupload → app/datapipelines}/__init__.py +0 -0
- /viam/gen/{proto/rpc/examples/fileupload → app/datapipelines}/v1/__init__.py +0 -0
- /LICENSE → /viam_sdk-0.62.0.dist-info/licenses/LICENSE +0 -0
viam/components/motor/client.py
CHANGED
|
@@ -42,12 +42,11 @@ class MotorClient(Motor, ReconfigurableResourceRPCClientBase):
|
|
|
42
42
|
*,
|
|
43
43
|
extra: Optional[Dict[str, Any]] = None,
|
|
44
44
|
timeout: Optional[float] = None,
|
|
45
|
-
**
|
|
45
|
+
**kwargs,
|
|
46
46
|
):
|
|
47
|
-
|
|
48
|
-
extra = {}
|
|
47
|
+
md = kwargs.get("metadata", self.Metadata()).proto
|
|
49
48
|
request = SetPowerRequest(name=self.name, power_pct=power, extra=dict_to_struct(extra))
|
|
50
|
-
await self.client.SetPower(request, timeout=timeout)
|
|
49
|
+
await self.client.SetPower(request, timeout=timeout, metadata=md)
|
|
51
50
|
|
|
52
51
|
async def go_for(
|
|
53
52
|
self,
|
|
@@ -56,12 +55,11 @@ class MotorClient(Motor, ReconfigurableResourceRPCClientBase):
|
|
|
56
55
|
*,
|
|
57
56
|
extra: Optional[Dict[str, Any]] = None,
|
|
58
57
|
timeout: Optional[float] = None,
|
|
59
|
-
**
|
|
58
|
+
**kwargs,
|
|
60
59
|
):
|
|
61
|
-
|
|
62
|
-
extra = {}
|
|
60
|
+
md = kwargs.get("metadata", self.Metadata()).proto
|
|
63
61
|
request = GoForRequest(name=self.name, rpm=rpm, revolutions=revolutions, extra=dict_to_struct(extra))
|
|
64
|
-
await self.client.GoFor(request, timeout=timeout)
|
|
62
|
+
await self.client.GoFor(request, timeout=timeout, metadata=md)
|
|
65
63
|
|
|
66
64
|
async def go_to(
|
|
67
65
|
self,
|
|
@@ -70,12 +68,11 @@ class MotorClient(Motor, ReconfigurableResourceRPCClientBase):
|
|
|
70
68
|
*,
|
|
71
69
|
extra: Optional[Dict[str, Any]] = None,
|
|
72
70
|
timeout: Optional[float] = None,
|
|
73
|
-
**
|
|
71
|
+
**kwargs,
|
|
74
72
|
):
|
|
75
|
-
|
|
76
|
-
extra = {}
|
|
73
|
+
md = kwargs.get("metadata", self.Metadata()).proto
|
|
77
74
|
request = GoToRequest(name=self.name, rpm=rpm, position_revolutions=position_revolutions, extra=dict_to_struct(extra))
|
|
78
|
-
await self.client.GoTo(request, timeout=timeout)
|
|
75
|
+
await self.client.GoTo(request, timeout=timeout, metadata=md)
|
|
79
76
|
|
|
80
77
|
async def set_rpm(
|
|
81
78
|
self,
|
|
@@ -83,12 +80,11 @@ class MotorClient(Motor, ReconfigurableResourceRPCClientBase):
|
|
|
83
80
|
*,
|
|
84
81
|
extra: Optional[Dict[str, Any]] = None,
|
|
85
82
|
timeout: Optional[float] = None,
|
|
86
|
-
**
|
|
83
|
+
**kwargs,
|
|
87
84
|
):
|
|
88
|
-
|
|
89
|
-
extra = {}
|
|
85
|
+
md = kwargs.get("metadata", self.Metadata()).proto
|
|
90
86
|
request = SetRPMRequest(name=self.name, rpm=rpm, extra=dict_to_struct(extra))
|
|
91
|
-
await self.client.SetRPM(request, timeout=timeout)
|
|
87
|
+
await self.client.SetRPM(request, timeout=timeout, metadata=md)
|
|
92
88
|
|
|
93
89
|
async def reset_zero_position(
|
|
94
90
|
self,
|
|
@@ -96,24 +92,22 @@ class MotorClient(Motor, ReconfigurableResourceRPCClientBase):
|
|
|
96
92
|
*,
|
|
97
93
|
extra: Optional[Dict[str, Any]] = None,
|
|
98
94
|
timeout: Optional[float] = None,
|
|
99
|
-
**
|
|
95
|
+
**kwargs,
|
|
100
96
|
):
|
|
101
|
-
|
|
102
|
-
extra = {}
|
|
97
|
+
md = kwargs.get("metadata", self.Metadata()).proto
|
|
103
98
|
request = ResetZeroPositionRequest(name=self.name, offset=offset, extra=dict_to_struct(extra))
|
|
104
|
-
await self.client.ResetZeroPosition(request, timeout=timeout)
|
|
99
|
+
await self.client.ResetZeroPosition(request, timeout=timeout, metadata=md)
|
|
105
100
|
|
|
106
101
|
async def get_position(
|
|
107
102
|
self,
|
|
108
103
|
*,
|
|
109
104
|
extra: Optional[Dict[str, Any]] = None,
|
|
110
105
|
timeout: Optional[float] = None,
|
|
111
|
-
**
|
|
106
|
+
**kwargs,
|
|
112
107
|
) -> float:
|
|
113
|
-
|
|
114
|
-
extra = {}
|
|
108
|
+
md = kwargs.get("metadata", self.Metadata()).proto
|
|
115
109
|
request = GetPositionRequest(name=self.name, extra=dict_to_struct(extra))
|
|
116
|
-
response: GetPositionResponse = await self.client.GetPosition(request, timeout=timeout)
|
|
110
|
+
response: GetPositionResponse = await self.client.GetPosition(request, timeout=timeout, metadata=md)
|
|
117
111
|
return response.position
|
|
118
112
|
|
|
119
113
|
async def get_properties(
|
|
@@ -121,12 +115,11 @@ class MotorClient(Motor, ReconfigurableResourceRPCClientBase):
|
|
|
121
115
|
*,
|
|
122
116
|
extra: Optional[Dict[str, Any]] = None,
|
|
123
117
|
timeout: Optional[float] = None,
|
|
124
|
-
**
|
|
118
|
+
**kwargs,
|
|
125
119
|
) -> Motor.Properties:
|
|
126
|
-
|
|
127
|
-
extra = {}
|
|
120
|
+
md = kwargs.get("metadata", self.Metadata()).proto
|
|
128
121
|
request = GetPropertiesRequest(name=self.name, extra=dict_to_struct(extra))
|
|
129
|
-
response: GetPropertiesResponse = await self.client.GetProperties(request, timeout=timeout)
|
|
122
|
+
response: GetPropertiesResponse = await self.client.GetProperties(request, timeout=timeout, metadata=md)
|
|
130
123
|
return Motor.Properties(position_reporting=response.position_reporting)
|
|
131
124
|
|
|
132
125
|
async def stop(
|
|
@@ -134,29 +127,28 @@ class MotorClient(Motor, ReconfigurableResourceRPCClientBase):
|
|
|
134
127
|
*,
|
|
135
128
|
extra: Optional[Dict[str, Any]] = None,
|
|
136
129
|
timeout: Optional[float] = None,
|
|
137
|
-
**
|
|
130
|
+
**kwargs,
|
|
138
131
|
):
|
|
139
|
-
|
|
140
|
-
extra = {}
|
|
132
|
+
md = kwargs.get("metadata", self.Metadata()).proto
|
|
141
133
|
request = StopRequest(name=self.name, extra=dict_to_struct(extra))
|
|
142
|
-
await self.client.Stop(request, timeout=timeout)
|
|
134
|
+
await self.client.Stop(request, timeout=timeout, metadata=md)
|
|
143
135
|
|
|
144
136
|
async def is_powered(
|
|
145
137
|
self,
|
|
146
138
|
*,
|
|
147
139
|
extra: Optional[Dict[str, Any]] = None,
|
|
148
140
|
timeout: Optional[float] = None,
|
|
149
|
-
**
|
|
141
|
+
**kwargs,
|
|
150
142
|
) -> Tuple[bool, float]:
|
|
151
|
-
|
|
152
|
-
extra = {}
|
|
143
|
+
md = kwargs.get("metadata", self.Metadata()).proto
|
|
153
144
|
request = IsPoweredRequest(name=self.name, extra=dict_to_struct(extra))
|
|
154
|
-
response: IsPoweredResponse = await self.client.IsPowered(request, timeout=timeout)
|
|
145
|
+
response: IsPoweredResponse = await self.client.IsPowered(request, timeout=timeout, metadata=md)
|
|
155
146
|
return response.is_on, response.power_pct
|
|
156
147
|
|
|
157
|
-
async def is_moving(self, *, timeout: Optional[float] = None) -> bool:
|
|
148
|
+
async def is_moving(self, *, timeout: Optional[float] = None, **kwargs) -> bool:
|
|
149
|
+
md = kwargs.get("metadata", self.Metadata()).proto
|
|
158
150
|
request = IsMovingRequest(name=self.name)
|
|
159
|
-
response: IsMovingResponse = await self.client.IsMoving(request, timeout=timeout)
|
|
151
|
+
response: IsMovingResponse = await self.client.IsMoving(request, timeout=timeout, metadata=md)
|
|
160
152
|
return response.is_moving
|
|
161
153
|
|
|
162
154
|
async def do_command(
|
|
@@ -164,11 +156,13 @@ class MotorClient(Motor, ReconfigurableResourceRPCClientBase):
|
|
|
164
156
|
command: Mapping[str, ValueTypes],
|
|
165
157
|
*,
|
|
166
158
|
timeout: Optional[float] = None,
|
|
167
|
-
**
|
|
159
|
+
**kwargs,
|
|
168
160
|
) -> Mapping[str, ValueTypes]:
|
|
161
|
+
md = kwargs.get("metadata", self.Metadata()).proto
|
|
169
162
|
request = DoCommandRequest(name=self.name, command=dict_to_struct(command))
|
|
170
|
-
response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout)
|
|
163
|
+
response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout, metadata=md)
|
|
171
164
|
return struct_to_dict(response.result)
|
|
172
165
|
|
|
173
|
-
async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[Geometry]:
|
|
174
|
-
|
|
166
|
+
async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> List[Geometry]:
|
|
167
|
+
md = kwargs.get("metadata", self.Metadata())
|
|
168
|
+
return await get_geometries(self.client, self.name, extra, timeout, md)
|
viam/components/motor/motor.py
CHANGED
|
@@ -2,7 +2,7 @@ import abc
|
|
|
2
2
|
from dataclasses import dataclass
|
|
3
3
|
from typing import Any, Dict, Final, Optional, Tuple
|
|
4
4
|
|
|
5
|
-
from viam.resource.types import RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT
|
|
5
|
+
from viam.resource.types import API, RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT
|
|
6
6
|
|
|
7
7
|
from ..component_base import ComponentBase
|
|
8
8
|
|
|
@@ -18,14 +18,14 @@ class Motor(ComponentBase):
|
|
|
18
18
|
|
|
19
19
|
from viam.components.motor import Motor
|
|
20
20
|
|
|
21
|
-
For more information, see `Motor component <https://docs.viam.com/components/motor/>`_.
|
|
21
|
+
For more information, see `Motor component <https://docs.viam.com/dev/reference/apis/components/motor/>`_.
|
|
22
22
|
"""
|
|
23
23
|
|
|
24
24
|
@dataclass
|
|
25
25
|
class Properties:
|
|
26
26
|
position_reporting: bool
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
API: Final = API( # pyright: ignore [reportIncompatibleVariableOverride]
|
|
29
29
|
RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "motor"
|
|
30
30
|
)
|
|
31
31
|
|
|
@@ -44,7 +44,7 @@ class Motor(ComponentBase):
|
|
|
44
44
|
|
|
45
45
|
::
|
|
46
46
|
|
|
47
|
-
my_motor = Motor.from_robot(robot=
|
|
47
|
+
my_motor = Motor.from_robot(robot=machine, name="my_motor")
|
|
48
48
|
|
|
49
49
|
# Set the power to 40% forwards.
|
|
50
50
|
await my_motor.set_power(power=0.4)
|
|
@@ -53,7 +53,7 @@ class Motor(ComponentBase):
|
|
|
53
53
|
power (float): Power between -1 and 1
|
|
54
54
|
(negative implies backwards).
|
|
55
55
|
|
|
56
|
-
For more information, see `Motor component <https://docs.viam.com/components/motor
|
|
56
|
+
For more information, see `Motor component <https://docs.viam.com/dev/reference/apis/components/motor/#setpower>`_.
|
|
57
57
|
"""
|
|
58
58
|
...
|
|
59
59
|
|
|
@@ -74,7 +74,7 @@ class Motor(ComponentBase):
|
|
|
74
74
|
|
|
75
75
|
::
|
|
76
76
|
|
|
77
|
-
my_motor = Motor.from_robot(robot=
|
|
77
|
+
my_motor = Motor.from_robot(robot=machine, name="my_motor")
|
|
78
78
|
|
|
79
79
|
# Turn the motor 7.2 revolutions at 60 RPM.
|
|
80
80
|
await my_motor.go_for(rpm=60, revolutions=7.2)
|
|
@@ -85,7 +85,7 @@ class Motor(ComponentBase):
|
|
|
85
85
|
revolutions (float): Number of revolutions the motor should run for
|
|
86
86
|
(negative implies backwards).
|
|
87
87
|
|
|
88
|
-
For more information, see `Motor component <https://docs.viam.com/components/motor
|
|
88
|
+
For more information, see `Motor component <https://docs.viam.com/dev/reference/apis/components/motor/#gofor>`_.
|
|
89
89
|
"""
|
|
90
90
|
...
|
|
91
91
|
|
|
@@ -107,7 +107,7 @@ class Motor(ComponentBase):
|
|
|
107
107
|
|
|
108
108
|
::
|
|
109
109
|
|
|
110
|
-
my_motor = Motor.from_robot(robot=
|
|
110
|
+
my_motor = Motor.from_robot(robot=machine, name="my_motor")
|
|
111
111
|
|
|
112
112
|
# Turn the motor to 8.3 revolutions from home at 75 RPM.
|
|
113
113
|
await my_motor.go_to(rpm=75, revolutions=8.3)
|
|
@@ -116,7 +116,7 @@ class Motor(ComponentBase):
|
|
|
116
116
|
rpm (float): Speed at which the motor should rotate (absolute value).
|
|
117
117
|
position_revolutions (float): Target position relative to home/zero, in revolutions.
|
|
118
118
|
|
|
119
|
-
For more information, see `Motor component <https://docs.viam.com/components/motor
|
|
119
|
+
For more information, see `Motor component <https://docs.viam.com/dev/reference/apis/components/motor/#goto>`_.
|
|
120
120
|
"""
|
|
121
121
|
...
|
|
122
122
|
|
|
@@ -135,7 +135,7 @@ class Motor(ComponentBase):
|
|
|
135
135
|
|
|
136
136
|
::
|
|
137
137
|
|
|
138
|
-
my_motor = Motor.from_robot(robot=
|
|
138
|
+
my_motor = Motor.from_robot(robot=machine, name="my_motor")
|
|
139
139
|
|
|
140
140
|
# Spin the motor at 75 RPM.
|
|
141
141
|
await my_motor.set_rpm(rpm=75)
|
|
@@ -143,7 +143,7 @@ class Motor(ComponentBase):
|
|
|
143
143
|
Args:
|
|
144
144
|
rpm (float): Speed at which the motor should rotate.
|
|
145
145
|
|
|
146
|
-
For more information, see `Motor component <https://docs.viam.com/components/motor
|
|
146
|
+
For more information, see `Motor component <https://docs.viam.com/dev/reference/apis/components/motor/#setrpm>`_.
|
|
147
147
|
"""
|
|
148
148
|
...
|
|
149
149
|
|
|
@@ -161,7 +161,7 @@ class Motor(ComponentBase):
|
|
|
161
161
|
|
|
162
162
|
::
|
|
163
163
|
|
|
164
|
-
my_motor = Motor.from_robot(robot=
|
|
164
|
+
my_motor = Motor.from_robot(robot=machine, name="my_motor")
|
|
165
165
|
|
|
166
166
|
# Set the current position as the new home position with no offset.
|
|
167
167
|
await my_motor.reset_zero_position(offset=0.0)
|
|
@@ -169,7 +169,7 @@ class Motor(ComponentBase):
|
|
|
169
169
|
Args:
|
|
170
170
|
offset (float): The offset from the current position to new home/zero position.
|
|
171
171
|
|
|
172
|
-
For more information, see `Motor component <https://docs.viam.com/components/motor
|
|
172
|
+
For more information, see `Motor component <https://docs.viam.com/dev/reference/apis/components/motor/#resetzeroposition>`_.
|
|
173
173
|
"""
|
|
174
174
|
...
|
|
175
175
|
|
|
@@ -188,7 +188,7 @@ class Motor(ComponentBase):
|
|
|
188
188
|
|
|
189
189
|
::
|
|
190
190
|
|
|
191
|
-
my_motor = Motor.from_robot(robot=
|
|
191
|
+
my_motor = Motor.from_robot(robot=machine, name="my_motor")
|
|
192
192
|
|
|
193
193
|
# Get the current position of the motor.
|
|
194
194
|
position = await my_motor.get_position()
|
|
@@ -196,7 +196,7 @@ class Motor(ComponentBase):
|
|
|
196
196
|
Returns:
|
|
197
197
|
float: Number of revolutions the motor is away from zero/home.
|
|
198
198
|
|
|
199
|
-
For more information, see `Motor component <https://docs.viam.com/components/motor
|
|
199
|
+
For more information, see `Motor component <https://docs.viam.com/dev/reference/apis/components/motor/#getposition>`_.
|
|
200
200
|
"""
|
|
201
201
|
...
|
|
202
202
|
|
|
@@ -214,7 +214,7 @@ class Motor(ComponentBase):
|
|
|
214
214
|
|
|
215
215
|
::
|
|
216
216
|
|
|
217
|
-
my_motor = Motor.from_robot(robot=
|
|
217
|
+
my_motor = Motor.from_robot(robot=machine, name="my_motor")
|
|
218
218
|
|
|
219
219
|
# Report a dictionary mapping optional properties to whether it is supported by
|
|
220
220
|
# this motor.
|
|
@@ -226,7 +226,7 @@ class Motor(ComponentBase):
|
|
|
226
226
|
Returns:
|
|
227
227
|
Properties: Map of feature names to supported status.
|
|
228
228
|
|
|
229
|
-
For more information, see `Motor component <https://docs.viam.com/components/motor
|
|
229
|
+
For more information, see `Motor component <https://docs.viam.com/dev/reference/apis/components/motor/#getproperties>`_.
|
|
230
230
|
"""
|
|
231
231
|
...
|
|
232
232
|
|
|
@@ -243,12 +243,12 @@ class Motor(ComponentBase):
|
|
|
243
243
|
|
|
244
244
|
::
|
|
245
245
|
|
|
246
|
-
my_motor = Motor.from_robot(robot=
|
|
246
|
+
my_motor = Motor.from_robot(robot=machine, name="my_motor")
|
|
247
247
|
|
|
248
248
|
# Stop the motor.
|
|
249
249
|
await my_motor.stop()
|
|
250
250
|
|
|
251
|
-
For more information, see `Motor component <https://docs.viam.com/components/motor
|
|
251
|
+
For more information, see `Motor component <https://docs.viam.com/dev/reference/apis/components/motor/#stop>`_.
|
|
252
252
|
"""
|
|
253
253
|
...
|
|
254
254
|
|
|
@@ -265,7 +265,7 @@ class Motor(ComponentBase):
|
|
|
265
265
|
|
|
266
266
|
::
|
|
267
267
|
|
|
268
|
-
my_motor = Motor.from_robot(robot=
|
|
268
|
+
my_motor = Motor.from_robot(robot=machine, name="my_motor")
|
|
269
269
|
|
|
270
270
|
# Check whether the motor is currently running.
|
|
271
271
|
powered = await my_motor.is_powered()
|
|
@@ -274,9 +274,9 @@ class Motor(ComponentBase):
|
|
|
274
274
|
|
|
275
275
|
Returns:
|
|
276
276
|
Tuple[bool, float]: A tuple containing two values; the first [0] value indicates whether the motor is currently powered, and
|
|
277
|
-
|
|
277
|
+
the second [1] value indicates the current power percentage of the motor.
|
|
278
278
|
|
|
279
|
-
For more information, see `Motor component <https://docs.viam.com/components/motor
|
|
279
|
+
For more information, see `Motor component <https://docs.viam.com/dev/reference/apis/components/motor/#ispowered>`_.
|
|
280
280
|
"""
|
|
281
281
|
...
|
|
282
282
|
|
|
@@ -287,7 +287,7 @@ class Motor(ComponentBase):
|
|
|
287
287
|
|
|
288
288
|
::
|
|
289
289
|
|
|
290
|
-
my_motor = Motor.from_robot(robot=
|
|
290
|
+
my_motor = Motor.from_robot(robot=machine, name="my_motor")
|
|
291
291
|
|
|
292
292
|
# Check whether the motor is currently moving.
|
|
293
293
|
moving = await my_motor.is_moving()
|
|
@@ -296,6 +296,6 @@ class Motor(ComponentBase):
|
|
|
296
296
|
Returns:
|
|
297
297
|
bool: Whether the motor is moving.
|
|
298
298
|
|
|
299
|
-
For more information, see `Motor component <https://docs.viam.com/components/motor
|
|
299
|
+
For more information, see `Motor component <https://docs.viam.com/dev/reference/apis/components/motor/#ismoving>`_.
|
|
300
300
|
"""
|
|
301
301
|
...
|
|
@@ -41,12 +41,11 @@ class MovementSensorClient(MovementSensor, ReconfigurableResourceRPCClientBase):
|
|
|
41
41
|
*,
|
|
42
42
|
extra: Optional[Dict[str, Any]] = None,
|
|
43
43
|
timeout: Optional[float] = None,
|
|
44
|
-
**
|
|
44
|
+
**kwargs,
|
|
45
45
|
) -> Tuple[GeoPoint, float]:
|
|
46
|
-
|
|
47
|
-
extra = {}
|
|
46
|
+
md = kwargs.get("metadata", self.Metadata()).proto
|
|
48
47
|
request = GetPositionRequest(name=self.name, extra=dict_to_struct(extra))
|
|
49
|
-
response: GetPositionResponse = await self.client.GetPosition(request, timeout=timeout)
|
|
48
|
+
response: GetPositionResponse = await self.client.GetPosition(request, timeout=timeout, metadata=md)
|
|
50
49
|
return response.coordinate, response.altitude_m
|
|
51
50
|
|
|
52
51
|
async def get_linear_velocity(
|
|
@@ -54,12 +53,11 @@ class MovementSensorClient(MovementSensor, ReconfigurableResourceRPCClientBase):
|
|
|
54
53
|
*,
|
|
55
54
|
extra: Optional[Dict[str, Any]] = None,
|
|
56
55
|
timeout: Optional[float] = None,
|
|
57
|
-
**
|
|
56
|
+
**kwargs,
|
|
58
57
|
) -> Vector3:
|
|
59
|
-
|
|
60
|
-
extra = {}
|
|
58
|
+
md = kwargs.get("metadata", self.Metadata()).proto
|
|
61
59
|
request = GetLinearVelocityRequest(name=self.name, extra=dict_to_struct(extra))
|
|
62
|
-
response: GetLinearVelocityResponse = await self.client.GetLinearVelocity(request, timeout=timeout)
|
|
60
|
+
response: GetLinearVelocityResponse = await self.client.GetLinearVelocity(request, timeout=timeout, metadata=md)
|
|
63
61
|
return response.linear_velocity
|
|
64
62
|
|
|
65
63
|
async def get_angular_velocity(
|
|
@@ -67,12 +65,11 @@ class MovementSensorClient(MovementSensor, ReconfigurableResourceRPCClientBase):
|
|
|
67
65
|
*,
|
|
68
66
|
extra: Optional[Dict[str, Any]] = None,
|
|
69
67
|
timeout: Optional[float] = None,
|
|
70
|
-
**
|
|
68
|
+
**kwargs,
|
|
71
69
|
) -> Vector3:
|
|
72
|
-
|
|
73
|
-
extra = {}
|
|
70
|
+
md = kwargs.get("metadata", self.Metadata()).proto
|
|
74
71
|
request = GetAngularVelocityRequest(name=self.name, extra=dict_to_struct(extra))
|
|
75
|
-
response: GetAngularVelocityResponse = await self.client.GetAngularVelocity(request, timeout=timeout)
|
|
72
|
+
response: GetAngularVelocityResponse = await self.client.GetAngularVelocity(request, timeout=timeout, metadata=md)
|
|
76
73
|
return response.angular_velocity
|
|
77
74
|
|
|
78
75
|
async def get_linear_acceleration(
|
|
@@ -80,12 +77,11 @@ class MovementSensorClient(MovementSensor, ReconfigurableResourceRPCClientBase):
|
|
|
80
77
|
*,
|
|
81
78
|
extra: Optional[Dict[str, Any]] = None,
|
|
82
79
|
timeout: Optional[float] = None,
|
|
83
|
-
**
|
|
80
|
+
**kwargs,
|
|
84
81
|
) -> Vector3:
|
|
85
|
-
|
|
86
|
-
extra = {}
|
|
82
|
+
md = kwargs.get("metadata", self.Metadata()).proto
|
|
87
83
|
request = GetLinearAccelerationRequest(name=self.name, extra=dict_to_struct(extra))
|
|
88
|
-
response: GetLinearAccelerationResponse = await self.client.GetLinearAcceleration(request, timeout=timeout)
|
|
84
|
+
response: GetLinearAccelerationResponse = await self.client.GetLinearAcceleration(request, timeout=timeout, metadata=md)
|
|
89
85
|
return response.linear_acceleration
|
|
90
86
|
|
|
91
87
|
async def get_compass_heading(
|
|
@@ -93,12 +89,11 @@ class MovementSensorClient(MovementSensor, ReconfigurableResourceRPCClientBase):
|
|
|
93
89
|
*,
|
|
94
90
|
extra: Optional[Dict[str, Any]] = None,
|
|
95
91
|
timeout: Optional[float] = None,
|
|
96
|
-
**
|
|
92
|
+
**kwargs,
|
|
97
93
|
) -> float:
|
|
98
|
-
|
|
99
|
-
extra = {}
|
|
94
|
+
md = kwargs.get("metadata", self.Metadata()).proto
|
|
100
95
|
request = GetCompassHeadingRequest(name=self.name, extra=dict_to_struct(extra))
|
|
101
|
-
response: GetCompassHeadingResponse = await self.client.GetCompassHeading(request, timeout=timeout)
|
|
96
|
+
response: GetCompassHeadingResponse = await self.client.GetCompassHeading(request, timeout=timeout, metadata=md)
|
|
102
97
|
return response.value
|
|
103
98
|
|
|
104
99
|
async def get_orientation(
|
|
@@ -106,12 +101,11 @@ class MovementSensorClient(MovementSensor, ReconfigurableResourceRPCClientBase):
|
|
|
106
101
|
*,
|
|
107
102
|
extra: Optional[Dict[str, Any]] = None,
|
|
108
103
|
timeout: Optional[float] = None,
|
|
109
|
-
**
|
|
104
|
+
**kwargs,
|
|
110
105
|
) -> Orientation:
|
|
111
|
-
|
|
112
|
-
extra = {}
|
|
106
|
+
md = kwargs.get("metadata", self.Metadata()).proto
|
|
113
107
|
request = GetOrientationRequest(name=self.name, extra=dict_to_struct(extra))
|
|
114
|
-
response: GetOrientationResponse = await self.client.GetOrientation(request, timeout=timeout)
|
|
108
|
+
response: GetOrientationResponse = await self.client.GetOrientation(request, timeout=timeout, metadata=md)
|
|
115
109
|
return response.orientation
|
|
116
110
|
|
|
117
111
|
async def get_properties(
|
|
@@ -119,12 +113,11 @@ class MovementSensorClient(MovementSensor, ReconfigurableResourceRPCClientBase):
|
|
|
119
113
|
*,
|
|
120
114
|
extra: Optional[Dict[str, Any]] = None,
|
|
121
115
|
timeout: Optional[float] = None,
|
|
122
|
-
**
|
|
116
|
+
**kwargs,
|
|
123
117
|
) -> MovementSensor.Properties:
|
|
124
|
-
|
|
125
|
-
extra = {}
|
|
118
|
+
md = kwargs.get("metadata", self.Metadata()).proto
|
|
126
119
|
request = GetPropertiesRequest(name=self.name, extra=dict_to_struct(extra))
|
|
127
|
-
response: GetPropertiesResponse = await self.client.GetProperties(request, timeout=timeout)
|
|
120
|
+
response: GetPropertiesResponse = await self.client.GetProperties(request, timeout=timeout, metadata=md)
|
|
128
121
|
return MovementSensor.Properties.from_proto(response)
|
|
129
122
|
|
|
130
123
|
async def get_accuracy(
|
|
@@ -132,24 +125,22 @@ class MovementSensorClient(MovementSensor, ReconfigurableResourceRPCClientBase):
|
|
|
132
125
|
*,
|
|
133
126
|
extra: Optional[Dict[str, Any]] = None,
|
|
134
127
|
timeout: Optional[float] = None,
|
|
135
|
-
**
|
|
128
|
+
**kwargs,
|
|
136
129
|
) -> MovementSensor.Accuracy:
|
|
137
|
-
|
|
138
|
-
extra = {}
|
|
130
|
+
md = kwargs.get("metadata", self.Metadata()).proto
|
|
139
131
|
request = GetAccuracyRequest(name=self.name, extra=dict_to_struct(extra))
|
|
140
|
-
return await self.client.GetAccuracy(request, timeout=timeout)
|
|
132
|
+
return await self.client.GetAccuracy(request, timeout=timeout, metadata=md)
|
|
141
133
|
|
|
142
134
|
async def get_readings(
|
|
143
135
|
self,
|
|
144
136
|
*,
|
|
145
137
|
extra: Optional[Dict[str, Any]] = None,
|
|
146
138
|
timeout: Optional[float] = None,
|
|
147
|
-
**
|
|
139
|
+
**kwargs,
|
|
148
140
|
) -> Mapping[str, SensorReading]:
|
|
149
|
-
|
|
150
|
-
extra = {}
|
|
141
|
+
md = kwargs.get("metadata", self.Metadata()).proto
|
|
151
142
|
request = GetReadingsRequest(name=self.name, extra=dict_to_struct(extra))
|
|
152
|
-
response: GetReadingsResponse = await self.client.GetReadings(request, timeout=timeout)
|
|
143
|
+
response: GetReadingsResponse = await self.client.GetReadings(request, timeout=timeout, metadata=md)
|
|
153
144
|
|
|
154
145
|
return sensor_readings_value_to_native(response.readings)
|
|
155
146
|
|
|
@@ -158,11 +149,13 @@ class MovementSensorClient(MovementSensor, ReconfigurableResourceRPCClientBase):
|
|
|
158
149
|
command: Mapping[str, ValueTypes],
|
|
159
150
|
*,
|
|
160
151
|
timeout: Optional[float] = None,
|
|
161
|
-
**
|
|
152
|
+
**kwargs,
|
|
162
153
|
) -> Mapping[str, ValueTypes]:
|
|
154
|
+
md = kwargs.get("metadata", self.Metadata()).proto
|
|
163
155
|
request = DoCommandRequest(name=self.name, command=dict_to_struct(command))
|
|
164
|
-
response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout)
|
|
156
|
+
response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout, metadata=md)
|
|
165
157
|
return struct_to_dict(response.result)
|
|
166
158
|
|
|
167
|
-
async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[Geometry]:
|
|
168
|
-
|
|
159
|
+
async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> List[Geometry]:
|
|
160
|
+
md = kwargs.get("metadata", self.Metadata())
|
|
161
|
+
return await get_geometries(self.client, self.name, extra, timeout, md)
|
|
@@ -7,7 +7,7 @@ from typing_extensions import Self
|
|
|
7
7
|
|
|
8
8
|
from viam.components.component_base import ComponentBase
|
|
9
9
|
from viam.proto.component.movementsensor import GetAccuracyResponse, GetPropertiesResponse
|
|
10
|
-
from viam.resource.types import RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT
|
|
10
|
+
from viam.resource.types import API, RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT
|
|
11
11
|
from viam.utils import SensorReading
|
|
12
12
|
|
|
13
13
|
from . import GeoPoint, Orientation, Vector3
|
|
@@ -28,10 +28,10 @@ class MovementSensor(ComponentBase):
|
|
|
28
28
|
|
|
29
29
|
from viam.components.movement_sensor import MovementSensor
|
|
30
30
|
|
|
31
|
-
For more information, see `Movement Sensor component <https://docs.viam.com/components/movement-sensor/>`_.
|
|
31
|
+
For more information, see `Movement Sensor component <https://docs.viam.com/dev/reference/apis/components/movement-sensor/>`_.
|
|
32
32
|
"""
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
API: Final = API( # pyright: ignore [reportIncompatibleVariableOverride]
|
|
35
35
|
RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "movement_sensor"
|
|
36
36
|
)
|
|
37
37
|
|
|
@@ -86,7 +86,7 @@ class MovementSensor(ComponentBase):
|
|
|
86
86
|
Returns:
|
|
87
87
|
Tuple[GeoPoint, float]: The current lat/long, along with the altitude in m
|
|
88
88
|
|
|
89
|
-
For more information, see `Movement Sensor component <https://docs.viam.com/components/movement-sensor
|
|
89
|
+
For more information, see `Movement Sensor component <https://docs.viam.com/dev/reference/apis/components/movement-sensor/#getposition>`_.
|
|
90
90
|
"""
|
|
91
91
|
...
|
|
92
92
|
|
|
@@ -105,7 +105,7 @@ class MovementSensor(ComponentBase):
|
|
|
105
105
|
Returns:
|
|
106
106
|
Vector3: The linear velocity in m/sec
|
|
107
107
|
|
|
108
|
-
For more information, see `Movement Sensor component <https://docs.viam.com/components/movement-sensor
|
|
108
|
+
For more information, see `Movement Sensor component <https://docs.viam.com/dev/reference/apis/components/movement-sensor/#getlinearvelocity>`_.
|
|
109
109
|
"""
|
|
110
110
|
...
|
|
111
111
|
|
|
@@ -127,7 +127,7 @@ class MovementSensor(ComponentBase):
|
|
|
127
127
|
Returns:
|
|
128
128
|
Vector3: The angular velocity in degrees/sec
|
|
129
129
|
|
|
130
|
-
For more information, see `Movement Sensor component <https://docs.viam.com/components/movement-sensor
|
|
130
|
+
For more information, see `Movement Sensor component <https://docs.viam.com/dev/reference/apis/components/movement-sensor/#getangularvelocity>`_.
|
|
131
131
|
"""
|
|
132
132
|
...
|
|
133
133
|
|
|
@@ -151,7 +151,7 @@ class MovementSensor(ComponentBase):
|
|
|
151
151
|
Returns:
|
|
152
152
|
Vector3: The linear acceleration in m/sec^2
|
|
153
153
|
|
|
154
|
-
For more information, see `Movement Sensor component <https://docs.viam.com/components/movement-sensor
|
|
154
|
+
For more information, see `Movement Sensor component <https://docs.viam.com/dev/reference/apis/components/movement-sensor/#getlinearacceleration>`_.
|
|
155
155
|
"""
|
|
156
156
|
...
|
|
157
157
|
|
|
@@ -170,7 +170,7 @@ class MovementSensor(ComponentBase):
|
|
|
170
170
|
Returns:
|
|
171
171
|
float: The compass heading in degrees
|
|
172
172
|
|
|
173
|
-
For more information, see `Movement Sensor component <https://docs.viam.com/components/movement-sensor
|
|
173
|
+
For more information, see `Movement Sensor component <https://docs.viam.com/dev/reference/apis/components/movement-sensor/#getcompassheading>`_.
|
|
174
174
|
"""
|
|
175
175
|
...
|
|
176
176
|
|
|
@@ -189,7 +189,7 @@ class MovementSensor(ComponentBase):
|
|
|
189
189
|
Returns:
|
|
190
190
|
Orientation: The orientation
|
|
191
191
|
|
|
192
|
-
For more information, see `Movement Sensor component <https://docs.viam.com/components/movement-sensor
|
|
192
|
+
For more information, see `Movement Sensor component <https://docs.viam.com/dev/reference/apis/components/movement-sensor/#getorientation>`_.
|
|
193
193
|
"""
|
|
194
194
|
...
|
|
195
195
|
|
|
@@ -208,7 +208,7 @@ class MovementSensor(ComponentBase):
|
|
|
208
208
|
Returns:
|
|
209
209
|
MovementSensor.Properties: The properties
|
|
210
210
|
|
|
211
|
-
For more information, see `Movement Sensor component <https://docs.viam.com/components/movement-sensor
|
|
211
|
+
For more information, see `Movement Sensor component <https://docs.viam.com/dev/reference/apis/components/movement-sensor/#getproperties>`_.
|
|
212
212
|
"""
|
|
213
213
|
...
|
|
214
214
|
|
|
@@ -227,7 +227,7 @@ class MovementSensor(ComponentBase):
|
|
|
227
227
|
Returns:
|
|
228
228
|
MovementSensor.Accuracy: The accuracies of the movement sensor
|
|
229
229
|
|
|
230
|
-
For more information, see `Movement Sensor component <https://docs.viam.com/components/movement-sensor
|
|
230
|
+
For more information, see `Movement Sensor component <https://docs.viam.com/dev/reference/apis/components/movement-sensor/#getaccuracy>`_.
|
|
231
231
|
"""
|
|
232
232
|
...
|
|
233
233
|
|
|
@@ -248,6 +248,6 @@ class MovementSensor(ComponentBase):
|
|
|
248
248
|
Returns:
|
|
249
249
|
Mapping[str, Any]: The readings for the MovementSensor. Can be of any type.
|
|
250
250
|
|
|
251
|
-
For more information, see `Movement Sensor component <https://docs.viam.com/components/movement-sensor
|
|
251
|
+
For more information, see `Movement Sensor component <https://docs.viam.com/dev/reference/apis/components/movement-sensor/#getreadings>`_.
|
|
252
252
|
"""
|
|
253
253
|
...
|