From 504b8869e5d63ea6170344286b6043c47483d74b Mon Sep 17 00:00:00 2001 From: Maxim Date: Wed, 18 Dec 2024 11:09:40 +0300 Subject: [PATCH] add read status ems g --- PRD_MP550.tscn | 19 +++++++++--------- ems_g.gd | 46 +++++++++++++++++++++++++------------------- scripts/PRD.gd | 34 +++++++++++++++++++++----------- scripts/constants.gd | 7 +++++-- scripts/network.gd | 29 +++++++++++++--------------- 5 files changed, 76 insertions(+), 59 deletions(-) diff --git a/PRD_MP550.tscn b/PRD_MP550.tscn index 5d795e2..c3e0807 100644 --- a/PRD_MP550.tscn +++ b/PRD_MP550.tscn @@ -22,7 +22,7 @@ border_width_bottom = 6 border_color = Color(0.339047, 0.26316, 0.339004, 1) border_blend = true -[sub_resource type="Image" id="Image_6t3ka"] +[sub_resource type="Image" id="Image_wye47"] data = { "data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 42, 42, 42, 12, 26, 26, 26, 67, 26, 26, 26, 105, 27, 27, 27, 122, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 27, 27, 27, 122, 26, 26, 26, 105, 27, 27, 27, 66, 46, 46, 46, 11, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 29, 29, 29, 44, 27, 27, 27, 122, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 27, 27, 27, 122, 30, 30, 30, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 29, 29, 29, 44, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 80, 80, 80, 144, 147, 147, 147, 173, 170, 170, 170, 186, 170, 170, 170, 186, 146, 146, 146, 173, 78, 78, 78, 144, 26, 26, 26, 128, 26, 26, 26, 128, 30, 30, 30, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 42, 42, 42, 12, 27, 27, 27, 122, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 117, 117, 117, 159, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 115, 115, 115, 159, 26, 26, 26, 128, 27, 27, 27, 121, 46, 46, 46, 11, 255, 255, 255, 0, 255, 255, 255, 0, 26, 26, 26, 67, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 80, 80, 80, 144, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 179, 179, 179, 191, 76, 76, 76, 143, 26, 26, 26, 128, 27, 27, 27, 65, 255, 255, 255, 0, 255, 255, 255, 0, 26, 26, 26, 105, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 147, 147, 147, 173, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 146, 146, 146, 173, 26, 26, 26, 128, 27, 27, 27, 104, 255, 255, 255, 0, 255, 255, 255, 0, 27, 27, 27, 122, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 170, 170, 170, 186, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 170, 170, 170, 186, 26, 26, 26, 128, 27, 27, 27, 122, 255, 255, 255, 0, 255, 255, 255, 0, 27, 27, 27, 122, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 170, 170, 170, 186, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 170, 170, 170, 185, 26, 26, 26, 128, 27, 27, 27, 121, 255, 255, 255, 0, 255, 255, 255, 0, 26, 26, 26, 105, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 146, 146, 146, 173, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 145, 145, 145, 172, 26, 26, 26, 128, 27, 27, 27, 103, 255, 255, 255, 0, 255, 255, 255, 0, 27, 27, 27, 66, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 78, 78, 78, 144, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 179, 179, 179, 191, 76, 76, 76, 143, 26, 26, 26, 128, 27, 27, 27, 65, 255, 255, 255, 0, 255, 255, 255, 0, 46, 46, 46, 11, 27, 27, 27, 122, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 115, 115, 115, 159, 179, 179, 179, 191, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 180, 180, 180, 192, 179, 179, 179, 191, 115, 115, 115, 158, 26, 26, 26, 128, 27, 27, 27, 121, 51, 51, 51, 10, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 30, 30, 30, 42, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 76, 76, 76, 143, 146, 146, 146, 173, 170, 170, 170, 186, 170, 170, 170, 185, 145, 145, 145, 172, 76, 76, 76, 143, 26, 26, 26, 128, 26, 26, 26, 128, 31, 31, 31, 41, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 30, 30, 30, 42, 27, 27, 27, 121, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 27, 27, 27, 121, 31, 31, 31, 41, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 46, 46, 46, 11, 27, 27, 27, 65, 27, 27, 27, 104, 27, 27, 27, 122, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 27, 27, 27, 121, 27, 27, 27, 103, 27, 27, 27, 65, 51, 51, 51, 10, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), "format": "RGBA8", @@ -32,9 +32,9 @@ data = { } [sub_resource type="ImageTexture" id="ImageTexture_3u7xk"] -image = SubResource("Image_6t3ka") +image = SubResource("Image_wye47") -[sub_resource type="Image" id="Image_wqspx"] +[sub_resource type="Image" id="Image_m4bv7"] data = { "data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 18, 255, 255, 255, 100, 255, 255, 255, 156, 255, 255, 255, 183, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 183, 255, 255, 255, 156, 255, 255, 255, 99, 255, 255, 255, 17, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 65, 255, 255, 255, 183, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 182, 255, 255, 255, 63, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 65, 255, 255, 255, 191, 255, 255, 255, 191, 184, 184, 184, 207, 81, 81, 81, 237, 43, 43, 43, 249, 43, 43, 43, 249, 81, 81, 81, 236, 186, 186, 186, 207, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 63, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 18, 255, 255, 255, 183, 255, 255, 255, 191, 126, 126, 126, 223, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 129, 129, 129, 222, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 181, 255, 255, 255, 16, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 100, 255, 255, 255, 191, 184, 184, 184, 207, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 27, 27, 27, 255, 187, 187, 187, 206, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 97, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 156, 255, 255, 255, 191, 81, 81, 81, 237, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 82, 82, 82, 236, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 155, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 183, 255, 255, 255, 191, 43, 43, 43, 249, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 43, 43, 43, 249, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 182, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 183, 255, 255, 255, 191, 43, 43, 43, 249, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 44, 44, 44, 249, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 181, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 156, 255, 255, 255, 191, 81, 81, 81, 236, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 83, 83, 83, 236, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 154, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 99, 255, 255, 255, 191, 186, 186, 186, 207, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 27, 27, 27, 255, 188, 188, 188, 206, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 97, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 182, 255, 255, 255, 191, 129, 129, 129, 222, 27, 27, 27, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 27, 27, 27, 255, 130, 130, 130, 221, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 180, 255, 255, 255, 15, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 63, 255, 255, 255, 191, 255, 255, 255, 191, 187, 187, 187, 206, 82, 82, 82, 236, 43, 43, 43, 249, 44, 44, 44, 249, 83, 83, 83, 236, 188, 188, 188, 206, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 61, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 63, 255, 255, 255, 181, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 180, 255, 255, 255, 61, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 16, 255, 255, 255, 97, 255, 255, 255, 155, 255, 255, 255, 182, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 181, 255, 255, 255, 154, 255, 255, 255, 97, 255, 255, 255, 15, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), "format": "RGBA8", @@ -44,7 +44,7 @@ data = { } [sub_resource type="ImageTexture" id="ImageTexture_7imsd"] -image = SubResource("Image_wqspx") +image = SubResource("Image_m4bv7") [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_gooip"] bg_color = Color(0.223529, 0.168627, 0.223529, 0.490196) @@ -238,19 +238,18 @@ offset_bottom = 638.0 color = Color(0.669446, 0.567301, 0.66881, 1) [node name="ISA" type="Label" parent="."] -offset_left = 1244.0 +offset_left = 225.0 offset_top = 11.0 -offset_right = 1495.0 +offset_right = 476.0 offset_bottom = 34.0 -metadata/_edit_lock_ = true +autowrap_mode = 3 [node name="read_isa" type="Button" parent="."] -offset_left = 1104.0 +offset_left = 85.0 offset_top = 7.0 -offset_right = 1229.0 +offset_right = 210.0 offset_bottom = 38.0 text = "Прочитать ISA" -metadata/_edit_lock_ = true [node name="TabContainer" type="TabContainer" parent="."] offset_left = 216.0 diff --git a/ems_g.gd b/ems_g.gd index 45ca1ed..6f7f6c4 100644 --- a/ems_g.gd +++ b/ems_g.gd @@ -1,15 +1,21 @@ extends Panel var node_select1: Node var shift: int = 2 -var input_status: Dictionary = {} +var button_link_meta: Dictionary = {} func _on_read_ems_g(): - for i in 7: - Network.send_array.append({0x122:1+i}) - Network.read_array.append(0x124) - Network.read_array.append(0x128) + for i in 16: + Network.send_array.append(['wr', {Constants.EMS_G_BASE_ADDR+2: 1+i}]) + Network.send_array.append(['rd', [Constants.EMS_G_BASE_ADDR+0xA]]) + + for i in range(46, 62): + Network.send_array.append(['wr', {Constants.EMS_G_BASE_ADDR+2: 1+i}]) + Network.send_array.append(['rd', [Constants.EMS_G_BASE_ADDR+4, Constants.EMS_G_BASE_ADDR+8]]) +func _on_sync(): + pass + func _ready() -> void: node_select1 = $table1 @@ -30,7 +36,7 @@ func _ready() -> void: draw_tabl(node_select1, EMS_G_TABLE, EMS_G_TABLE.size()) node_select1.get_node2(1, 1).text = 'x3_OUT:GND' - node_select1.get_node2(0, 2).text = 'x3_IN:GND' + node_select1.get_node2(0, 2).text = 'x3_IN :GND' for i in Constants.INPUT_EMS_G.size(): node_select1.get_node2(0, i+shift+1).text = Constants.INPUT_EMS_G[i] @@ -53,10 +59,10 @@ func _ready() -> void: columns_min_size.append(80) node_select1.set_columns_min_size(columns_min_size) - Network.connect('_yau_receive', Callable(self, '_on_data_received')) var parrent = get_parent().get_parent() parrent.connect('read_ems_g', Callable(self, '_on_read_ems_g')) - create_link_button(node_select1, 3, 19, 2, 18) + Network.connect('yau_receive', Callable(self, '_on_data_received')) + create_link_button(node_select1, shift+1, 16+shift+1, shift, 16+shift) func draw_tabl(tbl, row: Array, count_row: int): @@ -109,7 +115,7 @@ func create_link_button(node, count_rows_sart: int, count_rows_end: int, coln_st var OUTPUT = 47 for i_colum in 16: META_EMS_G.append([INPUT+i_row, OUTPUT+i_colum]) - input_status[OUTPUT+i_colum] = 0 + button_link_meta[OUTPUT+i_colum] = 0 var count_register = 0 for i_row in range(count_rows_sart, count_rows_end): @@ -124,33 +130,33 @@ func create_link_button(node, count_rows_sart: int, count_rows_end: int, coln_st func on_mode_link(mode, list): ## Формирование команды для выбора устройства var meta = list.get_meta('device') - var address_port_wr = 0x122 + var address_port_wr = Constants.EMS_G_BASE_ADDR+2 var ports_wr: Dictionary = {address_port_wr : meta} - Network.send_array.append(ports_wr) # Отправка команды + Network.send_array.append(['wr', ports_wr]) # Отправка команды ## Формирование команды для отправкы команды на устройство ports_wr = {} - address_port_wr = 0x128 + address_port_wr = Constants.EMS_G_BASE_ADDR+8 ports_wr[address_port_wr] = 0x0000 if mode == 0 else 0x2000 if mode == 1 else 0x4000 if mode == 2 else 0x8000 - Network.send_array.append(ports_wr) + Network.send_array.append(['wr', ports_wr]) func on_btn_connect(toggled_on: bool, chk_node: Node, chk_btn: Node): ## Формирование команды для выбора устройства var meta = chk_btn.get_meta('device') - var address_port_wr = 0x122 + var address_port_wr = Constants.EMS_G_BASE_ADDR+2 var ports_wr: Dictionary = {address_port_wr : meta[1]} - Network.send_array.append(ports_wr) # Отправка команды + Network.send_array.append(['wr', ports_wr]) # Отправка команды ## Формирование команды для отправкы команды на устройство var color_chk_btn = chk_node.get_child(0, false) if toggled_on: color_chk_btn.color = Color.WEB_GREEN - input_status[meta[1]] += 1 << meta[0]-1 + button_link_meta[meta[1]] += 1 << meta[0]-1 else: color_chk_btn.color = Color.BLACK - input_status[meta[1]] -= 1 << meta[0]-1 + button_link_meta[meta[1]] -= 1 << meta[0]-1 ports_wr = {} - address_port_wr = 0x124 - ports_wr[address_port_wr] = input_status[meta[1]] - Network.send_array.append(ports_wr) + address_port_wr = Constants.EMS_G_BASE_ADDR+4 + ports_wr[address_port_wr] = button_link_meta[meta[1]] + Network.send_array.append(['wr', ports_wr]) diff --git a/scripts/PRD.gd b/scripts/PRD.gd index 06a4dda..09db01f 100644 --- a/scripts/PRD.gd +++ b/scripts/PRD.gd @@ -8,7 +8,7 @@ var node_select1: Node var node_select2: Node var flag_yau_control: bool var CONTROL_TABLE: Array - +var isa: Array = [] func _ready() -> void: # Таблица УКП_1 @@ -49,9 +49,9 @@ func _ready() -> void: $TabContainer/PRD/Zapret.connect('toggled', Callable(self, '_on_zapret').bind($TabContainer/PRD/Zapret)) $TabContainer/PRD/Zapret2.connect('toggled', Callable(self, '_on_zapret').bind($TabContainer/PRD/Zapret2)) - Network.connect('_yau_status_line', Callable(self, '_on_yau_status')) - Network.connect('_yau_receive', Callable(self, '_on_data_received')) - Network.connect('_yau_read_isa', Callable(self, '_on_read_isa')) + Network.connect('yau_status_line', Callable(self, '_on_yau_status')) + Network.connect('yau_receive', Callable(self, '_on_data_received')) + Network.connect('yau_read_isa', Callable(self, '_on_read_isa')) ## From Network status about yau-07 @@ -70,10 +70,23 @@ func _on_yau_status(yau_status): func _on_read_isa(unit_isa_ports): - var isa: Array = [] - for i in unit_isa_ports: - isa.append('%x: %s' % [i, unit_isa_ports[i]]) - $ISA.text = 'ISA: ' + str(isa) + var isa_data: Dictionary = {} + for key in unit_isa_ports.keys(): + isa_data[key] = unit_isa_ports[key] + + if isa_data.has(290): + var tmp = isa_data[290] + isa_data.erase(290) + + var found = false + for i in range(Constants.EMS_G_PORT_DATA_HOLDER.size()): + if Constants.EMS_G_PORT_DATA_HOLDER[i][0] == tmp: + Constants.EMS_G_PORT_DATA_HOLDER[i][1] = isa_data + found = true + break + if not found: + Constants.EMS_G_PORT_DATA_HOLDER.append([tmp, isa_data]) + #$ISA.text = 'ISA: ' + str(isa) ## Рисует таблицу @@ -174,7 +187,7 @@ func _on_data_received(data_from_yau_07): frame = Constants.Frame.VARIABLE if i == 4 else Constants.Frame.WORK set_frame(CONTROL_FRAME[i], frame) - node_ems_g.text = Constants.EMS_G[i][j] + node_ems_g.text = Constants.EMS_G_CONTROL_PANEL[i][j] node_ems_g.modulate = [Color.RED, Color.GREEN][j] #set_frame(CONTROL_FRAME[i], frame) @@ -254,5 +267,4 @@ func _on_zapret(toggled_on: bool, meta) -> void: func _on_read_isa_pressed() -> void: - Network.read_array.append(0x122) - Network.read_array.append(0x128) + Network.send_array.append(['rd', [0x122, 0x124, 0x128]]) diff --git a/scripts/constants.gd b/scripts/constants.gd index c85dc8f..4606353 100644 --- a/scripts/constants.gd +++ b/scripts/constants.gd @@ -7,6 +7,7 @@ const DEFAULT_PORT: String = '50011' const CONST_MIN_TEMP: int = -25 const MAXIMUM_CODE_ADC: int = 3796 const MINIMUM_CODE_AD: int = 2660 +const EMS_G_BASE_ADDR: int = 0x120 const TEMP: float = 115.0 / (MAXIMUM_CODE_ADC - MINIMUM_CODE_AD) const TableNode = preload("res://table/node.tscn") const TableList = preload("res://table/node_list.tscn") @@ -61,7 +62,7 @@ var CONTROL_POWER_SUPPLY: Array = [ ['ИП9-50 №3', 'ОШИБКА. КОНТРОЛЬ ИП9-50 №3'], ['ИП12-50 №2', 'ОШИБКА. КОНТРОЛЬ ИП12-50 №2'], ['ИП5-25', 'ОШИБКА. КОНТРОЛЬ ИП5-25']] -const EMS_G: Array = [ +const EMS_G_CONTROL_PANEL: Array = [ ['Нет Х3:2(СЗИ2 от УФ)', 'Есть Х3:2(СЗИ2 от УФ)'], ['Нет Х3:19(СИ2 от ФС)', 'Есть Х3:19(СИ2 от ФС)'], ['Нет Х3:11(СИ2 в УФ)', 'Есть Х3:11(СИ2 в УФ)'], @@ -101,7 +102,7 @@ const OUT_EMS_G: Array = [ [60, '31 :47'], [61, '32 :48'], [62, '33 :49']] -const OUT_x128 = [ +const OUT_x128: Array = [ 'Р', 'К', '0', @@ -138,3 +139,5 @@ enum STATE { WRITE_ISA, DONE, } + +var EMS_G_PORT_DATA_HOLDER: Array = [] diff --git a/scripts/network.gd b/scripts/network.gd index 4ea3dc4..615af0e 100644 --- a/scripts/network.gd +++ b/scripts/network.gd @@ -10,12 +10,11 @@ var last_update_time: float = 0.0 var broadcast_packet: PackedByteArray var state = Constants.STATE.WAIT var send_array: Array = [] -var read_array: Array = [] -signal _yau_status_line(_status) ## Вызывается когда меняется состояние связи с ячейкой -signal _yau_receive(_data_from_yau) ## -signal _yau_read_isa(_unit_isa_ports) +signal yau_status_line(_status) ## Вызывается когда меняется состояние связи с ячейкой +signal yau_receive(_data_from_yau) ## +signal yau_read_isa(_unit_isa_ports) ## Класс для отправки данных в сокет class Socket extends PacketPeerUDP: @@ -35,7 +34,7 @@ func poll_receive(sock: Socket) -> bool: ## Приёмник last_update_time = 0.0 unit.parse(broadcast_packet) var data_from_yau_07 = unit.status - emit_signal('_yau_receive', data_from_yau_07) + emit_signal('yau_receive', data_from_yau_07) else: if sock.get_available_packet_count(): last_update_time = 0.0 @@ -73,29 +72,27 @@ func state_machine(): ## Режим ожидания if state == Constants.STATE.WAIT and fl_done: - if read_array.size(): - state = Constants.STATE.READ_ISA - elif send_array.size(): - state = Constants.STATE.WRITE_ISA + if send_array.size(): + state = Constants.STATE.READ_ISA if send_array[0][0] == 'rd' else Constants.STATE.WRITE_ISA ## Режим чтения из ИСА elif state == Constants.STATE.READ_ISA and fl_done: - var ports_read = read_array.pop_front() - unit.send_isa(unit.CmdCode.READ_ISA, [ports_read]) + var ports_read = send_array.pop_front() + unit.send_isa(unit.CmdCode.READ_ISA, ports_read[1]) state = Constants.STATE.DONE ## Режим записи в ИСА elif state == Constants.STATE.WRITE_ISA and fl_done: 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]]]) + var key = ports_write[1].keys() + unit.send_isa(unit.CmdCode.WRITE_ISA, [key[0], ports_write[1][key[0]]]) state = Constants.STATE.WAIT elif state == Constants.STATE.DONE and fl_done: - emit_signal('_yau_read_isa', unit.isa_ports) + emit_signal('yau_read_isa', unit.isa_ports) state = Constants.STATE.WAIT - + func on_line_changed(_unit) -> void: - emit_signal('_yau_status_line', unit.online) + emit_signal('yau_status_line', unit.online) ## Ессли отсутствует подключение к ячейке ЯУ-07