time for static unit now generated at start
This commit is contained in:
parent
e88d545955
commit
e736893543
33
bridge.py
33
bridge.py
@ -77,11 +77,13 @@ __email__ = 'n0mjs@me.com'
|
||||
UNIT_MAP = {}
|
||||
|
||||
# UNIX time for end of year 2060. This is used to keep subscribers in UNIT_MAP indefinitely to accomplish static routes for unit calls
|
||||
time_2060 = 2871763199.0000000
|
||||
#time_2060 = 2871763199.0000000
|
||||
# 20 years in seconds. added to current at time of start to keep static units from being trimmed.
|
||||
time_20 = 630720000
|
||||
|
||||
# Build a UNIT_MAP based on values in STATIC_MAP.
|
||||
for i in STATIC_UNIT:
|
||||
UNIT_MAP[bytes_3(i[0])] = i[1], time_2060
|
||||
UNIT_MAP[bytes_3(i[0])] = i[1], time() + time_20
|
||||
|
||||
# Timed loop used for reporting HBP status
|
||||
#
|
||||
@ -163,7 +165,7 @@ def rule_timer_loop():
|
||||
|
||||
_then = _now - 60 * UNIT_TIME
|
||||
remove_list = []
|
||||
#logger.info(UNIT_MAP)
|
||||
logger.info(UNIT_MAP)
|
||||
for unit in UNIT_MAP:
|
||||
if UNIT_MAP[unit][1] < (_then):
|
||||
remove_list.append(unit)
|
||||
@ -437,9 +439,14 @@ class routerOBP(OPENBRIDGE):
|
||||
pkt_time = time()
|
||||
dmrpkt = _data[20:53]
|
||||
_bits = _data[15]
|
||||
|
||||
# Make/update this unit in the UNIT_MAP cache
|
||||
UNIT_MAP[_rf_src] = (self.name, pkt_time)
|
||||
|
||||
if time_20 == UNIT_MAP[_rf_src][1]:
|
||||
logger.info('Static Unit, no change in UNIT_MAP')
|
||||
pass
|
||||
else:
|
||||
# Make/update this unit in the UNIT_MAP cache
|
||||
logger.ingo('Updated subscriber system')
|
||||
UNIT_MAP[_rf_src] = (self.name, pkt_time)
|
||||
|
||||
|
||||
# Is this a new call stream?
|
||||
@ -587,7 +594,6 @@ class routerOBP(OPENBRIDGE):
|
||||
self.unit_received(_peer_id, _rf_src, _dst_id, _seq, _slot, _frame_type, _dtype_vseq, _stream_id, _data)
|
||||
elif _call_type == 'vcsbk':
|
||||
# Route CSBK packets to destination TG. Necessary for group data to work with GPS/Data decoder.
|
||||
logger.debug('CSBK recieved, but HBlink does not process them currently')
|
||||
self.group_received(_peer_id, _rf_src, _dst_id, _seq, _slot, _frame_type, _dtype_vseq, _stream_id, _data)
|
||||
logger.debug('CSBK recieved, but HBlink does not process them currently. Packets routed to talkgroup.')
|
||||
|
||||
@ -920,9 +926,15 @@ class routerHBP(HBSYSTEM):
|
||||
pkt_time = time()
|
||||
dmrpkt = _data[20:53]
|
||||
_bits = _data[15]
|
||||
|
||||
# Make/update this unit in the UNIT_MAP cache
|
||||
UNIT_MAP[_rf_src] = (self.name, pkt_time)
|
||||
|
||||
# If time matches time in static units, do not update.
|
||||
if time_20 == UNIT_MAP[_rf_src][1]:
|
||||
logger.info('Static Unit, no change in UNIT_MAP')
|
||||
pass
|
||||
else:
|
||||
# Make/update this unit in the UNIT_MAP cache
|
||||
logger.ingo('Updated subscriber system')
|
||||
UNIT_MAP[_rf_src] = (self.name, pkt_time)
|
||||
|
||||
|
||||
# Is this a new call stream?
|
||||
@ -1066,7 +1078,6 @@ class routerHBP(HBSYSTEM):
|
||||
self.unit_received(_peer_id, _rf_src, _dst_id, _seq, _slot, _frame_type, _dtype_vseq, _stream_id, _data)
|
||||
elif _call_type == 'vcsbk':
|
||||
# Route CSBK packets to destination TG. Necessary for group data to work with GPS/Data decoder.
|
||||
logger.debug('CSBK recieved, but HBlink does not process them currently')
|
||||
self.group_received(_peer_id, _rf_src, _dst_id, _seq, _slot, _frame_type, _dtype_vseq, _stream_id, _data)
|
||||
logger.debug('CSBK recieved, but HBlink does not process them currently. Packets routed to talkgroup.')
|
||||
else:
|
||||
|
@ -63,7 +63,7 @@ Input the DMR ID and SYSTEM of a subscriber that you would like to have always h
|
||||
'''
|
||||
STATIC_UNIT = [
|
||||
[ 123, 'CLIENT-1'],
|
||||
[ 456 'CLIENT-1'],
|
||||
[ 456, 'CLIENT-1'],
|
||||
[ 789, 'MASTER-1']
|
||||
]
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user