Skip to content

Commit

Permalink
DofCallback - add support to create normal callback with filter
Browse files Browse the repository at this point in the history
  • Loading branch information
JakubAndrysek committed Mar 25, 2021
1 parent b2a1a74 commit df4d896
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 7 deletions.
5 changes: 3 additions & 2 deletions pyspacemouse/pyspacemouse.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from typing import Callable, Union, List

# current version number
__version__ = "1.0.1"
__version__ = "1.0.2"

# clock for timing
high_acc_clock = timeit.default_timer
Expand Down Expand Up @@ -280,7 +280,8 @@ def process(self, data):
elif axis_val < -block_dof_callback.filter:
block_dof_callback.callback_minus(self.tuple_state, axis_val)
else:
block_dof_callback.callback(self.tuple_state, axis_val)
if axis_val > block_dof_callback.filter or axis_val < -block_dof_callback.filter:
block_dof_callback.callback(self.tuple_state, axis_val)
self.dict_state_last[axis_name] = now

# only call the button callback if the button state actually changed
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

setuptools.setup(
name='pyspacemouse',
version='1.0.1',
version='1.0.2',
author='Jakub Andrýsek',
author_email='[email protected]',
description='Multiplatform Python interface to the 3DConnexion Space Mouse - forked from pyspacenavigator',
Expand Down
25 changes: 21 additions & 4 deletions tests/test_clb_axis_arr.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,32 @@
# import pyspacemouse
# import time
#
#
# pyspacemouse.open(dof_callback_arr=[
# pyspacemouse.DofCallback("x", lambda state, axis: print(f"X plus {axis}"), 0.01, lambda state, axis: print(f"X minus {axis}")),
# pyspacemouse.DofCallback("y", lambda state, axis: print(f"Y plus {axis}"), 0.01, lambda state, axis: print(f"Y minus {axis}"), 0.5),
# ])
#
#
# while True:
# out = pyspacemouse.read()
# # print(out.x)
# time.sleep(0.0001)




import pyspacemouse
import time


pyspacemouse.open(dof_callback_arr=[
pyspacemouse.DofCallback("x", lambda state, axis: print(f"X plus {axis}"), 0.01, lambda state, axis: print(f"X minus {axis}")),
pyspacemouse.DofCallback("y", lambda state, axis: print(f"Y plus {axis}"), 0.01, lambda state, axis: print(f"Y minus {axis}"), 0.5),
pyspacemouse.DofCallback("x", lambda state, axis: print(f"X filter {axis}"), 0.01, None, 0.3),
pyspacemouse.DofCallback("y", lambda state, axis: print(f"Y filter {axis}"), 0.01, None, 0.8),
# pyspacemouse.DofCallback("z", lambda state, axis: print(f"z filter {axis}"), 0.01),
])


while True:
out = pyspacemouse.read()
# print(out.x)
time.sleep(0.0001)

0 comments on commit df4d896

Please sign in to comment.