Skip to content

Commit 1e09a79

Browse files
Ember ChowEmDash00
authored andcommitted
add version
1 parent 24b6314 commit 1e09a79

1 file changed

Lines changed: 74 additions & 71 deletions

File tree

forcedimension/__init__.py

Lines changed: 74 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,30 @@
1-
from threading import Thread, Lock, Condition
2-
from typing import MutableSequence, Optional, Callable, List
3-
from typing import cast
41
from math import nan
5-
6-
from time import sleep, monotonic
2+
from threading import Condition, Lock, Thread
3+
from time import monotonic, sleep
4+
from typing import Callable, List, MutableSequence, Optional
5+
from typing import cast
76

87
import forcedimension.dhd as dhd
8+
from forcedimension.dhd import DeviceType
9+
from forcedimension.dhd.adaptors import (
10+
DHDErrorNoDeviceFound,
11+
DHDIOError,
12+
ErrorNum,
13+
StatusTuple,
14+
errno_to_exception,
15+
)
916
import forcedimension.drd as drd
1017
from forcedimension.typing import IntVectorLike
11-
1218
from forcedimension.util import (
1319
EuclidianVector,
14-
JacobianMatrix,
1520
ImmutableWrapper,
21+
JacobianMatrix,
1622
UpdateOpts,
1723
)
1824

19-
from forcedimension.dhd import DeviceType
20-
from forcedimension.dhd.adaptors import (
21-
StatusTuple,
22-
DHDIOError,
23-
DHDErrorNoDeviceFound,
24-
ErrorNum,
25-
errno_to_exception
26-
)
25+
26+
__version__ = '0.1.1'
27+
2728

2829
DefaultVecType = EuclidianVector
2930

@@ -48,6 +49,7 @@ class HapticDevice:
4849
dhd and provides a peformant portable Pythonic interface for doing
4950
high-level control.
5051
"""
52+
5153
def __init__(
5254
self,
5355
ID: Optional[int] = None,
@@ -385,6 +387,7 @@ def calculate_angular_velocity(self):
385387
self.calculate_jacobian()
386388
387389
"""
390+
388391
def update_enc_and_calculate(self) -> None:
389392
self.update_enc()
390393
self.calculate_joint_angles()
@@ -401,16 +404,16 @@ def update_enc(self) -> None:
401404
"""
402405

403406
_, err = dhd.expert.getDeltaEncoders(
404-
ID=cast(int, self._id),
405-
out=self._enc
406-
)
407+
ID=cast(int, self._id),
408+
out=self._enc
409+
)
407410

408411
if err and err != dhd.TIMEGUARD:
409412
raise errno_to_exception(
410413
ErrorNum(dhd.errorGetLast()))(
411414
ID=cast(int, self.ID),
412415
feature=dhd.expert.getDeltaEncoders
413-
)
416+
)
414417

415418
def update_position(self) -> None:
416419
"""
@@ -428,7 +431,7 @@ def update_position(self) -> None:
428431
ErrorNum(dhd.errorGetLast()))(
429432
ID=cast(int, self.ID),
430433
feature=dhd.getPosition
431-
)
434+
)
432435

433436
def update_velocity(self) -> None:
434437
"""
@@ -458,8 +461,8 @@ def update_angular_velocity(self):
458461
:rtype: None
459462
"""
460463
_, err = dhd.getAngularVelocityRad(
461-
ID=cast(int, self._id),
462-
out=self._w
464+
ID=cast(int, self._id),
465+
out=self._w
463466
)
464467

465468
if (err):
@@ -487,7 +490,7 @@ def update_force(self):
487490
dhd.errorGetLast()))(
488491
ID=cast(int, self._id),
489492
feature=dhd.getForce
490-
)
493+
)
491494

492495
def update_force_and_torque(self):
493496
"""
@@ -505,9 +508,9 @@ def update_force_and_torque(self):
505508

506509
if (err):
507510
raise errno_to_exception(dhd.errorGetLast())(
508-
ID=cast(int, self._id),
509-
feature=dhd.getForceAndTorque
510-
)
511+
ID=cast(int, self._id),
512+
feature=dhd.getForceAndTorque
513+
)
511514

512515
def update_force_and_torque_and_gripper_force(self):
513516
"""
@@ -555,19 +558,19 @@ def submit(self):
555558
"""
556559
self._req = False
557560
err = dhd.setForceAndTorque(
558-
self._f_req,
559-
self._t_req,
560-
cast(int, self._id)
561-
)
561+
self._f_req,
562+
self._t_req,
563+
cast(int, self._id)
564+
)
562565

563566
if err:
564567
if err == dhd.MOTOR_SATURATED:
565568
pass
566569
else:
567570
raise errno_to_exception(ErrorNum(dhd.errorGetLast()))(
568-
ID=cast(int, self._id),
569-
feature=dhd.setForceAndTorqueAndGripperForce
570-
)
571+
ID=cast(int, self._id),
572+
feature=dhd.setForceAndTorqueAndGripperForce
573+
)
571574

572575
def req(
573576
self,
@@ -635,19 +638,19 @@ def stop(self):
635638

636639
def submit_vibration(self):
637640
err = dhd.setVibration(
638-
ID=cast(int, self._id),
639-
f=self._vibration_req[0],
640-
A=self._vibration_req[1],
641-
device_type=self.devtype
642-
)
641+
ID=cast(int, self._id),
642+
f=self._vibration_req[0],
643+
A=self._vibration_req[1],
644+
device_type=self.devtype
645+
)
643646

644647
if err:
645648
if err == dhd.MOTOR_SATURATED:
646649
pass
647650
raise errno_to_exception(ErrorNum(dhd.errorGetLast()))(
648-
ID=cast(int, self._id),
649-
feature=dhd.setVibration
650-
)
651+
ID=cast(int, self._id),
652+
feature=dhd.setVibration
653+
)
651654

652655
def submit_enc(self):
653656
_, err = dhd.expert.getEnc(
@@ -658,9 +661,9 @@ def submit_enc(self):
658661

659662
if err:
660663
raise errno_to_exception(ErrorNum(dhd.errorGetLast()))(
661-
ID=cast(int, self._id),
662-
feature=dhd.expert.getEnc
663-
)
664+
ID=cast(int, self._id),
665+
feature=dhd.expert.getEnc
666+
)
664667

665668
def enable_force(self, enabled: bool = True):
666669
"""
@@ -680,9 +683,9 @@ def enable_brakes(self, enabled: bool = True):
680683
err = dhd.setBrakes(enabled)
681684
if err:
682685
raise errno_to_exception(ErrorNum(dhd.errorGetLast()))(
683-
ID=cast(int, self._id),
684-
feature=dhd.setVibration
685-
)
686+
ID=cast(int, self._id),
687+
feature=dhd.setVibration
688+
)
686689

687690
def get_max_force(self) -> Optional[float]:
688691
"""
@@ -907,9 +910,9 @@ def set_max_force(self, limit: Optional[float]) -> None:
907910
raise ValueError
908911

909912
err = dhd.setMaxGripperForce(
910-
ID=cast(int, self._id),
911-
limit=limit
912-
)
913+
ID=cast(int, self._id),
914+
limit=limit
915+
)
913916

914917
if err:
915918
raise errno_to_exception(ErrorNum(dhd.errorGetLast()))
@@ -952,25 +955,25 @@ def fg(self):
952955
def calculate_gap(self):
953956
if self._enc is not None:
954957
self._gap = dhd.expert.gripperEncoderToGap(
955-
ID=cast(int, self._id),
956-
enc=self._enc
957-
)
958+
ID=cast(int, self._id),
959+
enc=self._enc
960+
)
958961
else:
959962
raise ValueError
960963

961964
def calculate_angle(self):
962965
if self._enc is not None:
963966
self._angle = dhd.expert.gripperEncoderToAngleRad(
964-
ID=cast(int, self._id),
965-
enc=self._enc
966-
)
967+
ID=cast(int, self._id),
968+
enc=self._enc
969+
)
967970
else:
968971
raise ValueError
969972

970973
def update_enc(self):
971974
self._enc, err = dhd.expert.getGripperEncoder(
972-
ID=cast(int, self._id)
973-
)
975+
ID=cast(int, self._id)
976+
)
974977

975978
if err and err != dhd.TIMEGUARD:
976979
raise errno_to_exception(dhd.errorGetLast())
@@ -987,8 +990,8 @@ def update_linear_velocity(self):
987990

988991
def update_angular_velocity(self):
989992
self._w, err = dhd.getGripperAngularVelocityRad(
990-
ID=cast(int, self._id)
991-
)
993+
ID=cast(int, self._id)
994+
)
992995

993996
if err and err != dhd.TIMEGUARD:
994997
raise errno_to_exception(dhd.errorGetLast())
@@ -1005,18 +1008,18 @@ def update_gap(self):
10051008

10061009
def update_thumb_pos(self):
10071010
_, err = dhd.getGripperThumbPos(
1008-
cast(int, self._id),
1009-
out=self._thumb_pos
1010-
)
1011+
cast(int, self._id),
1012+
out=self._thumb_pos
1013+
)
10111014

10121015
if err and err != dhd.TIMEGUARD:
10131016
raise errno_to_exception(dhd.errorGetLast())
10141017

10151018
def update_finger_pos(self):
10161019
_, err = dhd.getGripperFingerPos(
1017-
cast(int, self._id),
1018-
out=self._finger_pos
1019-
)
1020+
cast(int, self._id),
1021+
out=self._finger_pos
1022+
)
10201023
if err and err != dhd.TIMEGUARD:
10211024
raise errno_to_exception(dhd.errorGetLast())
10221025

@@ -1093,11 +1096,11 @@ def run(self):
10931096

10941097
class HapticDaemon(Thread):
10951098
def __init__(
1096-
self,
1097-
dev: HapticDevice,
1098-
update_list: UpdateOpts = UpdateOpts(),
1099-
forceon=False
1100-
):
1099+
self,
1100+
dev: HapticDevice,
1101+
update_list: UpdateOpts = UpdateOpts(),
1102+
forceon=False
1103+
):
11011104

11021105
super().__init__()
11031106

0 commit comments

Comments
 (0)