перед мерджем с Пашей
This commit is contained in:
@@ -16,6 +16,7 @@ var count_packet_1:int = 0
|
||||
var power_array_1: Array = []
|
||||
var count_packet_2:int = 0
|
||||
var power_array_2: Array = []
|
||||
var currecnt_unit: String
|
||||
|
||||
enum STATE_VAL {
|
||||
NONE = 0,
|
||||
@@ -23,21 +24,20 @@ enum STATE_VAL {
|
||||
ERROR = 2 }
|
||||
|
||||
var timer_03: Timer = Timer.new()
|
||||
var fl_fs_1: bool = false
|
||||
var fl_fs_2: bool = false
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
signaller.conn(signaller.fs_update_state, Callable(self, 'on_fs_update_state'))
|
||||
var unit_key = settings.get_unit_key(get_meta('unit_name')[0])
|
||||
var unit_prd = network.units[unit_key]
|
||||
currecnt_unit = unit_prd.name
|
||||
unit_prd.connect('data_received', Callable(self, 'on_data_received'))
|
||||
unit_prd.connect('line_changed', Callable(self, 'on_line_changed'))
|
||||
set_default_state()
|
||||
self.add_child(timer_03)
|
||||
timer_03.connect('timeout', Callable(self, 'on_timer_03'))
|
||||
timer_03.one_shot = true
|
||||
timer_03.wait_time = 5.0
|
||||
_on_control_fs(true)
|
||||
timer_03.start()
|
||||
|
||||
|
||||
func set_default_state() -> void:
|
||||
@@ -50,6 +50,7 @@ func on_line_changed(unit_prd: Object) -> void:
|
||||
set_default_state()
|
||||
|
||||
|
||||
# Основной процесс по принятию и обработки пакетов
|
||||
func on_data_received(unit_prd: Object) -> void:
|
||||
if not is_inside_tree():
|
||||
return
|
||||
@@ -150,9 +151,9 @@ func _process_ems_data(status: PackedByteArray) -> void:
|
||||
|
||||
|
||||
func _process_ukp_power(status: PackedByteArray) -> void:
|
||||
var in_blank: int = status.decode_u16(IN_BLANK_PRD)
|
||||
#var in_blank: int = status.decode_u16(IN_BLANK_PRD)
|
||||
## Мощность УМ от УКП 1
|
||||
if (in_blank >> CI_4_OT_FS) & 1:
|
||||
if fl_fs_1:
|
||||
check_dkm(status, bit_dkm_3)
|
||||
|
||||
## Мощность УМ от УКП 1
|
||||
@@ -177,7 +178,7 @@ func _process_ukp_power(status: PackedByteArray) -> void:
|
||||
count_packet_1 += 1
|
||||
|
||||
## Мощность УМ от УКП 2
|
||||
if (in_blank >> CI_5_OT_FS) & 1:
|
||||
if fl_fs_2:
|
||||
check_dkm(status, bit_dkm_4)
|
||||
|
||||
## Мощность УМ от УКП 2
|
||||
@@ -221,10 +222,41 @@ func _on_control_fs(mode: bool) -> void:
|
||||
|
||||
func on_timer_03() -> void:
|
||||
_on_control_fs(false)
|
||||
fl_fs_1 = false
|
||||
fl_fs_2 = false
|
||||
print('stop timer')
|
||||
|
||||
|
||||
func on_fs_update_state(packet_type_7: Dictionary):
|
||||
var parts = currecnt_unit.split('-')
|
||||
var last_part = parts[-1] # Прибор
|
||||
for fs in packet_type_7:
|
||||
if packet_type_7[fs].isg == 1:
|
||||
print([packet_type_7[fs].index, packet_type_7[fs].isg])
|
||||
if fs == 12 and last_part == '1в':
|
||||
$kasseta_FS_VD/ref_A3.state = STATE_VAL.GOOD if packet_type_7[fs].isg == 1 else STATE_VAL.ERROR if packet_type_7[fs].isg == 0 else STATE_VAL.NONE
|
||||
if packet_type_7[fs].isg == 1:
|
||||
if not fl_fs_1:
|
||||
timer_03.one_shot = true
|
||||
timer_03.wait_time = 0.5
|
||||
_on_control_fs(true)
|
||||
timer_03.start()
|
||||
fl_fs_1 = true
|
||||
if fs == 13 and last_part == '4в':
|
||||
$kasseta_FS_VD/ref_A3.state = STATE_VAL.GOOD if packet_type_7[fs].isg == 1 else STATE_VAL.ERROR if packet_type_7[fs].isg == 0 else STATE_VAL.NONE
|
||||
if packet_type_7[fs].isg == 1:
|
||||
fl_fs_1 = true
|
||||
if fs == 14 and last_part == '3в':
|
||||
$kasseta_FS_VD/ref_A3.state = STATE_VAL.GOOD if packet_type_7[fs].isg == 1 else STATE_VAL.ERROR if packet_type_7[fs].isg == 0 else STATE_VAL.NONE
|
||||
if fs == 15 and last_part == '2в':
|
||||
$kasseta_FS_VD/ref_A3.state = STATE_VAL.GOOD if packet_type_7[fs].isg == 1 else STATE_VAL.ERROR if packet_type_7[fs].isg == 0 else STATE_VAL.NONE
|
||||
|
||||
if fs == 16 and last_part == '1в':
|
||||
$kasseta_FS_VD/ref_A4.state = STATE_VAL.GOOD if packet_type_7[fs].isg == 1 else STATE_VAL.ERROR if packet_type_7[fs].isg == 0 else STATE_VAL.NONE
|
||||
if packet_type_7[fs].isg == 1:
|
||||
fl_fs_2 = true
|
||||
if fs == 17 and last_part == '4в':
|
||||
$kasseta_FS_VD/ref_A4.state = STATE_VAL.GOOD if packet_type_7[fs].isg == 1 else STATE_VAL.ERROR if packet_type_7[fs].isg == 0 else STATE_VAL.NONE
|
||||
if fs == 18 and last_part == '3в':
|
||||
$kasseta_FS_VD/ref_A4.state = STATE_VAL.GOOD if packet_type_7[fs].isg == 1 else STATE_VAL.ERROR if packet_type_7[fs].isg == 0 else STATE_VAL.NONE
|
||||
if fs == 19 and last_part == '2в':
|
||||
$kasseta_FS_VD/ref_A4.state = STATE_VAL.GOOD if packet_type_7[fs].isg == 1 else STATE_VAL.ERROR if packet_type_7[fs].isg == 0 else STATE_VAL.NONE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user