Доработка. Добавлен модуль для "Трассы"

This commit is contained in:
sasha80
2025-09-09 16:12:12 +03:00
parent 4dfc526f9d
commit e48e9c48b0
5 changed files with 26 additions and 9 deletions

View File

@@ -1,7 +1,7 @@
class_name Network extends Node
const YAU07_PROTO: = {'yau07tx': yau07.YaU07}
const CAPS_PROTO: = {'capsrpb': capsrpb.CapsRpb}
const UDP_PROTO: = {'capsrpb': capsrpb.CapsRpb, 'trassa': trassa.Trassa}
const TCP_PROTO: = {'5p28': tcp5p28.TCP5P28}
const SERIAL_PROTO: = {'spt25': spt25.SPT25}
const MODBUS_PROTO: = {'mbcs': sch3.Sch3}
@@ -152,14 +152,14 @@ func create_socket_udp(unit_name: StringName) -> SocketUDP:
func create_socket_caps(unit_name: StringName) -> SocketUDP:
var st = settings.UnitProfiles[unit_name][1]
var addr = st[0]
var port0 = st[1]
var port = st[1]
var sock: = SocketUDP.new()
var rc: = sock.bind(port0, addr)
var rc: = sock.bind(port, addr)
if rc == Error.OK:
log.info('\"%s\" привязан к %s:%d' % [unit_name, addr, port0])
log.info('\"%s\" привязан к %s:%d' % [unit_name, addr, port])
else:
var errmsg = error_string(rc)
log.error('привязка \"%s\" к %s:%d не удалась: \"%s\"' % [unit_name, addr, port0, errmsg])
log.error('привязка \"%s\" к %s:%d не удалась: \"%s\"' % [unit_name, addr, port, errmsg])
return sock
@@ -202,10 +202,12 @@ func _ready() -> void:
var sock_broadcast: = create_socket_udp('уарэп-яу07-общий')
var sock_navi: = create_socket_udp('навигация')
var sock_caps: = create_socket_caps('уарэп-капсрпб')
poll_sockets = [sock_unicast, sock_broadcast, sock_caps, sock_navi]
var sock_trassa: = create_socket_caps('уарэп-трасса')
poll_sockets = [sock_unicast, sock_broadcast, sock_caps, sock_navi, sock_trassa]
send_sockets['уарэп-яу07-частный'] = sock_unicast
send_sockets['уарэп-яу07-общий'] = sock_broadcast
send_sockets['уарэп-капсрпб'] = sock_caps
send_sockets['уарэп-трасса'] = sock_trassa
send_sockets['уарэп-эмс'] = sock_unicast
send_sockets['уарэп-яу07-2в'] = sock_unicast
send_sockets['уарэп-яу07-2н'] = sock_unicast
@@ -242,8 +244,8 @@ func _ready() -> void:
var addr_port: = StringName('%s:%d' % [unit_profile[0], unit_profile[1]])
addr_port_to_unit_name[addr_port] = unit_name
if proto in CAPS_PROTO:
var new_unit = CAPS_PROTO[proto].new(unit_name)
if proto in UDP_PROTO:
var new_unit = UDP_PROTO[proto].new(unit_name)
units[unit_name] = new_unit
units_udptx[unit_name] = new_unit
dst_addrs[unit_name] = unit_profile[0]