Ident config option
This commit is contained in:
parent
0ecd8ffd19
commit
2014015421
@ -36,6 +36,7 @@ import sys
|
|||||||
from bitarray import bitarray
|
from bitarray import bitarray
|
||||||
from time import time,sleep
|
from time import time,sleep
|
||||||
import importlib.util
|
import importlib.util
|
||||||
|
import re
|
||||||
|
|
||||||
# Twisted is pretty important, so I keep it separate
|
# Twisted is pretty important, so I keep it separate
|
||||||
from twisted.internet.protocol import Factory, Protocol
|
from twisted.internet.protocol import Factory, Protocol
|
||||||
@ -55,9 +56,6 @@ from mk_voice import pkt_gen
|
|||||||
#Read voices
|
#Read voices
|
||||||
from read_ambe import readAMBE
|
from read_ambe import readAMBE
|
||||||
|
|
||||||
#regex
|
|
||||||
import re
|
|
||||||
|
|
||||||
# Stuff for socket reporting
|
# Stuff for socket reporting
|
||||||
import pickle
|
import pickle
|
||||||
# REMOVE LATER from datetime import datetime
|
# REMOVE LATER from datetime import datetime
|
||||||
@ -263,6 +261,34 @@ def stream_trimmer_loop():
|
|||||||
else:
|
else:
|
||||||
logger.error('(%s) Attemped to remove OpenBridge Stream ID %s not in the Stream ID list: %s', system, int_id(stream_id), [id for id in systems[system].STATUS])
|
logger.error('(%s) Attemped to remove OpenBridge Stream ID %s not in the Stream ID list: %s', system, int_id(stream_id), [id for id in systems[system].STATUS])
|
||||||
|
|
||||||
|
def ident():
|
||||||
|
for system in systems:
|
||||||
|
if CONFIG['SYSTEMS'][system]['VOICE_IDENT'] == True:
|
||||||
|
#We only care about slot 2 - idents go out on slot 2
|
||||||
|
_slot = systems[system].STATUS[2]
|
||||||
|
#If slot is idle for RX and TX
|
||||||
|
if (_slot['RX_TYPE'] == HBPF_SLT_VTERM) and (_slot['TX_TYPE'] == HBPF_SLT_VTERM):
|
||||||
|
#_stream_id = hex_str_4(1234567)
|
||||||
|
logger.info('(%s) Sending voice ident',system)
|
||||||
|
_say = [words['silence']]
|
||||||
|
_systemcs = re.sub(r'\W+', '', system)
|
||||||
|
_systemcs.upper()
|
||||||
|
for character in _systemcs:
|
||||||
|
_say.append(words[character])
|
||||||
|
_say.append(words['silence'])
|
||||||
|
speech = pkt_gen(bytes_3(16777215), bytes_3(16777215), bytes_4(16777215), 1, _say)
|
||||||
|
|
||||||
|
sleep(1)
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
|
pkt = next(speech)
|
||||||
|
except StopIteration:
|
||||||
|
break
|
||||||
|
#Packet every 60ms
|
||||||
|
sleep(0.058)
|
||||||
|
systems[system].send_system(pkt)
|
||||||
|
|
||||||
|
|
||||||
class routerOBP(OPENBRIDGE):
|
class routerOBP(OPENBRIDGE):
|
||||||
|
|
||||||
def __init__(self, _name, _config, _report):
|
def __init__(self, _name, _config, _report):
|
||||||
@ -1063,5 +1089,11 @@ if __name__ == '__main__':
|
|||||||
stream_trimmer_task = task.LoopingCall(stream_trimmer_loop)
|
stream_trimmer_task = task.LoopingCall(stream_trimmer_loop)
|
||||||
stream_trimmer = stream_trimmer_task.start(5)
|
stream_trimmer = stream_trimmer_task.start(5)
|
||||||
stream_trimmer.addErrback(loopingErrHandle)
|
stream_trimmer.addErrback(loopingErrHandle)
|
||||||
|
|
||||||
|
# Ident
|
||||||
|
ident_task = task.LoopingCall(ident)
|
||||||
|
ident = ident_task.start(900)
|
||||||
|
ident.addErrback(loopingErrHandle)
|
||||||
|
|
||||||
|
|
||||||
reactor.run()
|
reactor.run()
|
||||||
|
@ -261,7 +261,8 @@ def build_config(_config_file):
|
|||||||
'TG1_ACL': config.get(section, 'TGID_TS1_ACL'),
|
'TG1_ACL': config.get(section, 'TGID_TS1_ACL'),
|
||||||
'TG2_ACL': config.get(section, 'TGID_TS2_ACL'),
|
'TG2_ACL': config.get(section, 'TGID_TS2_ACL'),
|
||||||
'DEFAULT_UA_TIMER': config.getint(section, 'DEFAULT_UA_TIMER'),
|
'DEFAULT_UA_TIMER': config.getint(section, 'DEFAULT_UA_TIMER'),
|
||||||
'SINGLE_MODE': config.getboolean(section, 'SINGLE_MODE')
|
'SINGLE_MODE': config.getboolean(section, 'SINGLE_MODE'),
|
||||||
|
'VOICE_IDENT': config.getboolean(section, 'VOICE_IDENT')
|
||||||
}})
|
}})
|
||||||
CONFIG['SYSTEMS'][section].update({'PEERS': {}})
|
CONFIG['SYSTEMS'][section].update({'PEERS': {}})
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user