"hold" and "release" commands for CLI

This commit is contained in:
Robert Martin
2020-08-15 11:26:38 +02:00
2 changed files with 66 additions and 8 deletions
+14 -2
View File
@@ -187,7 +187,7 @@ class ButtonState:
self._byte_1 = self._byte_2 = self._byte_3 = 0
async def button_push(controller_state, *buttons, sec=0.1):
async def button_down(controller_state, *buttons):
if not buttons:
raise ValueError('No Buttons were given.')
@@ -199,7 +199,13 @@ async def button_push(controller_state, *buttons, sec=0.1):
# send report
await controller_state.send()
await asyncio.sleep(sec)
async def button_up(controller_state, *buttons):
if not buttons:
raise ValueError('No Buttons were given.')
button_state = controller_state.button_state
for button in buttons:
# release button
@@ -209,6 +215,12 @@ async def button_push(controller_state, *buttons, sec=0.1):
await controller_state.send()
async def button_push(controller_state, *buttons, sec=0.1):
await button_down(controller_state, *buttons)
await asyncio.sleep(sec)
await button_up(controller_state, *buttons)
class _StickCalibration:
def __init__(self, h_center, v_center, h_max_above_center, v_max_above_center, h_max_below_center, v_max_below_center):
self.h_center = h_center