From a4a339aabf10f585b800d1e2083291978d0f2fde Mon Sep 17 00:00:00 2001 From: Cort Buffington Date: Mon, 28 Apr 2014 21:52:53 -0500 Subject: [PATCH] Move RCM Messages to ipsc.ipsc_message_types.py Consolidate so that only one file with message-type mappings are used, so that only one place needs updated. --- ipsc/ipsc_message_types.py | 42 +++++++++++++++++++++++++++++++++++ rcm.py | 45 ++++---------------------------------- 2 files changed, 46 insertions(+), 41 deletions(-) diff --git a/ipsc/ipsc_message_types.py b/ipsc/ipsc_message_types.py index e219859..f901fa1 100644 --- a/ipsc/ipsc_message_types.py +++ b/ipsc/ipsc_message_types.py @@ -58,6 +58,48 @@ MASTER_REQUIRED = [PEER_LIST_REPLY, MASTER_ALIVE_REPLY] # User-Generated Packet Types USER_PACKETS = [GROUP_VOICE, PVT_VOICE, GROUP_DATA, PVT_DATA] +# RCM (Repeater Call Monitor) Constants + +TS = { + '\x00': '1', + '\x01': '2' +} + +NACK = { + '\x05': 'BSID Start', + '\x06': 'BSID End' +} + +TYPE = { + '\x30': 'Private Data Set-Up', + '\x31': 'Group Data Set-Up', + '\x32': 'Private CSBK Set-Up', + '\x47': 'Radio Check Request', + '\x45': 'Call Alert', + '\x4D': 'Remote Monitor Request', + '\x4F': 'Group Voice', + '\x50': 'Private Voice', + '\x51': 'Group Data', + '\x52': 'Private Data', + '\x53': 'All Call' +} + +SEC = { + '\x00': 'None', + '\x01': 'Basic', + '\x02': 'Enhanced' +} + +STATUS = { + '\x01': 'Active', + '\x02': 'End', + '\x05': 'TS In Use', + '\x0A': 'BSID ON', + '\x0B': 'Timeout', + '\x0C': 'TX Interrupt' +} + + # Conditions for accepting certain types of messages... the cornerstone of a secure IPSC system :) ''' REQ_VALID_PEER = [ diff --git a/rcm.py b/rcm.py index f753e01..7046b04 100755 --- a/rcm.py +++ b/rcm.py @@ -32,47 +32,10 @@ __maintainer__ = 'Cort Buffington, N0MJS' __email__ = 'n0mjs@me.com' __status__ = 'Production' -# Constants - -TS = { - '\x00': '1', - '\x01': '2' -} - -NACK = { - '\x05': 'BSID Start', - '\x06': 'BSID End' -} - -TYPE = { - '\x30': 'Private Data Set-Up', - '\x31': 'Group Data Set-Up', - '\x32': 'Private CSBK Set-Up', - '\x47': 'Radio Check Request', - '\x45': 'Call Alert', - '\x4D': 'Remote Monitor Request', - '\x4F': 'Group Voice', - '\x50': 'Private Voice', - '\x51': 'Group Data', - '\x52': 'Private Data', - '\x53': 'All Call' -} - -SEC = { - '\x00': 'None', - '\x01': 'Basic', - '\x02': 'Enhanced' -} - -STATUS = { - '\x01': 'Active', - '\x02': 'End', - '\x05': 'TS In Use', - '\x0A': 'BSID ON', - '\x0B': 'Timeout', - '\x0C': 'TX Interrupt' -} - +try: + from ipsc.ipsc_message_types import * +except ImportError: + sys.exit('IPSC message types file not found or invalid') class rcmIPSC(IPSC):