|
5 | 5 | from typing import Callable, Union, List
|
6 | 6 |
|
7 | 7 | # current version number
|
8 |
| -__version__ = "1.0.2" |
| 8 | +__version__ = "1.0.3" |
9 | 9 |
|
10 | 10 | # clock for timing
|
11 | 11 | high_acc_clock = timeit.default_timer
|
@@ -753,6 +753,22 @@ def check_button_callback_arr(button_callback_arr: List[ButtonCallback]) -> List
|
753 | 753 | raise Exception(f"'ButtonCallback[{num}]' is not instance of 'ButtonCallback'")
|
754 | 754 | return button_callback_arr
|
755 | 755 |
|
| 756 | +class DofCallback: |
| 757 | + """Register new DoF callback""" |
| 758 | + |
| 759 | + def __init__( |
| 760 | + self, |
| 761 | + axis: str, |
| 762 | + callback: Callable[[int], None], |
| 763 | + sleep: float = 0.0, |
| 764 | + callback_minus: Callable[[int], None] = None, |
| 765 | + filter: float = 0.0 |
| 766 | + ): |
| 767 | + self.axis = axis |
| 768 | + self.callback = callback |
| 769 | + self.sleep = sleep |
| 770 | + self.callback_minus = callback_minus |
| 771 | + self.filter = filter |
756 | 772 |
|
757 | 773 | def check_dof_callback_arr(dof_callback_arr: List[DofCallback]) -> List[DofCallback]:
|
758 | 774 | """Check that the dof_callback_arr has the correct components.
|
@@ -780,6 +796,18 @@ def check_dof_callback_arr(dof_callback_arr: List[DofCallback]) -> List[DofCallb
|
780 | 796 | pass
|
781 | 797 | else:
|
782 | 798 | raise Exception(f"'DofCallback[{num}]:sleep' is not type float")
|
| 799 | + |
| 800 | + # is callback_minus callable |
| 801 | + if dof_call.callback_minus and callable(dof_call.callback_minus): |
| 802 | + pass |
| 803 | + else: |
| 804 | + raise Exception(f"'DofCallback[{num}]:callback_minus' is not callable") |
| 805 | + |
| 806 | + # is filter type float |
| 807 | + if dof_call.filter and type(dof_call.filter) is float: |
| 808 | + pass |
| 809 | + else: |
| 810 | + raise Exception(f"'DofCallback[{num}]:filter' is not type float") |
783 | 811 | else:
|
784 | 812 | raise Exception(f"'DofCallback[{num}]' is not instance of 'DofCallback'")
|
785 | 813 | return dof_callback_arr
|
|
0 commit comments