Доработка. Формирование запроса для СПТ-25
This commit is contained in:
@@ -80,7 +80,6 @@ offset_left = 15.0
|
||||
offset_top = 275.0
|
||||
offset_right = 225.0
|
||||
offset_bottom = 367.0
|
||||
state2 = 0
|
||||
|
||||
[node name="spt25_A2" parent="." instance=ExtResource("6_60xs3")]
|
||||
layout_mode = 0
|
||||
@@ -115,4 +114,3 @@ offset_left = 15.0
|
||||
offset_top = 275.0
|
||||
offset_right = 225.0
|
||||
offset_bottom = 367.0
|
||||
state2 = 0
|
||||
|
||||
@@ -4,16 +4,29 @@ class_name spt25_unit extends Node
|
||||
class SPT25 extends unit.Unit:
|
||||
|
||||
var tx_tick: int = 0
|
||||
|
||||
func _init(nm) -> void: self.name = nm
|
||||
var req_period = 3000
|
||||
func _to_string() -> String: return String('СПТ-25: %s %s' % [self.name, ['отключен', 'на связи'][int(online)]])
|
||||
|
||||
func _init(nm) -> void:
|
||||
self.name = nm
|
||||
tx_data.resize(8)
|
||||
tx_data[0] = 0x7e # Флаги синхронизации пакета
|
||||
tx_data[1] = 0 # Адрес абонента, которому предназначен пакет
|
||||
tx_data[2] = 4 # Тип пакета, КОД КОМАНДЫ - Получить информацию о состоянии преобразователя
|
||||
tx_data[3] = 0 # Данные
|
||||
tx_data[4] = 0 # Данные
|
||||
tx_data[5] = 0 # Данные
|
||||
tx_data[6] = 0 # Контрольная сумма
|
||||
tx_data[7] = 0x7e # Флаги синхронизации пакета
|
||||
|
||||
func parse(rx_data: PackedByteArray):
|
||||
if not self.online:
|
||||
self.online = true
|
||||
emit_signal('line_changed', self)
|
||||
emit_signal('data_received', rx_data)
|
||||
|
||||
|
||||
func process(delta: float):
|
||||
pass
|
||||
tick += delta
|
||||
if (tick - tx_tick) > req_period:
|
||||
return Error.OK
|
||||
return Error.ERR_BUSY
|
||||
|
||||
Reference in New Issue
Block a user