Merge remote-tracking branch 'sasha/master'

This commit is contained in:
MaD_CaT
2024-11-29 11:17:42 +03:00
17 changed files with 613 additions and 348 deletions

View File

@@ -10,10 +10,10 @@ const BUFFER_SIZE = 2048 ## Размер приёмного буфера д
class CapsRpb extends unit.Unit:
static var json_conv: = JSON.new()
var json_dic: Dictionary ## Аппарат для разбора сообщений.
var tick: = 0 ## Тик время последнего обновления, мс.
var tx_stack: Array ## Массив пакетов для отправки.
static var json_conv: = JSON.new() ## Аппарат для разбора сообщений.
var json_dic: Dictionary
var tick: = 0 ## Тик время последнего обновления, мс.
var tx_stack: Array ## Массив пакетов для отправки.
func _to_string() -> String: return String('капсрпб: "%s" %s ' % [self.name, ['отключен', 'на связи'][int(online)]])
func _init(nm): self.name = nm
@@ -41,4 +41,4 @@ class CapsRpb extends unit.Unit:
tx_stack.remove_at(0)
return Error.OK
else:
return Error.ERR_UNAVAILABLE
return Error.ERR_BUSY

View File

@@ -33,10 +33,10 @@ class Sch3 extends unit.Unit:
if online and ((tick - rx_tick) > ONLINE_TIMEOUT):
online = false
emit_signal('line_changed', self)
if cmd_state == CmdState.WAIT:
if (tick - tx_tick) > ONLINE_TIMEOUT:
cmd_state = CmdState.FAIL
emit_signal('command_fail', self)
if cmd_state == CmdState.WAIT:
if (tick - tx_tick) > ONLINE_TIMEOUT:
cmd_state = CmdState.FAIL
emit_signal('command_fail', self)
var rc = Error.ERR_BUSY
if cmd_state == CmdState.SEND:
tx_tick = tick

17
scripts/switch.gd Normal file
View File

@@ -0,0 +1,17 @@
extends CheckButton
@export var off_tip: String = '(отключено)'
@export var on_tip: String = '(включено)'
func _ready() -> void:
if not (tooltip_text.contains(off_tip) or tooltip_text.contains(on_tip)):
tooltip_text += ' '
tooltip_text += on_tip if button_pressed else off_tip
connect('toggled', _on_toggled)
func _on_toggled(state: bool):
var s = tooltip_text
tooltip_text = s.replace(off_tip, on_tip) if state else s.replace(on_tip, off_tip)

View File

@@ -208,12 +208,12 @@ class EmsBoard:
state_cmd = WR_DEV_NUM_R
on_wr_device(cur_dev_num)
## Отправка команды чтения флеш
## Отправка команды чтения флеш
func read_flash():
unit_ems.send_flash(unit_ems.CmdCode.READ_FLASH_MP550, [], yemsconsts.NUM_BYTE_FROM_FLASH, id_board)
state_cmd = READ_FLASH
## Обработчик выполнения команды чтения флеш, заполняет прочитанными данными устройства
## Обработчик выполнения команды чтения флеш, заполняет прочитанными данными устройства
func on_read_flash():
need_flash_rd = false
var amount_dev = unit_ems.flash_len / 10
@@ -227,7 +227,7 @@ class EmsBoard:
cur_dev.ports_data[base_addr_isa + 10] = unit_ems.flash_data.decode_u16(cur_i + 8)
start_rw_kems(false)
## Команда записи в флеш текущих данных из программы
## Команда записи в флеш текущих данных из программы
func write_flash():
need_flash_wr = false
var fl_data: Array = []
@@ -242,7 +242,7 @@ class EmsBoard:
cur_dev_num = cur_dev_temp
state_cmd = WRITE_FLASH
## Заполнение данными с устройств массива для записи флеш
## Заполнение данными с устройств массива для записи флеш
func append_data_to_flash(fl_data):
fl_data.append(cur_dev_num)
if check_dev_number():
@@ -254,7 +254,7 @@ class EmsBoard:
for j in range(4):
fl_data.append(0)
## Выстевление в устройства данных прочитанных из файла
## Выстевление в устройства данных прочитанных из файла
func btn_load(json_data):
for item in json_data.keys():
var ports: Dictionary = json_data[item]