diff --git a/bridge_master.py b/bridge_master.py index 4c8db6b..b8c38d8 100644 --- a/bridge_master.py +++ b/bridge_master.py @@ -1822,6 +1822,15 @@ class routerHBP(HBSYSTEM): systems[_target['SYSTEM']].send_system(_tmp_data) return _sysIgnore + + def sendDataToHBP(self,d_system, d_slot,_dst_id,_tmp_bits,_data,_dmrpkt,_rf_src): + #Assemble transmit HBP packet header + _tmp_data = b''.join([_data[:15], _tmp_bits.to_bytes(1, 'big'), _data[16:20]]) + _tmp_data = b''.join([_tmp_data, dmrpkt]) + systems[_d_system].send_system(_tmp_data) + logger.info('(%s) UNIT Data Bridged to HBP on slot 1: %s DST_ID: %s',self._system,_d_system,_int_dst_id) + if CONFIG['REPORTS']['REPORT']: + systems[_d_system]._report.send_bridgeEvent('UNIT DATA,START,TX,{},{},{},{},{},{}'.format(_d_system, int_id(_stream_id), int_id(_peer_id), int_id(_rf_src), 1, _int_dst_id).encode(encoding='utf-8', errors='ignore')) def dmrd_received(self, _peer_id, _rf_src, _dst_id, _seq, _slot, _call_type, _frame_type, _dtype_vseq, _stream_id, _data): pkt_time = time() @@ -1922,12 +1931,13 @@ class routerHBP(HBSYSTEM): else: _tmp_bits = _bits #Assemble transmit HBP packet header - _tmp_data = b''.join([_data[:15], _tmp_bits.to_bytes(1, 'big'), _data[16:20]]) - _tmp_data = b''.join([_tmp_data, dmrpkt]) - systems[_d_system].send_system(_tmp_data) - logger.info('(%s) UNIT Data Bridged to HBP on slot 1: %s DST_ID: %s',self._system,_d_system,_int_dst_id) - if CONFIG['REPORTS']['REPORT']: - systems[_d_system]._report.send_bridgeEvent('UNIT DATA,START,TX,{},{},{},{},{},{}'.format(_d_system, int_id(_stream_id), int_id(_peer_id), int_id(_rf_src), 1, _int_dst_id).encode(encoding='utf-8', errors='ignore')) + #_tmp_data = b''.join([_data[:15], _tmp_bits.to_bytes(1, 'big'), _data[16:20]]) + #_tmp_data = b''.join([_tmp_data, dmrpkt]) + #systems[_d_system].send_system(_tmp_data) + #logger.info('(%s) UNIT Data Bridged to HBP on slot 1: %s DST_ID: %s',self._system,_d_system,_int_dst_id) + #if CONFIG['REPORTS']['REPORT']: + #systems[_d_system]._report.send_bridgeEvent('UNIT DATA,START,TX,{},{},{},{},{},{}'.format(_d_system, int_id(_stream_id), int_id(_peer_id), int_id(_rf_src), 1, _int_dst_id).encode(encoding='utf-8', errors='ignore')) + self.sendDataToHBP(d_system, d_slot,_dst_id,_tmp_bits,_data,_dmrpkt,_rf_src) #_dst_slot['TX_TIME'] = pkt_time else: @@ -1936,19 +1946,20 @@ class routerHBP(HBSYSTEM): elif _int_dst_id == 900999: if 'D-APRS' in systems and CONFIG['SYSTEMS']['D-APRS']['MODE'] == 'MASTER': _d_system = 'D-APRS' - _dst_slot = systems['D-APRS'].STATUS[2] - logger.info('(%s) D-APRS ID matched, System: %s Slot: 2',self._system, _d_system) + _dst_slot = systems['D-APRS'].STATUS[_slot] + logger.info('(%s) D-APRS ID matched, System: %s Slot: %s',self._system, _d_system,_slot) #If slot is idle for RX and TX if (_dst_slot['RX_TYPE'] == HBPF_SLT_VTERM) and (_dst_slot['TX_TYPE'] == HBPF_SLT_VTERM) and (time() - _dst_slot['TX_TIME'] > CONFIG['SYSTEMS'][_d_system]['GROUP_HANGTIME']): #We will allow the system to use both slots _tmp_bits = _bits #Assemble transmit HBP packet header - _tmp_data = b''.join([_data[:15], _tmp_bits.to_bytes(1, 'big'), _data[16:20]]) - _tmp_data = b''.join([_tmp_data, dmrpkt]) - systems[_d_system].send_system(_tmp_data) - logger.info('(%s) UNIT Data Bridged to HBP on slot: %s DST_ID: %s',self._system,_d_system,_int_dst_id) - if CONFIG['REPORTS']['REPORT']: - systems[_d_system]._report.send_bridgeEvent('UNIT DATA,START,TX,{},{},{},{},{},{}'.format(_d_system, int_id(_stream_id), int_id(_peer_id), int_id(_rf_src), 1, _int_dst_id).encode(encoding='utf-8', errors='ignore')) + #_tmp_data = b''.join([_data[:15], _tmp_bits.to_bytes(1, 'big'), _data[16:20]]) + #_tmp_data = b''.join([_tmp_data, dmrpkt]) + #systems[_d_system].send_system(_tmp_data) + #logger.info('(%s) UNIT Data Bridged to HBP on slot: %s DST_ID: %s',self._system,_d_system,_int_dst_id) + #if CONFIG['REPORTS']['REPORT']: + #systems[_d_system]._report.send_bridgeEvent('UNIT DATA,START,TX,{},{},{},{},{},{}'.format(_d_system, int_id(_stream_id), int_id(_peer_id), int_id(_rf_src), 1, _int_dst_id).encode(encoding='utf-8', errors='ignore')) + self.sendDataToHBP(d_system, d_slot,_dst_id,_tmp_bits,_data,_dmrpkt,_rf_src) #_dst_slot['TX_TIME'] = pkt_time else: @@ -1975,13 +1986,13 @@ class routerHBP(HBSYSTEM): else: _tmp_bits = _bits #Assemble transmit HBP packet header - _tmp_data = b''.join([_data[:15], _tmp_bits.to_bytes(1, 'big'), _data[16:20]]) - _tmp_data = b''.join([_tmp_data, dmrpkt]) - systems[_d_system].send_system(_tmp_data) - logger.info('(%s) UNIT Data Bridged to HBP on slot: %s DST_ID: %s',self._system,_d_system,_int_dst_id) - if CONFIG['REPORTS']['REPORT']: - systems[_d_system]._report.send_bridgeEvent('UNIT DATA,START,TX,{},{},{},{},{},{}'.format(_d_system, int_id(_stream_id), int_id(_peer_id), int_id(_rf_src), 1, _int_dst_id).encode(encoding='utf-8', errors='ignore')) - + #_tmp_data = b''.join([_data[:15], _tmp_bits.to_bytes(1, 'big'), _data[16:20]]) + #_tmp_data = b''.join([_tmp_data, dmrpkt]) + #systems[_d_system].send_system(_tmp_data) + #logger.info('(%s) UNIT Data Bridged to HBP on slot: %s DST_ID: %s',self._system,_d_system,_int_dst_id) + #if CONFIG['REPORTS']['REPORT']: + #systems[_d_system]._report.send_bridgeEvent('UNIT DATA,START,TX,{},{},{},{},{},{}'.format(_d_system, int_id(_stream_id), int_id(_peer_id), int_id(_rf_src), 1, _int_dst_id).encode(encoding='utf-8', errors='ignore')) + self.sendDataToHBP(d_system, d_slot,_dst_id,_tmp_bits,_data,_dmrpkt,_rf_src) #_dst_slot['TX_TIME'] = pkt_time else: logger.info('(%s) UNIT Data not bridged to HBP on slot 1 - target busy: %s DST_ID: %s',self._system,_d_system,_int_dst_id)