30 lines
596 B
C#
30 lines
596 B
C#
|
using System.Text;
|
||
|
|
||
|
namespace InnovEnergy.Lib.Protocols.Modbus.Conversions;
|
||
|
|
||
|
public partial class ModbusRegisters
|
||
|
{
|
||
|
public String GetString(UInt16 index, Int16 size)
|
||
|
{
|
||
|
var ascii = new ASCIIEncoding();
|
||
|
var offset = index - StartRegister;
|
||
|
|
||
|
var decoded = "";
|
||
|
var i = 0;
|
||
|
|
||
|
while (i < size)
|
||
|
{
|
||
|
var byteArray = BitConverter.GetBytes(Registers[offset]).Reverse().ToArray();
|
||
|
|
||
|
var tmp = ascii.GetString(byteArray);
|
||
|
|
||
|
decoded += tmp;
|
||
|
|
||
|
i++;
|
||
|
|
||
|
offset++;
|
||
|
}
|
||
|
|
||
|
return decoded;
|
||
|
}
|
||
|
}
|