add read array for state machine

This commit is contained in:
2024-12-13 17:33:56 +03:00
parent 1065d20553
commit 82459cdac7
4 changed files with 30 additions and 20 deletions

View File

@@ -10,7 +10,7 @@ var last_update_time: float = 0.0
var broadcast_packet: PackedByteArray
var state = Constants.STATE.WAIT
var send_array: Array = []
var flag_read_isa: bool = false
var read_array: Array = []
signal _yau_status_line(_status) ## Вызывается когда меняется состояние связи с ячейкой
@@ -73,23 +73,24 @@ func state_machine():
## Режим ожидания
if state == Constants.STATE.WAIT and fl_done:
if flag_read_isa:
flag_read_isa = false
if read_array.size():
state = Constants.STATE.READ_ISA
elif send_array.size():
state = Constants.STATE.WRITE_ISA
## Режим чтения из ИСА
elif state == Constants.STATE.READ_ISA and fl_done:
unit.send_isa(unit.CmdCode.READ_ISA, [0x122, 0x128])
state = Constants.STATE.WAIT
var unit_isa_ports = unit.isa_ports
emit_signal('_yau_read_isa', unit_isa_ports)
var ports_read = read_array.pop_front()
unit.send_isa(unit.CmdCode.READ_ISA, [ports_read])
state = Constants.STATE.DONE
## Режим записи в ИСА
elif state == Constants.STATE.WRITE_ISA and fl_done:
var ports_dict = send_array.pop_front()
var key = ports_dict.keys()
unit.send_isa(unit.CmdCode.WRITE_ISA, [key[0], ports_dict[key[0]]])
var ports_write = send_array.pop_front()
var key = ports_write.keys()
unit.send_isa(unit.CmdCode.WRITE_ISA, [key[0], ports_write[key[0]]])
state = Constants.STATE.WAIT
elif state == Constants.STATE.DONE and fl_done:
emit_signal('_yau_read_isa', unit.isa_ports)
state = Constants.STATE.WAIT