modul fs 1
This commit is contained in:
@@ -18,9 +18,9 @@ config/icon="res://icon.svg"
|
||||
[autoload]
|
||||
|
||||
Constants="*res://scripts/constants.gd"
|
||||
Fs="*res://scripts/FS.gd"
|
||||
Yau07="*res://scripts/yau07.gd"
|
||||
Network="*res://scripts/network.gd"
|
||||
Fs="*res://scripts/FS.gd"
|
||||
|
||||
[debug]
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ extends Node2D
|
||||
|
||||
signal read_ems_g_start()
|
||||
signal read_ems_g_finish()
|
||||
var unit_fs_1 = Fs.FGOS.new()
|
||||
|
||||
var flag_mode = Constants.ADDRESSES[0][3]
|
||||
var broadcast_packet: PackedByteArray
|
||||
var node_select1: Node
|
||||
@@ -90,10 +90,11 @@ func _ready() -> void:
|
||||
node_select_fs_2.set_node_text(1, 0, 'Литера 3')
|
||||
node_select_fs_2.set_node_text(0, 1, 'Состояние')
|
||||
node_select_fs_2.set_node_text(0, 2, 'Частота')
|
||||
#node_select_fs_2.get_node2(1, 2).placeholder_text = '500'
|
||||
node_select_fs_2.get_node2(1, 2).placeholder_text = 'в МГц'
|
||||
node_select_fs_2.get_node2(1, 2).editable = true
|
||||
node_select_fs_2.set_node_text(0, 3, 'Аттенюатор')
|
||||
#node_select_fs_2.get_node2(1, 3).placeholder_text = '38.7'
|
||||
#node_select_fs_2.get_node2(1, 3).d = true
|
||||
node_select_fs_2.get_node2(1, 3).placeholder_text = 'в dB'
|
||||
node_select_fs_2.get_node2(1, 3).editable = true
|
||||
node_select_fs_2.set_node_text(0, 4, 'Генератор')
|
||||
node_select_fs_2.set_node_text(0, 5, 'fpga')
|
||||
node_select_fs_2.set_node_text(0, 6, 'СИ 3 от ФС')
|
||||
@@ -136,7 +137,8 @@ func _ready() -> void:
|
||||
Network.connect('yau_status_line', Callable(self, '_on_yau_status'))
|
||||
Network.connect('yau_receive', Callable(self, '_on_data_received'))
|
||||
Network.connect('yau_read_isa', Callable(self, '_on_read_isa'))
|
||||
Network.connect('data_from_fs_1', Callable(self, '_on_data_fs_1'))
|
||||
Network.connect('data_from_fs_1', _on_data_fs_1)
|
||||
Network.connect('data_from_fs_2', _on_data_fs_2)
|
||||
|
||||
node_select_yau_07b.get_node2(1, 1).get_child(1, false).connect('toggled', Callable(self, '_on_zapret1'))
|
||||
node_select_yau_07b.get_node2(1, 2).connect('item_selected', Callable(self, '_on_modul_um_1'))
|
||||
@@ -150,9 +152,13 @@ func _ready() -> void:
|
||||
node_select_yau_07b_2.get_node2(1, 5).get_child(1, false).connect('toggled', Callable(self, '_on_fgos_2'))
|
||||
|
||||
node_select_fs_1.get_node2(1, 4).get_child(1, false).connect('toggled', Callable(self, '_on_get_status_1'))
|
||||
node_select_fs_1.get_node2(1, 3).connect('text_submitted', Callable(self, '_on_set_att'))
|
||||
node_select_fs_1.get_node2(1, 2).connect('text_submitted', Callable(self, '_on_set_ferq'))
|
||||
|
||||
node_select_fs_1.get_node2(1, 3).connect('text_submitted', Callable(self, '_on_set_att_1'))
|
||||
node_select_fs_1.get_node2(1, 2).connect('text_submitted', Callable(self, '_on_set_ferq_1'))
|
||||
|
||||
node_select_fs_2.get_node2(1, 4).get_child(1, false).connect('toggled', Callable(self, '_on_get_status_2'))
|
||||
node_select_fs_2.get_node2(1, 3).connect('text_submitted', Callable(self, '_on_set_att_2'))
|
||||
node_select_fs_2.get_node2(1, 2).connect('text_submitted', Callable(self, '_on_set_ferq_2'))
|
||||
|
||||
|
||||
func draw_control_panel_prd(mode) -> void:
|
||||
for node_path in Constants.NODE_MAP:
|
||||
@@ -223,7 +229,6 @@ func _on_data_fs_1(fs_1_data):
|
||||
Constants.CMD.BASE_GET_CURRENT_TEMP:
|
||||
if GRP == Constants.GROUP.BASE:
|
||||
node_select_fs_1.set_node_text(1, 5, '%.2f' % fs_1_data.decode_float(0xC) + ' °C')
|
||||
#$read.text = str(fs_1_data.hex_encode())
|
||||
|
||||
|
||||
func _on_data_fs_2(fs_2_data):
|
||||
@@ -514,26 +519,37 @@ func _on_read_isa_pressed() -> void:
|
||||
func set_bits(v, a, m):
|
||||
return (~m) & v | a & m
|
||||
|
||||
|
||||
## 1 ФС
|
||||
func _on_start_fs_1():
|
||||
unit_fs_1.start_session()
|
||||
unit_fs_1.base_get_current_temp()
|
||||
Network.start_work_fs()
|
||||
|
||||
|
||||
func _on_get_status_1(toggled_btn):
|
||||
var inverted_state = not toggled_btn
|
||||
unit_fs_1.set_gen_state(inverted_state)
|
||||
unit_fs_1.get_gen_state()
|
||||
Network.get_fs_gen_status(inverted_state)
|
||||
|
||||
|
||||
func _on_set_ferq(freq):
|
||||
unit_fs_1.set_carrier(int(freq) * 1_000_000)
|
||||
unit_fs_1.base_get_current_temp()
|
||||
unit_fs_1.get_carrier()
|
||||
func _on_set_ferq_1(freq: String):
|
||||
Network.set_fs_ferq_carrier(int(freq) * 1_000_000)
|
||||
|
||||
|
||||
func _on_set_att(att):
|
||||
unit_fs_1.set_att_batch(float(att))
|
||||
unit_fs_1.base_get_current_temp()
|
||||
unit_fs_1.base_get_current_temp()
|
||||
unit_fs_1.get_att_batch()
|
||||
func _on_set_att_1(att: String):
|
||||
Network.set_fs_attenuation(float(att))
|
||||
|
||||
|
||||
## 2 ФС
|
||||
func _on_start_fs_2():
|
||||
Network.start_work_fs()
|
||||
|
||||
|
||||
func _on_get_status_2(toggled_btn):
|
||||
var inverted_state = not toggled_btn
|
||||
Network.get_fs_gen_status(inverted_state)
|
||||
|
||||
|
||||
func _on_set_ferq_2(freq: String):
|
||||
Network.set_fs_ferq_carrier(int(freq) * 1_000_000)
|
||||
|
||||
|
||||
func _on_set_att_2(att: String):
|
||||
Network.set_fs_attenuation(float(att))
|
||||
|
||||
@@ -15,45 +15,45 @@ func _process(_delta: float) -> void:
|
||||
func _enter_tree() -> void:
|
||||
# Подключаем сигналы к методам
|
||||
Network.connect('data_send', _on_data_send)
|
||||
Network.connect('data_from_fs_1', _on_data_received)
|
||||
Network.connect('port_opened', _on_port_changed.bind(Color.GREEN))
|
||||
Network.connect('port_closed', _on_port_changed.bind(Color.GRAY))
|
||||
Network.connect('port_error', _on_port_changed.bind(Color.RED))
|
||||
#Network.connect('data_from_fs_1', _on_data_received)
|
||||
#Network.connect('port_opened', _on_port_changed.bind(Color.GREEN))
|
||||
#Network.connect('port_closed', _on_port_changed.bind(Color.GRAY))
|
||||
#Network.connect('port_error', _on_port_changed.bind(Color.RED))
|
||||
|
||||
|
||||
func _on_port_changed(port_name: String, color: Color) -> void:
|
||||
$manage_panel/con/ip_connect.text = port_name
|
||||
$fs_connect.self_modulate = color
|
||||
#func _on_port_changed(port_name: String, color: Color) -> void:
|
||||
#$manage_panel/con/ip_connect.text = port_name
|
||||
#$fs_connect.self_modulate = color
|
||||
|
||||
|
||||
func _on_data_send():
|
||||
pass
|
||||
|
||||
|
||||
func _on_data_received(data: PackedByteArray):
|
||||
var GRP = data.decode_u8(0x0)
|
||||
var CMD = data.decode_u8(0x1)
|
||||
match CMD:
|
||||
Constants.CMD.READ_CARRIER:
|
||||
if GRP == Constants.GROUP.BASE:
|
||||
$manage_panel/get_freq/freq_ind.text = str(data.decode_u64(0xC)) + ' Гц'
|
||||
Constants.CMD.READ_ATT:
|
||||
if GRP == Constants.GROUP.RF:
|
||||
$manage_panel/get_att/att_ind.text = '-' + str(data.decode_float(0x18)) + ' dB'
|
||||
Constants.CMD.READ_GEN_STATUS:
|
||||
if GRP == Constants.GROUP.GENERATOR:
|
||||
if data.decode_u32(0xC) == 0:
|
||||
$manage_panel/get_gen_status/status_ind.text = 'Включен'
|
||||
$manage_panel/get_gen_status/status_ind.modulate = Color.GREEN
|
||||
else:
|
||||
$manage_panel/get_gen_status/status_ind.text = 'Выключен'
|
||||
$manage_panel/get_gen_status/status_ind.modulate = Color.RED
|
||||
Constants.CMD.BASE_GET_CURRENT_TEMP:
|
||||
if GRP == Constants.GROUP.BASE:
|
||||
$temp_1.text = '%.2f' % data.decode_float(0xC) + ' °C'
|
||||
$temp_2.text = str(data.decode_float(0x10)) + ' °C'
|
||||
$temp_3.text = str(data.decode_float(0x14)) + ' °C'
|
||||
$read.text = str(data.hex_encode())
|
||||
#
|
||||
#func _on_data_received(data: PackedByteArray):
|
||||
#var GRP = data.decode_u8(0x0)
|
||||
#var CMD = data.decode_u8(0x1)
|
||||
#match CMD:
|
||||
#Constants.CMD.READ_CARRIER:
|
||||
#if GRP == Constants.GROUP.BASE:
|
||||
#$manage_panel/get_freq/freq_ind.text = str(data.decode_u64(0xC)) + ' Гц'
|
||||
#Constants.CMD.READ_ATT:
|
||||
#if GRP == Constants.GROUP.RF:
|
||||
#$manage_panel/get_att/att_ind.text = '-' + str(data.decode_float(0x18)) + ' dB'
|
||||
#Constants.CMD.READ_GEN_STATUS:
|
||||
#if GRP == Constants.GROUP.GENERATOR:
|
||||
#if data.decode_u32(0xC) == 0:
|
||||
#$manage_panel/get_gen_status/status_ind.text = 'Включен'
|
||||
#$manage_panel/get_gen_status/status_ind.modulate = Color.GREEN
|
||||
#else:
|
||||
#$manage_panel/get_gen_status/status_ind.text = 'Выключен'
|
||||
#$manage_panel/get_gen_status/status_ind.modulate = Color.RED
|
||||
#Constants.CMD.BASE_GET_CURRENT_TEMP:
|
||||
#if GRP == Constants.GROUP.BASE:
|
||||
#$temp_1.text = '%.2f' % data.decode_float(0xC) + ' °C'
|
||||
#$temp_2.text = str(data.decode_float(0x10)) + ' °C'
|
||||
#$temp_3.text = str(data.decode_float(0x14)) + ' °C'
|
||||
#$read.text = str(data.hex_encode())
|
||||
|
||||
|
||||
func _on_send_pressed() -> void:
|
||||
|
||||
@@ -2,6 +2,7 @@ extends Node
|
||||
|
||||
# ЯУ-07 Блок
|
||||
var unit = Yau07.YaU07.new('ЯУ-07Б')
|
||||
var unit_fs_1 = Fs.FGOS.new()
|
||||
var soc_unicast: Socket
|
||||
var soc_brodcast: Socket
|
||||
var ip_address_yau: String = Constants.ADDRESSES[0][1]
|
||||
@@ -27,6 +28,7 @@ signal yau_read_isa(_unit_isa_ports)
|
||||
|
||||
signal data_send()
|
||||
signal data_from_fs_1(data:PackedByteArray)
|
||||
signal data_from_fs_2(data:PackedByteArray)
|
||||
signal port_opened(port_name: String)
|
||||
signal port_closed(port_name: String)
|
||||
signal port_error(error_str: String)
|
||||
@@ -73,7 +75,8 @@ func poll_receive_fs(client: StreamPeerTCP):
|
||||
if peer.get_available_bytes() > 0:
|
||||
var rx_data: PackedByteArray
|
||||
rx_data.append_array(peer.get_data(peer.get_available_bytes())[1])
|
||||
emit_signal("data_from_fs_1", rx_data)
|
||||
#emit_signal("data_from_fs_1", rx_data)
|
||||
emit_signal("data_from_fs_2", rx_data)
|
||||
emit_signal("port_opened", ip_fs_1)
|
||||
if state_fs == Constants.STATE.SEND:
|
||||
state_fs = Constants.STATE.DONE
|
||||
@@ -209,3 +212,26 @@ func disconnect_fs(client_for_leave):
|
||||
client_for_leave.disconnect_from_host()
|
||||
state_fs = Constants.STATE.IDLE
|
||||
command_stack = []
|
||||
|
||||
|
||||
func start_work_fs():
|
||||
unit_fs_1.start_session()
|
||||
unit_fs_1.base_get_current_temp()
|
||||
|
||||
|
||||
func get_fs_gen_status(state_gen):
|
||||
unit_fs_1.set_gen_state(state_gen)
|
||||
unit_fs_1.get_gen_state()
|
||||
unit_fs_1.base_get_current_temp()
|
||||
|
||||
|
||||
func set_fs_ferq_carrier(freq: int):
|
||||
unit_fs_1.set_carrier(freq)
|
||||
unit_fs_1.base_get_current_temp()
|
||||
unit_fs_1.get_carrier()
|
||||
|
||||
|
||||
func set_fs_attenuation(attenuation: float):
|
||||
unit_fs_1.set_att_batch(attenuation)
|
||||
unit_fs_1.get_att_batch()
|
||||
unit_fs_1.base_get_current_temp()
|
||||
|
||||
Reference in New Issue
Block a user