From ae293168ac96c9a46c2fdd0aea77a910752b47a9 Mon Sep 17 00:00:00 2001 From: Andrew Kay Date: Sat, 21 Dec 2019 12:44:04 -0600 Subject: [PATCH] Add POLL action --- pycoax/coax/__init__.py | 1 + pycoax/coax/protocol.py | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/pycoax/coax/__init__.py b/pycoax/coax/__init__.py index f9415fc..56743a3 100644 --- a/pycoax/coax/__init__.py +++ b/pycoax/coax/__init__.py @@ -3,6 +3,7 @@ from .__about__ import __version__ from .interface1 import Interface1 from .protocol import ( + PollAction, PollResponse, PowerOnResetCompletePollResponse, KeystrokePollResponse, diff --git a/pycoax/coax/protocol.py b/pycoax/coax/protocol.py index 847b241..5ed0657 100644 --- a/pycoax/coax/protocol.py +++ b/pycoax/coax/protocol.py @@ -37,6 +37,14 @@ class Command(Enum): START_OPERATION = 0x08 DIAGNOSTIC_RESET = 0x1c +class PollAction(Enum): + """Terminal POLL action.""" + + NONE = 0x0 + ALARM = 0x2 + ENABLE_KEYBOARD_CLICKER = 0x3 + DISABLE_KEYBOARD_CLICKER = 0x1 + class PollResponse: """Terminal POLL response.""" @@ -116,9 +124,9 @@ class TerminalId: def __repr__(self): return f'' -def poll(interface, **kwargs): +def poll(interface, action=PollAction.NONE, **kwargs): """Execute a POLL command.""" - command_word = _pack_command_word(Command.POLL) + command_word = (action.value << 8) | _pack_command_word(Command.POLL) response = _execute_read_command(interface, command_word, allow_trta_response=True, unpack_data_words=False, **kwargs)