Different types of units. Writing values, relay unit
This commit is contained in:
@@ -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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user