Different types of units. Writing values, relay unit

This commit is contained in:
ftc
2021-09-12 16:01:26 +03:00
parent 80cad276e8
commit cfd8d4c018
10 changed files with 296 additions and 74 deletions
+20
View File
@@ -7,6 +7,8 @@ namespace ESPServer
{
private Dictionary<int, int> registers;
public event Action<int, float> OnRegisterWritten;
public RegistersContainer()
{
registers = new Dictionary<int, int>();
@@ -37,5 +39,23 @@ namespace ESPServer
registers[address + 1] = (int)bytes[0] + (((int)bytes[1]) << 8);
registers[address] = (int)bytes[2] + (((int)bytes[3]) << 8);
}
public void WriteRegister(int address, int value)
{
registers[address] = value;
OnRegisterWritten?.Invoke(address, value);
}
public void WriteRegisters(int address, int[] values)
{
for (int i = 0; i < values.Length; i++)
{
registers[address + i] = values[i];
}
for (int i = 0; i < values.Length; i++)
{
OnRegisterWritten?.Invoke(address + i, values[i]);
}
}
}
}