wujihandpy 0.5.2__cp311-cp311-manylinux_2_28_x86_64.whl → 1.2.0b0.dev0__cp311-cp311-manylinux_2_28_x86_64.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.
Potentially problematic release.
This version of wujihandpy might be problematic. Click here for more details.
- wujihandpy/__init__.py +2 -2
- wujihandpy/_core/__init__.pyi +521 -0
- wujihandpy/_core/filter.pyi +8 -0
- wujihandpy/_core/logging.pyi +65 -0
- wujihandpy/_core.cpython-311-x86_64-linux-gnu.so +0 -0
- wujihandpy/_version.py +3 -3
- {wujihandpy-0.5.2.dist-info → wujihandpy-1.2.0b0.dev0.dist-info}/METADATA +29 -29
- wujihandpy-1.2.0b0.dev0.dist-info/RECORD +17 -0
- wujihandpy/_core.pyi +0 -530
- wujihandpy-0.5.2.dist-info/RECORD +0 -15
- {wujihandpy-0.5.2.dist-info → wujihandpy-1.2.0b0.dev0.dist-info}/WHEEL +0 -0
- {wujihandpy-0.5.2.dist-info → wujihandpy-1.2.0b0.dev0.dist-info}/licenses/LICENSE +0 -0
wujihandpy/__init__.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from ._core import
|
|
3
|
+
from ._core import *
|
|
4
4
|
from ._version import __version__
|
|
5
5
|
|
|
6
|
-
__all__ = ["
|
|
6
|
+
__all__ = ["__version__", 'Hand', 'Finger', 'Joint', 'IController', 'filter']
|
|
@@ -0,0 +1,521 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
import numpy
|
|
3
|
+
import numpy.typing
|
|
4
|
+
import typing
|
|
5
|
+
from . import filter
|
|
6
|
+
from . import logging
|
|
7
|
+
__all__: list[str] = ['Finger', 'Hand', 'IController', 'Joint', 'filter', 'logging']
|
|
8
|
+
class Finger:
|
|
9
|
+
def get_joint_actual_position(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
10
|
+
...
|
|
11
|
+
def get_joint_bus_voltage(self) -> numpy.typing.NDArray[numpy.float32]:
|
|
12
|
+
...
|
|
13
|
+
def get_joint_error_code(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
14
|
+
...
|
|
15
|
+
def get_joint_hardware_date(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
16
|
+
...
|
|
17
|
+
def get_joint_hardware_version(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
18
|
+
...
|
|
19
|
+
def get_joint_lower_limit(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
20
|
+
...
|
|
21
|
+
def get_joint_temperature(self) -> numpy.typing.NDArray[numpy.float32]:
|
|
22
|
+
...
|
|
23
|
+
def get_joint_upper_limit(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
24
|
+
...
|
|
25
|
+
def joint(self, index: typing.SupportsInt) -> Joint:
|
|
26
|
+
...
|
|
27
|
+
def read_joint_actual_position(self, timeout: typing.SupportsFloat = 0.5) -> numpy.typing.NDArray[numpy.float64]:
|
|
28
|
+
...
|
|
29
|
+
def read_joint_actual_position_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.typing.NDArray[numpy.float64]]:
|
|
30
|
+
...
|
|
31
|
+
def read_joint_actual_position_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
32
|
+
...
|
|
33
|
+
def read_joint_bus_voltage(self, timeout: typing.SupportsFloat = 0.5) -> numpy.typing.NDArray[numpy.float32]:
|
|
34
|
+
...
|
|
35
|
+
def read_joint_bus_voltage_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.typing.NDArray[numpy.float32]]:
|
|
36
|
+
...
|
|
37
|
+
def read_joint_bus_voltage_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
38
|
+
...
|
|
39
|
+
def read_joint_error_code(self, timeout: typing.SupportsFloat = 0.5) -> numpy.typing.NDArray[numpy.uint32]:
|
|
40
|
+
...
|
|
41
|
+
def read_joint_error_code_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.typing.NDArray[numpy.uint32]]:
|
|
42
|
+
...
|
|
43
|
+
def read_joint_error_code_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
44
|
+
...
|
|
45
|
+
def read_joint_hardware_date(self, timeout: typing.SupportsFloat = 0.5) -> numpy.typing.NDArray[numpy.uint32]:
|
|
46
|
+
...
|
|
47
|
+
def read_joint_hardware_date_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.typing.NDArray[numpy.uint32]]:
|
|
48
|
+
...
|
|
49
|
+
def read_joint_hardware_date_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
50
|
+
...
|
|
51
|
+
def read_joint_hardware_version(self, timeout: typing.SupportsFloat = 0.5) -> numpy.typing.NDArray[numpy.uint32]:
|
|
52
|
+
...
|
|
53
|
+
def read_joint_hardware_version_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.typing.NDArray[numpy.uint32]]:
|
|
54
|
+
...
|
|
55
|
+
def read_joint_hardware_version_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
56
|
+
...
|
|
57
|
+
def read_joint_lower_limit(self, timeout: typing.SupportsFloat = 0.5) -> numpy.typing.NDArray[numpy.float64]:
|
|
58
|
+
...
|
|
59
|
+
def read_joint_lower_limit_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.typing.NDArray[numpy.float64]]:
|
|
60
|
+
...
|
|
61
|
+
def read_joint_lower_limit_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
62
|
+
...
|
|
63
|
+
def read_joint_temperature(self, timeout: typing.SupportsFloat = 0.5) -> numpy.typing.NDArray[numpy.float32]:
|
|
64
|
+
...
|
|
65
|
+
def read_joint_temperature_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.typing.NDArray[numpy.float32]]:
|
|
66
|
+
...
|
|
67
|
+
def read_joint_temperature_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
68
|
+
...
|
|
69
|
+
def read_joint_upper_limit(self, timeout: typing.SupportsFloat = 0.5) -> numpy.typing.NDArray[numpy.float64]:
|
|
70
|
+
...
|
|
71
|
+
def read_joint_upper_limit_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.typing.NDArray[numpy.float64]]:
|
|
72
|
+
...
|
|
73
|
+
def read_joint_upper_limit_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
74
|
+
...
|
|
75
|
+
@typing.overload
|
|
76
|
+
def write_joint_control_mode(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
77
|
+
...
|
|
78
|
+
@typing.overload
|
|
79
|
+
def write_joint_control_mode(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
80
|
+
...
|
|
81
|
+
@typing.overload
|
|
82
|
+
def write_joint_control_mode_async(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
83
|
+
...
|
|
84
|
+
@typing.overload
|
|
85
|
+
def write_joint_control_mode_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
86
|
+
...
|
|
87
|
+
@typing.overload
|
|
88
|
+
def write_joint_control_mode_unchecked(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
89
|
+
...
|
|
90
|
+
@typing.overload
|
|
91
|
+
def write_joint_control_mode_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
92
|
+
...
|
|
93
|
+
@typing.overload
|
|
94
|
+
def write_joint_current_limit(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
95
|
+
...
|
|
96
|
+
@typing.overload
|
|
97
|
+
def write_joint_current_limit(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
98
|
+
...
|
|
99
|
+
@typing.overload
|
|
100
|
+
def write_joint_current_limit_async(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
101
|
+
...
|
|
102
|
+
@typing.overload
|
|
103
|
+
def write_joint_current_limit_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
104
|
+
...
|
|
105
|
+
@typing.overload
|
|
106
|
+
def write_joint_current_limit_unchecked(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
107
|
+
...
|
|
108
|
+
@typing.overload
|
|
109
|
+
def write_joint_current_limit_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
110
|
+
...
|
|
111
|
+
@typing.overload
|
|
112
|
+
def write_joint_enabled(self, value: bool, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
113
|
+
...
|
|
114
|
+
@typing.overload
|
|
115
|
+
def write_joint_enabled(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.bool_], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
116
|
+
...
|
|
117
|
+
@typing.overload
|
|
118
|
+
def write_joint_enabled_async(self, value: bool, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
119
|
+
...
|
|
120
|
+
@typing.overload
|
|
121
|
+
def write_joint_enabled_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.bool_], timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
122
|
+
...
|
|
123
|
+
@typing.overload
|
|
124
|
+
def write_joint_enabled_unchecked(self, value: bool, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
125
|
+
...
|
|
126
|
+
@typing.overload
|
|
127
|
+
def write_joint_enabled_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.bool_], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
128
|
+
...
|
|
129
|
+
@typing.overload
|
|
130
|
+
def write_joint_reset_error(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
131
|
+
...
|
|
132
|
+
@typing.overload
|
|
133
|
+
def write_joint_reset_error(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
134
|
+
...
|
|
135
|
+
@typing.overload
|
|
136
|
+
def write_joint_reset_error_async(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
137
|
+
...
|
|
138
|
+
@typing.overload
|
|
139
|
+
def write_joint_reset_error_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
140
|
+
...
|
|
141
|
+
@typing.overload
|
|
142
|
+
def write_joint_reset_error_unchecked(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
143
|
+
...
|
|
144
|
+
@typing.overload
|
|
145
|
+
def write_joint_reset_error_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
146
|
+
...
|
|
147
|
+
@typing.overload
|
|
148
|
+
def write_joint_sin_level(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
149
|
+
...
|
|
150
|
+
@typing.overload
|
|
151
|
+
def write_joint_sin_level(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
152
|
+
...
|
|
153
|
+
@typing.overload
|
|
154
|
+
def write_joint_sin_level_async(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
155
|
+
...
|
|
156
|
+
@typing.overload
|
|
157
|
+
def write_joint_sin_level_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
158
|
+
...
|
|
159
|
+
@typing.overload
|
|
160
|
+
def write_joint_sin_level_unchecked(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
161
|
+
...
|
|
162
|
+
@typing.overload
|
|
163
|
+
def write_joint_sin_level_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
164
|
+
...
|
|
165
|
+
@typing.overload
|
|
166
|
+
def write_joint_target_position(self, value: typing.SupportsFloat, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
167
|
+
...
|
|
168
|
+
@typing.overload
|
|
169
|
+
def write_joint_target_position(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.float64], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
170
|
+
...
|
|
171
|
+
@typing.overload
|
|
172
|
+
def write_joint_target_position_async(self, value: typing.SupportsFloat, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
173
|
+
...
|
|
174
|
+
@typing.overload
|
|
175
|
+
def write_joint_target_position_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.float64], timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
176
|
+
...
|
|
177
|
+
@typing.overload
|
|
178
|
+
def write_joint_target_position_unchecked(self, value: typing.SupportsFloat, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
179
|
+
...
|
|
180
|
+
@typing.overload
|
|
181
|
+
def write_joint_target_position_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.float64], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
182
|
+
...
|
|
183
|
+
class Hand:
|
|
184
|
+
def __init__(self, serial_number: str | None = None, usb_pid: typing.SupportsInt = -1, usb_vid: typing.SupportsInt = 1155, mask: typing.Annotated[numpy.typing.ArrayLike, numpy.bool_] | None = None) -> None:
|
|
185
|
+
...
|
|
186
|
+
def finger(self, index: typing.SupportsInt) -> Finger:
|
|
187
|
+
...
|
|
188
|
+
def get_firmware_date(self) -> numpy.uint32:
|
|
189
|
+
...
|
|
190
|
+
def get_firmware_version(self) -> numpy.uint32:
|
|
191
|
+
...
|
|
192
|
+
def get_handedness(self) -> numpy.uint8:
|
|
193
|
+
...
|
|
194
|
+
def get_input_voltage(self) -> numpy.float32:
|
|
195
|
+
...
|
|
196
|
+
def get_joint_actual_position(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
197
|
+
...
|
|
198
|
+
def get_joint_bus_voltage(self) -> numpy.typing.NDArray[numpy.float32]:
|
|
199
|
+
...
|
|
200
|
+
def get_joint_error_code(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
201
|
+
...
|
|
202
|
+
def get_joint_hardware_date(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
203
|
+
...
|
|
204
|
+
def get_joint_hardware_version(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
205
|
+
...
|
|
206
|
+
def get_joint_lower_limit(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
207
|
+
...
|
|
208
|
+
def get_joint_temperature(self) -> numpy.typing.NDArray[numpy.float32]:
|
|
209
|
+
...
|
|
210
|
+
def get_joint_upper_limit(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
211
|
+
...
|
|
212
|
+
def get_system_time(self) -> numpy.uint32:
|
|
213
|
+
...
|
|
214
|
+
def get_temperature(self) -> numpy.float32:
|
|
215
|
+
...
|
|
216
|
+
def read_firmware_date(self, timeout: typing.SupportsFloat = 0.5) -> numpy.uint32:
|
|
217
|
+
...
|
|
218
|
+
def read_firmware_date_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.uint32]:
|
|
219
|
+
...
|
|
220
|
+
def read_firmware_date_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
221
|
+
...
|
|
222
|
+
def read_firmware_version(self, timeout: typing.SupportsFloat = 0.5) -> numpy.uint32:
|
|
223
|
+
...
|
|
224
|
+
def read_firmware_version_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.uint32]:
|
|
225
|
+
...
|
|
226
|
+
def read_firmware_version_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
227
|
+
...
|
|
228
|
+
def read_handedness(self, timeout: typing.SupportsFloat = 0.5) -> numpy.uint8:
|
|
229
|
+
...
|
|
230
|
+
def read_handedness_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.uint8]:
|
|
231
|
+
...
|
|
232
|
+
def read_handedness_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
233
|
+
...
|
|
234
|
+
def read_input_voltage(self, timeout: typing.SupportsFloat = 0.5) -> numpy.float32:
|
|
235
|
+
...
|
|
236
|
+
def read_input_voltage_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.float32]:
|
|
237
|
+
...
|
|
238
|
+
def read_input_voltage_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
239
|
+
...
|
|
240
|
+
def read_joint_actual_position(self, timeout: typing.SupportsFloat = 0.5) -> numpy.typing.NDArray[numpy.float64]:
|
|
241
|
+
...
|
|
242
|
+
def read_joint_actual_position_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.typing.NDArray[numpy.float64]]:
|
|
243
|
+
...
|
|
244
|
+
def read_joint_actual_position_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
245
|
+
...
|
|
246
|
+
def read_joint_bus_voltage(self, timeout: typing.SupportsFloat = 0.5) -> numpy.typing.NDArray[numpy.float32]:
|
|
247
|
+
...
|
|
248
|
+
def read_joint_bus_voltage_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.typing.NDArray[numpy.float32]]:
|
|
249
|
+
...
|
|
250
|
+
def read_joint_bus_voltage_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
251
|
+
...
|
|
252
|
+
def read_joint_error_code(self, timeout: typing.SupportsFloat = 0.5) -> numpy.typing.NDArray[numpy.uint32]:
|
|
253
|
+
...
|
|
254
|
+
def read_joint_error_code_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.typing.NDArray[numpy.uint32]]:
|
|
255
|
+
...
|
|
256
|
+
def read_joint_error_code_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
257
|
+
...
|
|
258
|
+
def read_joint_hardware_date(self, timeout: typing.SupportsFloat = 0.5) -> numpy.typing.NDArray[numpy.uint32]:
|
|
259
|
+
...
|
|
260
|
+
def read_joint_hardware_date_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.typing.NDArray[numpy.uint32]]:
|
|
261
|
+
...
|
|
262
|
+
def read_joint_hardware_date_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
263
|
+
...
|
|
264
|
+
def read_joint_hardware_version(self, timeout: typing.SupportsFloat = 0.5) -> numpy.typing.NDArray[numpy.uint32]:
|
|
265
|
+
...
|
|
266
|
+
def read_joint_hardware_version_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.typing.NDArray[numpy.uint32]]:
|
|
267
|
+
...
|
|
268
|
+
def read_joint_hardware_version_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
269
|
+
...
|
|
270
|
+
def read_joint_lower_limit(self, timeout: typing.SupportsFloat = 0.5) -> numpy.typing.NDArray[numpy.float64]:
|
|
271
|
+
...
|
|
272
|
+
def read_joint_lower_limit_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.typing.NDArray[numpy.float64]]:
|
|
273
|
+
...
|
|
274
|
+
def read_joint_lower_limit_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
275
|
+
...
|
|
276
|
+
def read_joint_temperature(self, timeout: typing.SupportsFloat = 0.5) -> numpy.typing.NDArray[numpy.float32]:
|
|
277
|
+
...
|
|
278
|
+
def read_joint_temperature_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.typing.NDArray[numpy.float32]]:
|
|
279
|
+
...
|
|
280
|
+
def read_joint_temperature_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
281
|
+
...
|
|
282
|
+
def read_joint_upper_limit(self, timeout: typing.SupportsFloat = 0.5) -> numpy.typing.NDArray[numpy.float64]:
|
|
283
|
+
...
|
|
284
|
+
def read_joint_upper_limit_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.typing.NDArray[numpy.float64]]:
|
|
285
|
+
...
|
|
286
|
+
def read_joint_upper_limit_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
287
|
+
...
|
|
288
|
+
def read_system_time(self, timeout: typing.SupportsFloat = 0.5) -> numpy.uint32:
|
|
289
|
+
...
|
|
290
|
+
def read_system_time_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.uint32]:
|
|
291
|
+
...
|
|
292
|
+
def read_system_time_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
293
|
+
...
|
|
294
|
+
def read_temperature(self, timeout: typing.SupportsFloat = 0.5) -> numpy.float32:
|
|
295
|
+
...
|
|
296
|
+
def read_temperature_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.float32]:
|
|
297
|
+
...
|
|
298
|
+
def read_temperature_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
299
|
+
...
|
|
300
|
+
def realtime_controller(self, enable_upstream: bool, filter: filter.IFilter) -> IController:
|
|
301
|
+
...
|
|
302
|
+
@typing.overload
|
|
303
|
+
def write_joint_control_mode(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
304
|
+
...
|
|
305
|
+
@typing.overload
|
|
306
|
+
def write_joint_control_mode(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
307
|
+
...
|
|
308
|
+
@typing.overload
|
|
309
|
+
def write_joint_control_mode_async(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
310
|
+
...
|
|
311
|
+
@typing.overload
|
|
312
|
+
def write_joint_control_mode_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
313
|
+
...
|
|
314
|
+
@typing.overload
|
|
315
|
+
def write_joint_control_mode_unchecked(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
316
|
+
...
|
|
317
|
+
@typing.overload
|
|
318
|
+
def write_joint_control_mode_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
319
|
+
...
|
|
320
|
+
@typing.overload
|
|
321
|
+
def write_joint_current_limit(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
322
|
+
...
|
|
323
|
+
@typing.overload
|
|
324
|
+
def write_joint_current_limit(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
325
|
+
...
|
|
326
|
+
@typing.overload
|
|
327
|
+
def write_joint_current_limit_async(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
328
|
+
...
|
|
329
|
+
@typing.overload
|
|
330
|
+
def write_joint_current_limit_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
331
|
+
...
|
|
332
|
+
@typing.overload
|
|
333
|
+
def write_joint_current_limit_unchecked(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
334
|
+
...
|
|
335
|
+
@typing.overload
|
|
336
|
+
def write_joint_current_limit_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
337
|
+
...
|
|
338
|
+
@typing.overload
|
|
339
|
+
def write_joint_enabled(self, value: bool, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
340
|
+
...
|
|
341
|
+
@typing.overload
|
|
342
|
+
def write_joint_enabled(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.bool_], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
343
|
+
...
|
|
344
|
+
@typing.overload
|
|
345
|
+
def write_joint_enabled_async(self, value: bool, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
346
|
+
...
|
|
347
|
+
@typing.overload
|
|
348
|
+
def write_joint_enabled_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.bool_], timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
349
|
+
...
|
|
350
|
+
@typing.overload
|
|
351
|
+
def write_joint_enabled_unchecked(self, value: bool, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
352
|
+
...
|
|
353
|
+
@typing.overload
|
|
354
|
+
def write_joint_enabled_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.bool_], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
355
|
+
...
|
|
356
|
+
@typing.overload
|
|
357
|
+
def write_joint_reset_error(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
358
|
+
...
|
|
359
|
+
@typing.overload
|
|
360
|
+
def write_joint_reset_error(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
361
|
+
...
|
|
362
|
+
@typing.overload
|
|
363
|
+
def write_joint_reset_error_async(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
364
|
+
...
|
|
365
|
+
@typing.overload
|
|
366
|
+
def write_joint_reset_error_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
367
|
+
...
|
|
368
|
+
@typing.overload
|
|
369
|
+
def write_joint_reset_error_unchecked(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
370
|
+
...
|
|
371
|
+
@typing.overload
|
|
372
|
+
def write_joint_reset_error_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
373
|
+
...
|
|
374
|
+
@typing.overload
|
|
375
|
+
def write_joint_sin_level(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
376
|
+
...
|
|
377
|
+
@typing.overload
|
|
378
|
+
def write_joint_sin_level(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
379
|
+
...
|
|
380
|
+
@typing.overload
|
|
381
|
+
def write_joint_sin_level_async(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
382
|
+
...
|
|
383
|
+
@typing.overload
|
|
384
|
+
def write_joint_sin_level_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
385
|
+
...
|
|
386
|
+
@typing.overload
|
|
387
|
+
def write_joint_sin_level_unchecked(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
388
|
+
...
|
|
389
|
+
@typing.overload
|
|
390
|
+
def write_joint_sin_level_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
391
|
+
...
|
|
392
|
+
@typing.overload
|
|
393
|
+
def write_joint_target_position(self, value: typing.SupportsFloat, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
394
|
+
...
|
|
395
|
+
@typing.overload
|
|
396
|
+
def write_joint_target_position(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.float64], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
397
|
+
...
|
|
398
|
+
@typing.overload
|
|
399
|
+
def write_joint_target_position_async(self, value: typing.SupportsFloat, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
400
|
+
...
|
|
401
|
+
@typing.overload
|
|
402
|
+
def write_joint_target_position_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.float64], timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
403
|
+
...
|
|
404
|
+
@typing.overload
|
|
405
|
+
def write_joint_target_position_unchecked(self, value: typing.SupportsFloat, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
406
|
+
...
|
|
407
|
+
@typing.overload
|
|
408
|
+
def write_joint_target_position_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.float64], timeout: typing.SupportsFloat = 0.5) -> None:
|
|
409
|
+
...
|
|
410
|
+
class IController:
|
|
411
|
+
def __enter__(self) -> IController:
|
|
412
|
+
...
|
|
413
|
+
def __exit__(self, arg0: typing.Any, arg1: typing.Any, arg2: typing.Any) -> None:
|
|
414
|
+
...
|
|
415
|
+
def close(self) -> None:
|
|
416
|
+
...
|
|
417
|
+
def get_joint_actual_position(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
418
|
+
...
|
|
419
|
+
def set_joint_target_position(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> None:
|
|
420
|
+
...
|
|
421
|
+
class Joint:
|
|
422
|
+
def get_joint_actual_position(self) -> numpy.float64:
|
|
423
|
+
...
|
|
424
|
+
def get_joint_bus_voltage(self) -> numpy.float32:
|
|
425
|
+
...
|
|
426
|
+
def get_joint_error_code(self) -> numpy.uint32:
|
|
427
|
+
...
|
|
428
|
+
def get_joint_hardware_date(self) -> numpy.uint32:
|
|
429
|
+
...
|
|
430
|
+
def get_joint_hardware_version(self) -> numpy.uint32:
|
|
431
|
+
...
|
|
432
|
+
def get_joint_lower_limit(self) -> numpy.float64:
|
|
433
|
+
...
|
|
434
|
+
def get_joint_temperature(self) -> numpy.float32:
|
|
435
|
+
...
|
|
436
|
+
def get_joint_upper_limit(self) -> numpy.float64:
|
|
437
|
+
...
|
|
438
|
+
def read_joint_actual_position(self, timeout: typing.SupportsFloat = 0.5) -> numpy.float64:
|
|
439
|
+
...
|
|
440
|
+
def read_joint_actual_position_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.float64]:
|
|
441
|
+
...
|
|
442
|
+
def read_joint_actual_position_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
443
|
+
...
|
|
444
|
+
def read_joint_bus_voltage(self, timeout: typing.SupportsFloat = 0.5) -> numpy.float32:
|
|
445
|
+
...
|
|
446
|
+
def read_joint_bus_voltage_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.float32]:
|
|
447
|
+
...
|
|
448
|
+
def read_joint_bus_voltage_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
449
|
+
...
|
|
450
|
+
def read_joint_error_code(self, timeout: typing.SupportsFloat = 0.5) -> numpy.uint32:
|
|
451
|
+
...
|
|
452
|
+
def read_joint_error_code_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.uint32]:
|
|
453
|
+
...
|
|
454
|
+
def read_joint_error_code_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
455
|
+
...
|
|
456
|
+
def read_joint_hardware_date(self, timeout: typing.SupportsFloat = 0.5) -> numpy.uint32:
|
|
457
|
+
...
|
|
458
|
+
def read_joint_hardware_date_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.uint32]:
|
|
459
|
+
...
|
|
460
|
+
def read_joint_hardware_date_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
461
|
+
...
|
|
462
|
+
def read_joint_hardware_version(self, timeout: typing.SupportsFloat = 0.5) -> numpy.uint32:
|
|
463
|
+
...
|
|
464
|
+
def read_joint_hardware_version_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.uint32]:
|
|
465
|
+
...
|
|
466
|
+
def read_joint_hardware_version_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
467
|
+
...
|
|
468
|
+
def read_joint_lower_limit(self, timeout: typing.SupportsFloat = 0.5) -> numpy.float64:
|
|
469
|
+
...
|
|
470
|
+
def read_joint_lower_limit_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.float64]:
|
|
471
|
+
...
|
|
472
|
+
def read_joint_lower_limit_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
473
|
+
...
|
|
474
|
+
def read_joint_temperature(self, timeout: typing.SupportsFloat = 0.5) -> numpy.float32:
|
|
475
|
+
...
|
|
476
|
+
def read_joint_temperature_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.float32]:
|
|
477
|
+
...
|
|
478
|
+
def read_joint_temperature_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
479
|
+
...
|
|
480
|
+
def read_joint_upper_limit(self, timeout: typing.SupportsFloat = 0.5) -> numpy.float64:
|
|
481
|
+
...
|
|
482
|
+
def read_joint_upper_limit_async(self, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[numpy.float64]:
|
|
483
|
+
...
|
|
484
|
+
def read_joint_upper_limit_unchecked(self, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
485
|
+
...
|
|
486
|
+
def write_joint_control_mode(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
487
|
+
...
|
|
488
|
+
def write_joint_control_mode_async(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
489
|
+
...
|
|
490
|
+
def write_joint_control_mode_unchecked(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
491
|
+
...
|
|
492
|
+
def write_joint_current_limit(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
493
|
+
...
|
|
494
|
+
def write_joint_current_limit_async(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
495
|
+
...
|
|
496
|
+
def write_joint_current_limit_unchecked(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
497
|
+
...
|
|
498
|
+
def write_joint_enabled(self, value: bool, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
499
|
+
...
|
|
500
|
+
def write_joint_enabled_async(self, value: bool, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
501
|
+
...
|
|
502
|
+
def write_joint_enabled_unchecked(self, value: bool, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
503
|
+
...
|
|
504
|
+
def write_joint_reset_error(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
505
|
+
...
|
|
506
|
+
def write_joint_reset_error_async(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
507
|
+
...
|
|
508
|
+
def write_joint_reset_error_unchecked(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
509
|
+
...
|
|
510
|
+
def write_joint_sin_level(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
511
|
+
...
|
|
512
|
+
def write_joint_sin_level_async(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
513
|
+
...
|
|
514
|
+
def write_joint_sin_level_unchecked(self, value: typing.SupportsInt, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
515
|
+
...
|
|
516
|
+
def write_joint_target_position(self, value: typing.SupportsFloat, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
517
|
+
...
|
|
518
|
+
def write_joint_target_position_async(self, value: typing.SupportsFloat, timeout: typing.SupportsFloat = 0.5) -> typing.Awaitable[None]:
|
|
519
|
+
...
|
|
520
|
+
def write_joint_target_position_unchecked(self, value: typing.SupportsFloat, timeout: typing.SupportsFloat = 0.5) -> None:
|
|
521
|
+
...
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
import typing
|
|
3
|
+
__all__: list[str] = ['Level', 'flush', 'set_log_level', 'set_log_path', 'set_log_to_console', 'set_log_to_file']
|
|
4
|
+
class Level:
|
|
5
|
+
"""
|
|
6
|
+
Members:
|
|
7
|
+
|
|
8
|
+
Trace
|
|
9
|
+
|
|
10
|
+
Debug
|
|
11
|
+
|
|
12
|
+
Info
|
|
13
|
+
|
|
14
|
+
Warn
|
|
15
|
+
|
|
16
|
+
Error
|
|
17
|
+
|
|
18
|
+
Critical
|
|
19
|
+
|
|
20
|
+
Off
|
|
21
|
+
"""
|
|
22
|
+
Critical: typing.ClassVar[Level] # value = <Level.Critical: 5>
|
|
23
|
+
Debug: typing.ClassVar[Level] # value = <Level.Debug: 1>
|
|
24
|
+
Error: typing.ClassVar[Level] # value = <Level.Error: 4>
|
|
25
|
+
Info: typing.ClassVar[Level] # value = <Level.Info: 2>
|
|
26
|
+
Off: typing.ClassVar[Level] # value = <Level.Off: 6>
|
|
27
|
+
Trace: typing.ClassVar[Level] # value = <Level.Trace: 0>
|
|
28
|
+
Warn: typing.ClassVar[Level] # value = <Level.Warn: 3>
|
|
29
|
+
__members__: typing.ClassVar[dict[str, Level]] # value = {'Trace': <Level.Trace: 0>, 'Debug': <Level.Debug: 1>, 'Info': <Level.Info: 2>, 'Warn': <Level.Warn: 3>, 'Error': <Level.Error: 4>, 'Critical': <Level.Critical: 5>, 'Off': <Level.Off: 6>}
|
|
30
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
31
|
+
...
|
|
32
|
+
def __getstate__(self) -> int:
|
|
33
|
+
...
|
|
34
|
+
def __hash__(self) -> int:
|
|
35
|
+
...
|
|
36
|
+
def __index__(self) -> int:
|
|
37
|
+
...
|
|
38
|
+
def __init__(self, value: typing.SupportsInt) -> None:
|
|
39
|
+
...
|
|
40
|
+
def __int__(self) -> int:
|
|
41
|
+
...
|
|
42
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
43
|
+
...
|
|
44
|
+
def __repr__(self) -> str:
|
|
45
|
+
...
|
|
46
|
+
def __setstate__(self, state: typing.SupportsInt) -> None:
|
|
47
|
+
...
|
|
48
|
+
def __str__(self) -> str:
|
|
49
|
+
...
|
|
50
|
+
@property
|
|
51
|
+
def name(self) -> str:
|
|
52
|
+
...
|
|
53
|
+
@property
|
|
54
|
+
def value(self) -> int:
|
|
55
|
+
...
|
|
56
|
+
def flush() -> None:
|
|
57
|
+
...
|
|
58
|
+
def set_log_level(value: Level) -> None:
|
|
59
|
+
...
|
|
60
|
+
def set_log_path(value: str) -> None:
|
|
61
|
+
...
|
|
62
|
+
def set_log_to_console(value: bool) -> None:
|
|
63
|
+
...
|
|
64
|
+
def set_log_to_file(value: bool) -> None:
|
|
65
|
+
...
|
|
Binary file
|
wujihandpy/_version.py
CHANGED
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '
|
|
32
|
-
__version_tuple__ = version_tuple = (0,
|
|
31
|
+
__version__ = version = '1.2.0b0.dev0'
|
|
32
|
+
__version_tuple__ = version_tuple = (1, 2, 0, 'b0', 'dev0')
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'ge3f1c9f42'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: wujihandpy
|
|
3
|
-
Version:
|
|
3
|
+
Version: 1.2.0b0.dev0
|
|
4
4
|
Summary: Python bindings for WujiHandCpp
|
|
5
5
|
Author-Email: Zihan Qin <zihanqin2048@gmail.com>
|
|
6
6
|
Maintainer-Email: Wuji Technology <support@pan-motor.com>
|
|
@@ -117,8 +117,8 @@ hand = wujihandpy.Hand()
|
|
|
117
117
|
### 读数据
|
|
118
118
|
|
|
119
119
|
```python
|
|
120
|
-
def read_<dataname>(self) ->
|
|
121
|
-
def read_<dataname>(self) -> np.
|
|
120
|
+
def read_<dataname>(self) -> datatype
|
|
121
|
+
def read_<dataname>(self) -> np.ndarray[datatype] # For bulk-read
|
|
122
122
|
```
|
|
123
123
|
|
|
124
124
|
所有可使用的数据均定义在 `wujihandpy/_core.pyi` 中。
|
|
@@ -134,7 +134,7 @@ time = hand.read_system_time()
|
|
|
134
134
|
例如,读取第1个手指(食指),第0个关节的当前位置数据:
|
|
135
135
|
|
|
136
136
|
```python
|
|
137
|
-
position = hand.finger(1).joint(0).
|
|
137
|
+
position = hand.finger(1).joint(0).read_joint_actual_position()
|
|
138
138
|
```
|
|
139
139
|
|
|
140
140
|
关节角度为 `np.float64` 类型,单位为弧度,零点和正方向与 [URDF文件](https://github.com/Wuji-Technology-Co-Ltd/wujihand-urdf) 中定义的相同。
|
|
@@ -144,7 +144,7 @@ position = hand.finger(1).joint(0).read_joint_position()
|
|
|
144
144
|
例如,以下指令读取整手所有(20个)关节的当前位置数据:
|
|
145
145
|
|
|
146
146
|
```python
|
|
147
|
-
positions = hand.
|
|
147
|
+
positions = hand.read_joint_actual_position()
|
|
148
148
|
```
|
|
149
149
|
|
|
150
150
|
进行批量读时,函数返回包含所有数据的 `np.ndarray[np.float64]`:
|
|
@@ -165,21 +165,21 @@ positions = hand.read_joint_position()
|
|
|
165
165
|
写数据拥有类似的 API,但多了一个参数用于传递目标值:
|
|
166
166
|
|
|
167
167
|
```python
|
|
168
|
-
def write_<dataname>(self,
|
|
169
|
-
def write_<dataname>(self, np.
|
|
168
|
+
def write_<dataname>(self, datatype)
|
|
169
|
+
def write_<dataname>(self, np.ndarray[datatype]) # For bulk-write
|
|
170
170
|
```
|
|
171
171
|
|
|
172
172
|
例如,写入单个关节的目标位置数据:
|
|
173
173
|
|
|
174
174
|
```python
|
|
175
|
-
hand.finger(1).joint(0).
|
|
175
|
+
hand.finger(1).joint(0).write_joint_target_position(0.8)
|
|
176
176
|
```
|
|
177
177
|
|
|
178
178
|
各关节的合法角度范围可通过以下 API 获取:
|
|
179
179
|
|
|
180
180
|
```python
|
|
181
|
-
upper =
|
|
182
|
-
lower =
|
|
181
|
+
upper = < Hand / Finger / Joint >.read_joint_upper_limit()
|
|
182
|
+
lower = < Hand / Finger / Joint >.read_joint_lower_limit()
|
|
183
183
|
```
|
|
184
184
|
|
|
185
185
|
若写入的角度超出合法范围,会被自动限幅至最高/最低值。
|
|
@@ -187,13 +187,13 @@ lower = (Hand | Finger | Joint).read_joint_lower_limit()
|
|
|
187
187
|
**批量写**数据也是可行的,例如,批量为第一个手指写入目标位置数据:
|
|
188
188
|
|
|
189
189
|
```python
|
|
190
|
-
hand.finger(1).
|
|
190
|
+
hand.finger(1).write_joint_target_position(0.8)
|
|
191
191
|
```
|
|
192
192
|
|
|
193
193
|
如果每个关节的目标值不同,可以传入一个包含所有目标值的 `np.array`:
|
|
194
194
|
|
|
195
195
|
```python
|
|
196
|
-
hand.finger(1).
|
|
196
|
+
hand.finger(1).write_joint_target_position(
|
|
197
197
|
np.array(
|
|
198
198
|
# J1 J2 J3 J4
|
|
199
199
|
[0.8, 0.0, 0.8, 0.8],
|
|
@@ -209,10 +209,10 @@ hand.finger(1).write_joint_control_position(
|
|
|
209
209
|
读写函数均有对应的异步版本,函数名以 `_async` 作为后缀。
|
|
210
210
|
|
|
211
211
|
``` python
|
|
212
|
-
async def read_<dataname>_async(self) ->
|
|
213
|
-
async def read_<dataname>_async(self) -> np.
|
|
214
|
-
async def write_<dataname>_async(self,
|
|
215
|
-
async def write_<dataname>_async(self, np.
|
|
212
|
+
async def read_<dataname>_async(self) -> datatype
|
|
213
|
+
async def read_<dataname>_async(self) -> np.ndarray[datatype] # For bulk-read
|
|
214
|
+
async def write_<dataname>_async(self, datatype)
|
|
215
|
+
async def write_<dataname>_async(self, np.ndarray[datatype]) # For bulk-write
|
|
216
216
|
```
|
|
217
217
|
|
|
218
218
|
异步接口需 `await`;等待期间不阻塞线程/事件循环,返回时保证读/写已经成功。
|
|
@@ -224,8 +224,8 @@ async def write_<dataname>_async(self, np.array<datatype>) # For bulk-write
|
|
|
224
224
|
```python
|
|
225
225
|
def read_<dataname>_unchecked(self) -> None
|
|
226
226
|
def read_<dataname>_unchecked(self) -> None # For bulk-read
|
|
227
|
-
def write_<dataname>_unchecked(self,
|
|
228
|
-
def write_<dataname>_unchecked(self, np.
|
|
227
|
+
def write_<dataname>_unchecked(self, datatype)
|
|
228
|
+
def write_<dataname>_unchecked(self, np.ndarray[datatype]) # For bulk-write
|
|
229
229
|
```
|
|
230
230
|
|
|
231
231
|
Unchecked 函数总是立即返回,不会阻塞,通常用于对实时性要求较高的场景。
|
|
@@ -235,27 +235,25 @@ Unchecked 函数总是立即返回,不会阻塞,通常用于对实时性要
|
|
|
235
235
|
如果希望获取以往读/写的结果,可以使用 `get` 系列函数:
|
|
236
236
|
|
|
237
237
|
```python
|
|
238
|
-
def get_<dataname>(self) ->
|
|
239
|
-
def get_<dataname>(self) -> np.
|
|
238
|
+
def get_<dataname>(self) -> datatype
|
|
239
|
+
def get_<dataname>(self) -> np.ndarray[datatype] # For bulk-read
|
|
240
240
|
```
|
|
241
241
|
|
|
242
242
|
`get` 系列函数同样不会阻塞,它总是立即返回最近一次读取到的数据,无论该数据来自 `read`、`async-read` 还是 `read-unchecked`。
|
|
243
243
|
|
|
244
244
|
如果尚未请求过该数据,或请求尚未成功,`get` 函数的返回值是未定义的(通常为0)。
|
|
245
245
|
|
|
246
|
-
###
|
|
246
|
+
### 实时控制
|
|
247
247
|
|
|
248
|
-
|
|
248
|
+
默认的读/写方式均带有缓冲池,积攒一段时间数据后才进行传输,最高读/写频率无法超过 100Hz。
|
|
249
249
|
|
|
250
|
-
|
|
250
|
+
对于需要流畅控制关节位置的场景,需使用 realtime_controller。
|
|
251
251
|
|
|
252
|
-
|
|
253
|
-
hand.pdo_write_unchecked(np.float64(0.8))
|
|
254
|
-
# 或按 5x4 结构批量发送:
|
|
255
|
-
# hand.pdo_write_unchecked(np.array([...], dtype=np.float64))
|
|
256
|
-
```
|
|
252
|
+
具体的控制示例可见 [example](example) 目录:
|
|
257
253
|
|
|
258
|
-
|
|
254
|
+
单向写:[realtime.py](example/4.realtime.py)
|
|
255
|
+
|
|
256
|
+
双向读/写:[realtime_duplex.py](example/5.realtime_duplex.py)
|
|
259
257
|
|
|
260
258
|
## 性能与优化
|
|
261
259
|
|
|
@@ -263,6 +261,8 @@ WujihandPy 在充分保证易用性的同时,尽可能优化了性能与效率
|
|
|
263
261
|
|
|
264
262
|
我们强烈建议优先使用批量读/写以最大限度地发挥性能。
|
|
265
263
|
|
|
264
|
+
对于需要流畅控制关节位置的场景,请务必使用 realtime_controller。
|
|
265
|
+
|
|
266
266
|
## 许可证
|
|
267
267
|
|
|
268
268
|
本项目采用 MIT 许可证,详情见 [LICENSE](LICENSE) 文件。
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
wujihandpy/__init__.py,sha256=O6rhSCIkTvciLQraUMgmZjEaW7i5n40qQ6Z5oacN_rE,170
|
|
2
|
+
wujihandpy/_core.cpython-311-x86_64-linux-gnu.so,sha256=b7NXzp0P2QMN0NEDnF4kIN93JSraGLugBd2FgMTGM4M,1726817
|
|
3
|
+
wujihandpy/_version.py,sha256=L8uwUIZXTXLqLC4f-PzlcF2ERRcyX1GXwYycOjUEtRM,733
|
|
4
|
+
wujihandpy/_core/__init__.pyi,sha256=clN3slFGQ2tgm0pUYejcfsWvk1XmWVFM5qKwssmwZd8,29287
|
|
5
|
+
wujihandpy/_core/filter.pyi,sha256=dAkrbcYtfcM10eOQumdIvIoHo5ay3oUVOqIqAhFMv24,227
|
|
6
|
+
wujihandpy/_core/logging.pyi,sha256=nM87F9rV0BcpyiqD50WNJfAWICSmc45obMj5T1ZZQW0,1868
|
|
7
|
+
wujihandpy.libs/libblkid-a9167753.so.1.1.0,sha256=XVspUZDmtSMamCgSYDrDYNC-g6agPQCkqrDE0yb8sdY,356897
|
|
8
|
+
wujihandpy.libs/libmount-ec61bd71.so.1.1.0,sha256=8EmOB9QqeXTyAh0aE20fn-QVuG3vsF66wBcgZ6aX2V4,393873
|
|
9
|
+
wujihandpy.libs/libpcre2-8-516f4c9d.so.0.7.1,sha256=IcbljW_oKuAVlrAwKz8qtRZxfi1sQH_iKxPSoNpzsmU,547745
|
|
10
|
+
wujihandpy.libs/libselinux-d0805dcb.so.1,sha256=iYGaLO-LIy5-WEihMiXHpeJUXyq56DDqGU49JbpfTu4,195097
|
|
11
|
+
wujihandpy.libs/libudev-9765ffbd.so.1.6.11,sha256=32i9UQ4dXVdXAdwJfzJd7T9GMKvkkr42mIWW9mOGrI4,677489
|
|
12
|
+
wujihandpy.libs/libusb-1-1b307d35.0.so.0.2.0,sha256=5crhlK2KrW6d1ZRAWqh3dYy93CPE4KekXTbLeGGFIjw,126777
|
|
13
|
+
wujihandpy.libs/libuuid-95b83d40.so.1.3.0,sha256=Bj-_E8XyWfgC65o6pTuT9qLNcuA97EYDyCUUOfDR2q0,38041
|
|
14
|
+
wujihandpy-1.2.0b0.dev0.dist-info/METADATA,sha256=wD7UAAYV_YwyIceNAqqXe2cFWogLHzQLHjHJEl53FV8,8036
|
|
15
|
+
wujihandpy-1.2.0b0.dev0.dist-info/WHEEL,sha256=0nVYFYtHP36mg9PDPBgwu1BNnaNOMi9iSL0fSWdrzR4,118
|
|
16
|
+
wujihandpy-1.2.0b0.dev0.dist-info/RECORD,,
|
|
17
|
+
wujihandpy-1.2.0b0.dev0.dist-info/licenses/LICENSE,sha256=OLJ-MVXgwcjW8-kJ56ADWaMCCF39muljtSqRy74lr6M,1072
|
wujihandpy/_core.pyi
DELETED
|
@@ -1,530 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
import numpy
|
|
3
|
-
import numpy.typing
|
|
4
|
-
import typing
|
|
5
|
-
__all__: list[str] = ['Finger', 'Hand', 'Joint']
|
|
6
|
-
class Finger:
|
|
7
|
-
def get_joint_bus_voltage(self) -> numpy.typing.NDArray[numpy.float32]:
|
|
8
|
-
...
|
|
9
|
-
def get_joint_error_code(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
10
|
-
...
|
|
11
|
-
def get_joint_hardware_date(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
12
|
-
...
|
|
13
|
-
def get_joint_hardware_version(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
14
|
-
...
|
|
15
|
-
def get_joint_lower_limit(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
16
|
-
...
|
|
17
|
-
def get_joint_position(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
18
|
-
...
|
|
19
|
-
def get_joint_temperature(self) -> numpy.typing.NDArray[numpy.float32]:
|
|
20
|
-
...
|
|
21
|
-
def get_joint_upper_limit(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
22
|
-
...
|
|
23
|
-
def joint(self, index: typing.SupportsInt) -> Joint:
|
|
24
|
-
...
|
|
25
|
-
def read_joint_bus_voltage(self) -> numpy.typing.NDArray[numpy.float32]:
|
|
26
|
-
...
|
|
27
|
-
async def read_joint_bus_voltage_async(self) -> numpy.typing.NDArray[numpy.float32]:
|
|
28
|
-
...
|
|
29
|
-
def read_joint_bus_voltage_unchecked(self) -> None:
|
|
30
|
-
...
|
|
31
|
-
def read_joint_error_code(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
32
|
-
...
|
|
33
|
-
async def read_joint_error_code_async(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
34
|
-
...
|
|
35
|
-
def read_joint_error_code_unchecked(self) -> None:
|
|
36
|
-
...
|
|
37
|
-
def read_joint_hardware_date(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
38
|
-
...
|
|
39
|
-
async def read_joint_hardware_date_async(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
40
|
-
...
|
|
41
|
-
def read_joint_hardware_date_unchecked(self) -> None:
|
|
42
|
-
...
|
|
43
|
-
def read_joint_hardware_version(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
44
|
-
...
|
|
45
|
-
async def read_joint_hardware_version_async(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
46
|
-
...
|
|
47
|
-
def read_joint_hardware_version_unchecked(self) -> None:
|
|
48
|
-
...
|
|
49
|
-
def read_joint_lower_limit(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
50
|
-
...
|
|
51
|
-
async def read_joint_lower_limit_async(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
52
|
-
...
|
|
53
|
-
def read_joint_lower_limit_unchecked(self) -> None:
|
|
54
|
-
...
|
|
55
|
-
def read_joint_position(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
56
|
-
...
|
|
57
|
-
async def read_joint_position_async(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
58
|
-
...
|
|
59
|
-
def read_joint_position_unchecked(self) -> None:
|
|
60
|
-
...
|
|
61
|
-
def read_joint_temperature(self) -> numpy.typing.NDArray[numpy.float32]:
|
|
62
|
-
...
|
|
63
|
-
async def read_joint_temperature_async(self) -> numpy.typing.NDArray[numpy.float32]:
|
|
64
|
-
...
|
|
65
|
-
def read_joint_temperature_unchecked(self) -> None:
|
|
66
|
-
...
|
|
67
|
-
def read_joint_upper_limit(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
68
|
-
...
|
|
69
|
-
async def read_joint_upper_limit_async(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
70
|
-
...
|
|
71
|
-
def read_joint_upper_limit_unchecked(self) -> None:
|
|
72
|
-
...
|
|
73
|
-
@typing.overload
|
|
74
|
-
def write_joint_control_mode(self, value: numpy.uint16) -> None:
|
|
75
|
-
...
|
|
76
|
-
@typing.overload
|
|
77
|
-
def write_joint_control_mode(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
78
|
-
...
|
|
79
|
-
@typing.overload
|
|
80
|
-
async def write_joint_control_mode_async(self, value: numpy.uint16) -> None:
|
|
81
|
-
...
|
|
82
|
-
@typing.overload
|
|
83
|
-
async def write_joint_control_mode_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
84
|
-
...
|
|
85
|
-
@typing.overload
|
|
86
|
-
def write_joint_control_mode_unchecked(self, value: numpy.uint16) -> None:
|
|
87
|
-
...
|
|
88
|
-
@typing.overload
|
|
89
|
-
def write_joint_control_mode_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
90
|
-
...
|
|
91
|
-
@typing.overload
|
|
92
|
-
def write_joint_control_position(self, value: numpy.float64) -> None:
|
|
93
|
-
...
|
|
94
|
-
@typing.overload
|
|
95
|
-
def write_joint_control_position(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> None:
|
|
96
|
-
...
|
|
97
|
-
@typing.overload
|
|
98
|
-
async def write_joint_control_position_async(self, value: numpy.float64) -> None:
|
|
99
|
-
...
|
|
100
|
-
@typing.overload
|
|
101
|
-
async def write_joint_control_position_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> None:
|
|
102
|
-
...
|
|
103
|
-
@typing.overload
|
|
104
|
-
def write_joint_control_position_unchecked(self, value: numpy.float64) -> None:
|
|
105
|
-
...
|
|
106
|
-
@typing.overload
|
|
107
|
-
def write_joint_control_position_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> None:
|
|
108
|
-
...
|
|
109
|
-
@typing.overload
|
|
110
|
-
def write_joint_control_word(self, value: numpy.uint16) -> None:
|
|
111
|
-
...
|
|
112
|
-
@typing.overload
|
|
113
|
-
def write_joint_control_word(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
114
|
-
...
|
|
115
|
-
@typing.overload
|
|
116
|
-
async def write_joint_control_word_async(self, value: numpy.uint16) -> None:
|
|
117
|
-
...
|
|
118
|
-
@typing.overload
|
|
119
|
-
async def write_joint_control_word_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
120
|
-
...
|
|
121
|
-
@typing.overload
|
|
122
|
-
def write_joint_control_word_unchecked(self, value: numpy.uint16) -> None:
|
|
123
|
-
...
|
|
124
|
-
@typing.overload
|
|
125
|
-
def write_joint_control_word_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
126
|
-
...
|
|
127
|
-
@typing.overload
|
|
128
|
-
def write_joint_current_limit(self, value: numpy.uint16) -> None:
|
|
129
|
-
...
|
|
130
|
-
@typing.overload
|
|
131
|
-
def write_joint_current_limit(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
132
|
-
...
|
|
133
|
-
@typing.overload
|
|
134
|
-
async def write_joint_current_limit_async(self, value: numpy.uint16) -> None:
|
|
135
|
-
...
|
|
136
|
-
@typing.overload
|
|
137
|
-
async def write_joint_current_limit_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
138
|
-
...
|
|
139
|
-
@typing.overload
|
|
140
|
-
def write_joint_current_limit_unchecked(self, value: numpy.uint16) -> None:
|
|
141
|
-
...
|
|
142
|
-
@typing.overload
|
|
143
|
-
def write_joint_current_limit_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
144
|
-
...
|
|
145
|
-
@typing.overload
|
|
146
|
-
def write_joint_reset_error(self, value: numpy.uint16) -> None:
|
|
147
|
-
...
|
|
148
|
-
@typing.overload
|
|
149
|
-
def write_joint_reset_error(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
150
|
-
...
|
|
151
|
-
@typing.overload
|
|
152
|
-
async def write_joint_reset_error_async(self, value: numpy.uint16) -> None:
|
|
153
|
-
...
|
|
154
|
-
@typing.overload
|
|
155
|
-
async def write_joint_reset_error_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
156
|
-
...
|
|
157
|
-
@typing.overload
|
|
158
|
-
def write_joint_reset_error_unchecked(self, value: numpy.uint16) -> None:
|
|
159
|
-
...
|
|
160
|
-
@typing.overload
|
|
161
|
-
def write_joint_reset_error_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
162
|
-
...
|
|
163
|
-
@typing.overload
|
|
164
|
-
def write_joint_sin_level(self, value: numpy.uint16) -> None:
|
|
165
|
-
...
|
|
166
|
-
@typing.overload
|
|
167
|
-
def write_joint_sin_level(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
168
|
-
...
|
|
169
|
-
@typing.overload
|
|
170
|
-
async def write_joint_sin_level_async(self, value: numpy.uint16) -> None:
|
|
171
|
-
...
|
|
172
|
-
@typing.overload
|
|
173
|
-
async def write_joint_sin_level_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
174
|
-
...
|
|
175
|
-
@typing.overload
|
|
176
|
-
def write_joint_sin_level_unchecked(self, value: numpy.uint16) -> None:
|
|
177
|
-
...
|
|
178
|
-
@typing.overload
|
|
179
|
-
def write_joint_sin_level_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
180
|
-
...
|
|
181
|
-
class Hand:
|
|
182
|
-
def __init__(self, serial_number: str | None = None, usb_pid: typing.SupportsInt = -1, usb_vid: typing.SupportsInt = 1155, mask: typing.Annotated[numpy.typing.ArrayLike, numpy.bool] | None = None) -> None:
|
|
183
|
-
...
|
|
184
|
-
def finger(self, index: typing.SupportsInt) -> Finger:
|
|
185
|
-
...
|
|
186
|
-
def get_firmware_date(self) -> numpy.uint32:
|
|
187
|
-
...
|
|
188
|
-
def get_firmware_version(self) -> numpy.uint32:
|
|
189
|
-
...
|
|
190
|
-
def get_handedness(self) -> numpy.uint8:
|
|
191
|
-
...
|
|
192
|
-
def get_input_voltage(self) -> numpy.float32:
|
|
193
|
-
...
|
|
194
|
-
def get_joint_bus_voltage(self) -> numpy.typing.NDArray[numpy.float32]:
|
|
195
|
-
...
|
|
196
|
-
def get_joint_error_code(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
197
|
-
...
|
|
198
|
-
def get_joint_hardware_date(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
199
|
-
...
|
|
200
|
-
def get_joint_hardware_version(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
201
|
-
...
|
|
202
|
-
def get_joint_lower_limit(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
203
|
-
...
|
|
204
|
-
def get_joint_position(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
205
|
-
...
|
|
206
|
-
def get_joint_temperature(self) -> numpy.typing.NDArray[numpy.float32]:
|
|
207
|
-
...
|
|
208
|
-
def get_joint_upper_limit(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
209
|
-
...
|
|
210
|
-
def get_system_time(self) -> numpy.uint32:
|
|
211
|
-
...
|
|
212
|
-
def get_temperature(self) -> numpy.float32:
|
|
213
|
-
...
|
|
214
|
-
@typing.overload
|
|
215
|
-
def pdo_write_unchecked(self, arg0: numpy.float64) -> None:
|
|
216
|
-
...
|
|
217
|
-
@typing.overload
|
|
218
|
-
def pdo_write_unchecked(self, arg0: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> None:
|
|
219
|
-
...
|
|
220
|
-
def read_firmware_date(self) -> numpy.uint32:
|
|
221
|
-
...
|
|
222
|
-
async def read_firmware_date_async(self) -> numpy.uint32:
|
|
223
|
-
...
|
|
224
|
-
def read_firmware_date_unchecked(self) -> None:
|
|
225
|
-
...
|
|
226
|
-
def read_firmware_version(self) -> numpy.uint32:
|
|
227
|
-
...
|
|
228
|
-
async def read_firmware_version_async(self) -> numpy.uint32:
|
|
229
|
-
...
|
|
230
|
-
def read_firmware_version_unchecked(self) -> None:
|
|
231
|
-
...
|
|
232
|
-
def read_handedness(self) -> numpy.uint8:
|
|
233
|
-
...
|
|
234
|
-
async def read_handedness_async(self) -> numpy.uint8:
|
|
235
|
-
...
|
|
236
|
-
def read_handedness_unchecked(self) -> None:
|
|
237
|
-
...
|
|
238
|
-
def read_input_voltage(self) -> numpy.float32:
|
|
239
|
-
...
|
|
240
|
-
async def read_input_voltage_async(self) -> numpy.float32:
|
|
241
|
-
...
|
|
242
|
-
def read_input_voltage_unchecked(self) -> None:
|
|
243
|
-
...
|
|
244
|
-
def read_joint_bus_voltage(self) -> numpy.typing.NDArray[numpy.float32]:
|
|
245
|
-
...
|
|
246
|
-
async def read_joint_bus_voltage_async(self) -> numpy.typing.NDArray[numpy.float32]:
|
|
247
|
-
...
|
|
248
|
-
def read_joint_bus_voltage_unchecked(self) -> None:
|
|
249
|
-
...
|
|
250
|
-
def read_joint_error_code(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
251
|
-
...
|
|
252
|
-
async def read_joint_error_code_async(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
253
|
-
...
|
|
254
|
-
def read_joint_error_code_unchecked(self) -> None:
|
|
255
|
-
...
|
|
256
|
-
def read_joint_hardware_date(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
257
|
-
...
|
|
258
|
-
async def read_joint_hardware_date_async(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
259
|
-
...
|
|
260
|
-
def read_joint_hardware_date_unchecked(self) -> None:
|
|
261
|
-
...
|
|
262
|
-
def read_joint_hardware_version(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
263
|
-
...
|
|
264
|
-
async def read_joint_hardware_version_async(self) -> numpy.typing.NDArray[numpy.uint32]:
|
|
265
|
-
...
|
|
266
|
-
def read_joint_hardware_version_unchecked(self) -> None:
|
|
267
|
-
...
|
|
268
|
-
def read_joint_lower_limit(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
269
|
-
...
|
|
270
|
-
async def read_joint_lower_limit_async(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
271
|
-
...
|
|
272
|
-
def read_joint_lower_limit_unchecked(self) -> None:
|
|
273
|
-
...
|
|
274
|
-
def read_joint_position(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
275
|
-
...
|
|
276
|
-
async def read_joint_position_async(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
277
|
-
...
|
|
278
|
-
def read_joint_position_unchecked(self) -> None:
|
|
279
|
-
...
|
|
280
|
-
def read_joint_temperature(self) -> numpy.typing.NDArray[numpy.float32]:
|
|
281
|
-
...
|
|
282
|
-
async def read_joint_temperature_async(self) -> numpy.typing.NDArray[numpy.float32]:
|
|
283
|
-
...
|
|
284
|
-
def read_joint_temperature_unchecked(self) -> None:
|
|
285
|
-
...
|
|
286
|
-
def read_joint_upper_limit(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
287
|
-
...
|
|
288
|
-
async def read_joint_upper_limit_async(self) -> numpy.typing.NDArray[numpy.float64]:
|
|
289
|
-
...
|
|
290
|
-
def read_joint_upper_limit_unchecked(self) -> None:
|
|
291
|
-
...
|
|
292
|
-
def read_system_time(self) -> numpy.uint32:
|
|
293
|
-
...
|
|
294
|
-
async def read_system_time_async(self) -> numpy.uint32:
|
|
295
|
-
...
|
|
296
|
-
def read_system_time_unchecked(self) -> None:
|
|
297
|
-
...
|
|
298
|
-
def read_temperature(self) -> numpy.float32:
|
|
299
|
-
...
|
|
300
|
-
async def read_temperature_async(self) -> numpy.float32:
|
|
301
|
-
...
|
|
302
|
-
def read_temperature_unchecked(self) -> None:
|
|
303
|
-
...
|
|
304
|
-
def write_global_tpdo_id(self, value: numpy.uint16) -> None:
|
|
305
|
-
...
|
|
306
|
-
async def write_global_tpdo_id_async(self, value: numpy.uint16) -> None:
|
|
307
|
-
...
|
|
308
|
-
def write_global_tpdo_id_unchecked(self, value: numpy.uint16) -> None:
|
|
309
|
-
...
|
|
310
|
-
@typing.overload
|
|
311
|
-
def write_joint_control_mode(self, value: numpy.uint16) -> None:
|
|
312
|
-
...
|
|
313
|
-
@typing.overload
|
|
314
|
-
def write_joint_control_mode(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
315
|
-
...
|
|
316
|
-
@typing.overload
|
|
317
|
-
async def write_joint_control_mode_async(self, value: numpy.uint16) -> None:
|
|
318
|
-
...
|
|
319
|
-
@typing.overload
|
|
320
|
-
async def write_joint_control_mode_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
321
|
-
...
|
|
322
|
-
@typing.overload
|
|
323
|
-
def write_joint_control_mode_unchecked(self, value: numpy.uint16) -> None:
|
|
324
|
-
...
|
|
325
|
-
@typing.overload
|
|
326
|
-
def write_joint_control_mode_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
327
|
-
...
|
|
328
|
-
@typing.overload
|
|
329
|
-
def write_joint_control_position(self, value: numpy.float64) -> None:
|
|
330
|
-
...
|
|
331
|
-
@typing.overload
|
|
332
|
-
def write_joint_control_position(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> None:
|
|
333
|
-
...
|
|
334
|
-
@typing.overload
|
|
335
|
-
async def write_joint_control_position_async(self, value: numpy.float64) -> None:
|
|
336
|
-
...
|
|
337
|
-
@typing.overload
|
|
338
|
-
async def write_joint_control_position_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> None:
|
|
339
|
-
...
|
|
340
|
-
@typing.overload
|
|
341
|
-
def write_joint_control_position_unchecked(self, value: numpy.float64) -> None:
|
|
342
|
-
...
|
|
343
|
-
@typing.overload
|
|
344
|
-
def write_joint_control_position_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> None:
|
|
345
|
-
...
|
|
346
|
-
@typing.overload
|
|
347
|
-
def write_joint_control_word(self, value: numpy.uint16) -> None:
|
|
348
|
-
...
|
|
349
|
-
@typing.overload
|
|
350
|
-
def write_joint_control_word(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
351
|
-
...
|
|
352
|
-
@typing.overload
|
|
353
|
-
async def write_joint_control_word_async(self, value: numpy.uint16) -> None:
|
|
354
|
-
...
|
|
355
|
-
@typing.overload
|
|
356
|
-
async def write_joint_control_word_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
357
|
-
...
|
|
358
|
-
@typing.overload
|
|
359
|
-
def write_joint_control_word_unchecked(self, value: numpy.uint16) -> None:
|
|
360
|
-
...
|
|
361
|
-
@typing.overload
|
|
362
|
-
def write_joint_control_word_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
363
|
-
...
|
|
364
|
-
@typing.overload
|
|
365
|
-
def write_joint_current_limit(self, value: numpy.uint16) -> None:
|
|
366
|
-
...
|
|
367
|
-
@typing.overload
|
|
368
|
-
def write_joint_current_limit(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
369
|
-
...
|
|
370
|
-
@typing.overload
|
|
371
|
-
async def write_joint_current_limit_async(self, value: numpy.uint16) -> None:
|
|
372
|
-
...
|
|
373
|
-
@typing.overload
|
|
374
|
-
async def write_joint_current_limit_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
375
|
-
...
|
|
376
|
-
@typing.overload
|
|
377
|
-
def write_joint_current_limit_unchecked(self, value: numpy.uint16) -> None:
|
|
378
|
-
...
|
|
379
|
-
@typing.overload
|
|
380
|
-
def write_joint_current_limit_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
381
|
-
...
|
|
382
|
-
@typing.overload
|
|
383
|
-
def write_joint_reset_error(self, value: numpy.uint16) -> None:
|
|
384
|
-
...
|
|
385
|
-
@typing.overload
|
|
386
|
-
def write_joint_reset_error(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
387
|
-
...
|
|
388
|
-
@typing.overload
|
|
389
|
-
async def write_joint_reset_error_async(self, value: numpy.uint16) -> None:
|
|
390
|
-
...
|
|
391
|
-
@typing.overload
|
|
392
|
-
async def write_joint_reset_error_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
393
|
-
...
|
|
394
|
-
@typing.overload
|
|
395
|
-
def write_joint_reset_error_unchecked(self, value: numpy.uint16) -> None:
|
|
396
|
-
...
|
|
397
|
-
@typing.overload
|
|
398
|
-
def write_joint_reset_error_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
399
|
-
...
|
|
400
|
-
@typing.overload
|
|
401
|
-
def write_joint_sin_level(self, value: numpy.uint16) -> None:
|
|
402
|
-
...
|
|
403
|
-
@typing.overload
|
|
404
|
-
def write_joint_sin_level(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
405
|
-
...
|
|
406
|
-
@typing.overload
|
|
407
|
-
async def write_joint_sin_level_async(self, value: numpy.uint16) -> None:
|
|
408
|
-
...
|
|
409
|
-
@typing.overload
|
|
410
|
-
async def write_joint_sin_level_async(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
411
|
-
...
|
|
412
|
-
@typing.overload
|
|
413
|
-
def write_joint_sin_level_unchecked(self, value: numpy.uint16) -> None:
|
|
414
|
-
...
|
|
415
|
-
@typing.overload
|
|
416
|
-
def write_joint_sin_level_unchecked(self, value_array: typing.Annotated[numpy.typing.ArrayLike, numpy.uint16]) -> None:
|
|
417
|
-
...
|
|
418
|
-
def write_pdo_enabled(self, value: numpy.uint8) -> None:
|
|
419
|
-
...
|
|
420
|
-
async def write_pdo_enabled_async(self, value: numpy.uint8) -> None:
|
|
421
|
-
...
|
|
422
|
-
def write_pdo_enabled_unchecked(self, value: numpy.uint8) -> None:
|
|
423
|
-
...
|
|
424
|
-
def write_pdo_interval(self, value: numpy.uint32) -> None:
|
|
425
|
-
...
|
|
426
|
-
async def write_pdo_interval_async(self, value: numpy.uint32) -> None:
|
|
427
|
-
...
|
|
428
|
-
def write_pdo_interval_unchecked(self, value: numpy.uint32) -> None:
|
|
429
|
-
...
|
|
430
|
-
class Joint:
|
|
431
|
-
def get_joint_bus_voltage(self) -> numpy.float32:
|
|
432
|
-
...
|
|
433
|
-
def get_joint_error_code(self) -> numpy.uint32:
|
|
434
|
-
...
|
|
435
|
-
def get_joint_hardware_date(self) -> numpy.uint32:
|
|
436
|
-
...
|
|
437
|
-
def get_joint_hardware_version(self) -> numpy.uint32:
|
|
438
|
-
...
|
|
439
|
-
def get_joint_lower_limit(self) -> numpy.float64:
|
|
440
|
-
...
|
|
441
|
-
def get_joint_position(self) -> numpy.float64:
|
|
442
|
-
...
|
|
443
|
-
def get_joint_temperature(self) -> numpy.float32:
|
|
444
|
-
...
|
|
445
|
-
def get_joint_upper_limit(self) -> numpy.float64:
|
|
446
|
-
...
|
|
447
|
-
def read_joint_bus_voltage(self) -> numpy.float32:
|
|
448
|
-
...
|
|
449
|
-
async def read_joint_bus_voltage_async(self) -> numpy.float32:
|
|
450
|
-
...
|
|
451
|
-
def read_joint_bus_voltage_unchecked(self) -> None:
|
|
452
|
-
...
|
|
453
|
-
def read_joint_error_code(self) -> numpy.uint32:
|
|
454
|
-
...
|
|
455
|
-
async def read_joint_error_code_async(self) -> numpy.uint32:
|
|
456
|
-
...
|
|
457
|
-
def read_joint_error_code_unchecked(self) -> None:
|
|
458
|
-
...
|
|
459
|
-
def read_joint_hardware_date(self) -> numpy.uint32:
|
|
460
|
-
...
|
|
461
|
-
async def read_joint_hardware_date_async(self) -> numpy.uint32:
|
|
462
|
-
...
|
|
463
|
-
def read_joint_hardware_date_unchecked(self) -> None:
|
|
464
|
-
...
|
|
465
|
-
def read_joint_hardware_version(self) -> numpy.uint32:
|
|
466
|
-
...
|
|
467
|
-
async def read_joint_hardware_version_async(self) -> numpy.uint32:
|
|
468
|
-
...
|
|
469
|
-
def read_joint_hardware_version_unchecked(self) -> None:
|
|
470
|
-
...
|
|
471
|
-
def read_joint_lower_limit(self) -> numpy.float64:
|
|
472
|
-
...
|
|
473
|
-
async def read_joint_lower_limit_async(self) -> numpy.float64:
|
|
474
|
-
...
|
|
475
|
-
def read_joint_lower_limit_unchecked(self) -> None:
|
|
476
|
-
...
|
|
477
|
-
def read_joint_position(self) -> numpy.float64:
|
|
478
|
-
...
|
|
479
|
-
async def read_joint_position_async(self) -> numpy.float64:
|
|
480
|
-
...
|
|
481
|
-
def read_joint_position_unchecked(self) -> None:
|
|
482
|
-
...
|
|
483
|
-
def read_joint_temperature(self) -> numpy.float32:
|
|
484
|
-
...
|
|
485
|
-
async def read_joint_temperature_async(self) -> numpy.float32:
|
|
486
|
-
...
|
|
487
|
-
def read_joint_temperature_unchecked(self) -> None:
|
|
488
|
-
...
|
|
489
|
-
def read_joint_upper_limit(self) -> numpy.float64:
|
|
490
|
-
...
|
|
491
|
-
async def read_joint_upper_limit_async(self) -> numpy.float64:
|
|
492
|
-
...
|
|
493
|
-
def read_joint_upper_limit_unchecked(self) -> None:
|
|
494
|
-
...
|
|
495
|
-
def write_joint_control_mode(self, value: numpy.uint16) -> None:
|
|
496
|
-
...
|
|
497
|
-
async def write_joint_control_mode_async(self, value: numpy.uint16) -> None:
|
|
498
|
-
...
|
|
499
|
-
def write_joint_control_mode_unchecked(self, value: numpy.uint16) -> None:
|
|
500
|
-
...
|
|
501
|
-
def write_joint_control_position(self, value: numpy.float64) -> None:
|
|
502
|
-
...
|
|
503
|
-
async def write_joint_control_position_async(self, value: numpy.float64) -> None:
|
|
504
|
-
...
|
|
505
|
-
def write_joint_control_position_unchecked(self, value: numpy.float64) -> None:
|
|
506
|
-
...
|
|
507
|
-
def write_joint_control_word(self, value: numpy.uint16) -> None:
|
|
508
|
-
...
|
|
509
|
-
async def write_joint_control_word_async(self, value: numpy.uint16) -> None:
|
|
510
|
-
...
|
|
511
|
-
def write_joint_control_word_unchecked(self, value: numpy.uint16) -> None:
|
|
512
|
-
...
|
|
513
|
-
def write_joint_current_limit(self, value: numpy.uint16) -> None:
|
|
514
|
-
...
|
|
515
|
-
async def write_joint_current_limit_async(self, value: numpy.uint16) -> None:
|
|
516
|
-
...
|
|
517
|
-
def write_joint_current_limit_unchecked(self, value: numpy.uint16) -> None:
|
|
518
|
-
...
|
|
519
|
-
def write_joint_reset_error(self, value: numpy.uint16) -> None:
|
|
520
|
-
...
|
|
521
|
-
async def write_joint_reset_error_async(self, value: numpy.uint16) -> None:
|
|
522
|
-
...
|
|
523
|
-
def write_joint_reset_error_unchecked(self, value: numpy.uint16) -> None:
|
|
524
|
-
...
|
|
525
|
-
def write_joint_sin_level(self, value: numpy.uint16) -> None:
|
|
526
|
-
...
|
|
527
|
-
async def write_joint_sin_level_async(self, value: numpy.uint16) -> None:
|
|
528
|
-
...
|
|
529
|
-
def write_joint_sin_level_unchecked(self, value: numpy.uint16) -> None:
|
|
530
|
-
...
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
wujihandpy/__init__.py,sha256=VU-LadNPq4cFGw9xlRroe0SclbNrDB24Q7G571CMd9I,183
|
|
2
|
-
wujihandpy/_core.cpython-311-x86_64-linux-gnu.so,sha256=QbNd-zFHmy9hdYvucTTJMOZhlT9gmjPd7iVRDyWIxm4,500145
|
|
3
|
-
wujihandpy/_core.pyi,sha256=akz0RwINRSIPqlb7f8NmEQwL3a1R-7KWdQP8Yy2MQ6c,22067
|
|
4
|
-
wujihandpy/_version.py,sha256=KSZDizwGgOnG8F56SByuwP8hlbz34zaOIk_12G-PexU,712
|
|
5
|
-
wujihandpy.libs/libblkid-a9167753.so.1.1.0,sha256=XVspUZDmtSMamCgSYDrDYNC-g6agPQCkqrDE0yb8sdY,356897
|
|
6
|
-
wujihandpy.libs/libmount-ec61bd71.so.1.1.0,sha256=8EmOB9QqeXTyAh0aE20fn-QVuG3vsF66wBcgZ6aX2V4,393873
|
|
7
|
-
wujihandpy.libs/libpcre2-8-516f4c9d.so.0.7.1,sha256=IcbljW_oKuAVlrAwKz8qtRZxfi1sQH_iKxPSoNpzsmU,547745
|
|
8
|
-
wujihandpy.libs/libselinux-d0805dcb.so.1,sha256=iYGaLO-LIy5-WEihMiXHpeJUXyq56DDqGU49JbpfTu4,195097
|
|
9
|
-
wujihandpy.libs/libudev-9765ffbd.so.1.6.11,sha256=32i9UQ4dXVdXAdwJfzJd7T9GMKvkkr42mIWW9mOGrI4,677489
|
|
10
|
-
wujihandpy.libs/libusb-1-1b307d35.0.so.0.2.0,sha256=5crhlK2KrW6d1ZRAWqh3dYy93CPE4KekXTbLeGGFIjw,126777
|
|
11
|
-
wujihandpy.libs/libuuid-95b83d40.so.1.3.0,sha256=Bj-_E8XyWfgC65o6pTuT9qLNcuA97EYDyCUUOfDR2q0,38041
|
|
12
|
-
wujihandpy-0.5.2.dist-info/METADATA,sha256=Dr7rJvg4kjdvLm29x7BTT_onQsin4QFWwX8FpBwqWEM,8037
|
|
13
|
-
wujihandpy-0.5.2.dist-info/WHEEL,sha256=0nVYFYtHP36mg9PDPBgwu1BNnaNOMi9iSL0fSWdrzR4,118
|
|
14
|
-
wujihandpy-0.5.2.dist-info/RECORD,,
|
|
15
|
-
wujihandpy-0.5.2.dist-info/licenses/LICENSE,sha256=OLJ-MVXgwcjW8-kJ56ADWaMCCF39muljtSqRy74lr6M,1072
|
|
File without changes
|
|
File without changes
|