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 CHANGED
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- from ._core import __doc__, Hand, Finger, Joint
3
+ from ._core import *
4
4
  from ._version import __version__
5
5
 
6
- __all__ = ["__doc__", "__version__", "Hand", "Finger", "Joint"]
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,8 @@
1
+ from __future__ import annotations
2
+ import typing
3
+ __all__: list[str] = ['IFilter', 'LowPass']
4
+ class IFilter:
5
+ pass
6
+ class LowPass(IFilter):
7
+ def __init__(self, cutoff_freq: typing.SupportsFloat = 10.0) -> None:
8
+ ...
@@ -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
+ ...
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 = '0.5.2'
32
- __version_tuple__ = version_tuple = (0, 5, 2)
31
+ __version__ = version = '1.2.0b0.dev0'
32
+ __version_tuple__ = version_tuple = (1, 2, 0, 'b0', 'dev0')
33
33
 
34
- __commit_id__ = commit_id = 'ga2dd2e0d2'
34
+ __commit_id__ = commit_id = 'ge3f1c9f42'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: wujihandpy
3
- Version: 0.5.2
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) -> np.<datatype>
121
- def read_<dataname>(self) -> np.array<datatype> # For bulk-read
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).read_joint_position()
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.read_joint_position()
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, np.<datatype>)
169
- def write_<dataname>(self, np.array<datatype>) # For bulk-write
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).write_joint_control_position(np.float64(0.8))
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 = (Hand | Finger | Joint).read_joint_upper_limit()
182
- lower = (Hand | Finger | Joint).read_joint_lower_limit()
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).write_joint_control_position(np.float64(0.8))
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).write_joint_control_position(
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) -> np.<datatype>
213
- async def read_<dataname>_async(self) -> np.array<datatype> # For bulk-read
214
- async def write_<dataname>_async(self, np.<datatype>)
215
- async def write_<dataname>_async(self, np.array<datatype>) # For bulk-write
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, np.<datatype>)
228
- def write_<dataname>_unchecked(self, np.array<datatype>) # For bulk-write
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) -> np.<datatype>
239
- def get_<dataname>(self) -> np.array<datatype> # For bulk-read
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
- ### PDO 写
246
+ ### 实时控制
247
247
 
248
- 默认的读/写方式均带有缓冲池,积攒一段数据后才进行传输,最高读/写频率无法超过 100Hz。
248
+ 默认的读/写方式均带有缓冲池,积攒一段时间数据后才进行传输,最高读/写频率无法超过 100Hz。
249
249
 
250
- 对于需要高频率实时控制关节位置(如 1kHz)的场景,需使用 PDO 非阻塞写接口。
250
+ 对于需要流畅控制关节位置的场景,需使用 realtime_controller。
251
251
 
252
- ```python
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
- PDO 启用前需特别配置,见 [example/4.pdo.py](example/4.pdo.py)
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