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

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

@@ -60,6 +60,7 @@ spt25="*res://scripts/spt25.gd"
astrakb="*res://scripts/astra-kb.gd"
prd="*res://scripts/prd.gd"
navi="*res://scripts/navigation.gd"
trassa="*res://scripts/trassa.gd"
[debug]

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]

View File

@@ -9,7 +9,8 @@ var UnitProfiles: Dictionary[StringName, Array] = { \
# < Название: Протокол, Адрес, <Порт>|[, Порт], Широковещательное, Привязывать, Комментарий >
'уарэп-яу07-частный': ['yau07rx', ['10.1.1.2', 50002, false, true], 'IP-адрес для приёма частных сообщений от ЯУ-07'],
'уарэп-яу07-общий': ['yau07rx', ['*', 50000, true, true], 'IP-адрес для приёма широковещательных сообщений от ЯУ-07'],
'уарэп-капсрпб': ['capsrpb', ['127.0.0.1', 42023, 42022, false, true], 'IP-адрес для приёма сообщений от службы \"МП550\"'],
'уарэп-капсрпб': ['capsrpb', ['127.0.0.1', 42023, 42022, false, true], 'IP-адрес для обмена сообщениями со службой \"МП550\" (СТЦ)'],
'уарэп-трасса': ['capsrpb', ['127.0.0.1', 50200, 40241, false, true], 'IP-адрес для обмена сообщениями с \"Трассой\"'],
'уарэп-эмс': ['yau07tx', ['10.1.1.52', 50052, false, false], 'IP-адрес прибора УФ'],
'уарэп-яу07-2в': ['yau07tx', ['10.1.1.22', 50022, false, false], 'IP-адрес прибора ПРД-В2'],
'уарэп-яу07-2н': ['yau07tx', ['10.1.1.21', 50021, false, false], 'IP-адрес прибора ПРД-Н2'],

12
scripts/trassa.gd Normal file
View File

@@ -0,0 +1,12 @@
class_name trassa_unit extends Node
class Trassa extends unit.Unit:
func process(tick: int):
return Error.ERR_BUSY
func _init(unit_name: StringName):
self.name = unit_name
func parse(data: PackedByteArray, now_tick: int):
pass

1
scripts/trassa.gd.uid Normal file
View File

@@ -0,0 +1 @@
uid://s0xvnch1r63u