diff --git a/Datasheet.cs b/Datasheet.cs index 81b7cf6..2ce76a2 100644 --- a/Datasheet.cs +++ b/Datasheet.cs @@ -139,7 +139,7 @@ namespace Gidrolock_Modbus_Scanner Array.Reverse(e.Data); DGV_Device.Rows[activeEntryIndex].Cells[2].Value = BitConverter.ToUInt32(e.Data, 0); break; - case ("utf8"): + case ("string"): List bytes = new List(); for (int i = 0; i < e.Data.Length; i++) { diff --git a/Main.cs b/Main.cs index 656348e..68dfeee 100644 --- a/Main.cs +++ b/Main.cs @@ -361,27 +361,29 @@ namespace Gidrolock_Modbus_Scanner if (ce.dataType == "string") { + List bytes = new List(); for (int i = 0; i < data.Length; i++) { if (data[i] != 0) // clean empty bytes from 16-bit registers bytes.Add(data[i]); } - string value = Encoding.UTF8.GetString(bytes.ToArray()); + string value = Encoding.UTF8.GetString(bytes.ToArray()); foreach (Device dev in juju[ce]) - { + { if (dev.checkEntry.expectedValue == value) { + Console.WriteLine("It's a match!"); device = dev; break; } } } - if (ce.dataType == "bool") + else if (ce.dataType == "bool") { // why would you even do that lmao } - if (ce.dataType == "uint16" || ce.dataType == "uint32") + else if (ce.dataType == "uint16" || ce.dataType == "uint32") { byte[] _data = data; Array.Reverse(_data); diff --git a/README.md b/README.md index e85ca74..03afea0 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ Modbus TCP "length": 1, // тип данных для парсинга - // поддерживаемые типы: bool, uint16, uint32, utf8 + // поддерживаемые типы: bool, uint16, uint32, string // значение по умолчанию: uint16 "dataType": "uint16", @@ -62,7 +62,7 @@ Modbus TCP "dataType": "string", // ожидаемое значение при опросе этих регистров - "expectedValue": "SWT485" + "expectedValue": "STW485" } } ``` diff --git a/README_en.md b/README_en.md index f1aacc2..bde2bd9 100644 --- a/README_en.md +++ b/README_en.md @@ -45,7 +45,7 @@ Config fields and possible values: "length": 1, // data type for parsing - // supported data types: bool, uint16, uint32, utf8 + // supported data types: bool, uint16, uint32, string // default value: uint16 "dataType": "uint16", @@ -63,7 +63,7 @@ Config fields and possible values: "dataType": "string", // value after parsing - "expectedValue": "SWT485" + "expectedValue": "STW485" } } ```