Compare commits

...

2 Commits

Author SHA1 Message Date
TotMaxim
92608f5e82 СКВ 2025-11-20 16:58:37 +03:00
lepshiy
14d70ff681 ??? 2025-11-12 09:07:51 +03:00
8 changed files with 49 additions and 3 deletions

3
.gitignore vendored
View File

@@ -1,2 +1,5 @@
# Godot 4+ specific ignores
.godot/
/bin/
/*.cfg
/*.uid

10
.idea/libraries/GdSdk_Master.xml generated Normal file
View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="GdSdk Master" type="GdScript">
<properties path="C:\Users\user\AppData\Local\JetBrains\PyCharmCE2024.1\projects\check_plats.84b64833\sdk\GdSdk Master" version="Master" date="2024-06-01T15:14:16.000+02:00" />
<CLASSES />
<JAVADOC />
<SOURCES>
<root url="file://$USER_HOME$/AppData/Local/JetBrains/PyCharmCE2024.1/projects/check_plats.84b64833/sdk/GdSdk Master" />
</SOURCES>
</library>
</component>

1
.idea/ТПО.iml generated
View File

@@ -4,5 +4,6 @@
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="GdSdk Master" level="project" />
</component>
</module>

View File

@@ -211,6 +211,7 @@ func on_command_fail(_unit) -> void:
## Индикация чтения портов
func on_command_done(_unit) -> void:
if not unit.isa_ports.has(port_select): return
var isa: Array = []
ports_wr[port_select] = unit.isa_ports[port_select]
if (unit.isa_ports[port_select] == ports_wr[port_select]) and flag_online:

View File

@@ -1,7 +1,7 @@
[gd_scene load_steps=5 format=3 uid="uid://ccp4ypftnrbwq"]
[ext_resource type="Script" path="res://Main.gd" id="1_8v2wa"]
[ext_resource type="Script" path="res://table/table.gd" id="2_ri1qb"]
[ext_resource type="Script" uid="uid://cf85o5e0hhlej" path="res://Main.gd" id="1_8v2wa"]
[ext_resource type="Script" uid="uid://brfcvsto5bx3" path="res://table/table.gd" id="2_ri1qb"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_jbuuq"]
bg_color = Color(0.0901961, 0.52549, 0.0588235, 1)

View File

@@ -12,7 +12,7 @@ config_version=5
config/name="Plata-check.exe"
run/main_scene="res://Plata-check.tscn"
config/features=PackedStringArray("4.3", "GL Compatibility")
config/features=PackedStringArray("4.4", "GL Compatibility")
config/icon="res://icon.svg"
[autoload]

1
table/table.gd.uid Normal file
View File

@@ -0,0 +1 @@
uid://brfcvsto5bx3

30
unit.gd Normal file
View File

@@ -0,0 +1,30 @@
class_name base_unit extends Node
## Базовый класс для управления подключаемыми устройствами
class Unit extends Object:
## Состояние автомата выполнения команды.
enum CmdState {
UNCK, ## Номер команды не ининциирован.
SEND, ## Буфер готов для отправки.
WAIT, ## Ожидание выполнения.
DONE, ## Команда выполнена.
FAIL, ## Команда не выполнена.
}
signal line_changed(unit) ## Вызывается при изменении состояния связи
signal command_done(unit) ## Вызывается после успешного выполнения команды.
signal command_fail(unit) ## Вызывается если возникла ошибка при выполнении команды и команда не выполнена.
signal parse_failed(unit) ## Вызывается при обнаружении ошибки во входных данных
signal data_received(data) ## Вызывается по приёму данных
var cmd_state = CmdState.UNCK ## Состояние выполнения команды
var tx_data: = PackedByteArray() ## Буфер для отправки.
var tx_len: int = 0 ## Длина последнего отправленного пакета.
var tx_tick: int = 0 ## Тик-время отправки буфера
var rx_tick: int = 0 ## Тик-время последнего приёма данных
var online: bool = false ## Состояние подключения устройства
var name: StringName = '<без имени>' ## Уникальное имя устройства
func _init(nm) -> void: self.name = nm
func _to_string() -> String:
return String('Unit(\"%s\", %s)' % [self.name, 'на связи' if online else 'отключен'])