add missing modbus tags

This commit is contained in:
MichaelDvP
2025-10-20 11:13:36 +02:00
parent f5f78182b6
commit d7e916269d
3 changed files with 23 additions and 7 deletions

View File

@@ -455,12 +455,10 @@ int Modbus::getRegisterCount(const DeviceValue & dv) {
uint32_t num_values = std::max(dv.max, (uint32_t)abs(dv.min));
int num_registers = 0;
if (num_values <= (1L << 8))
if (num_values < (1L << 16))
num_registers = 1;
else if (num_values <= (1L << 16))
else if (num_values <= (0xFFFFFFFF))
num_registers = 2;
else if (num_values <= (1L << 32))
num_registers = 4;
else
LOG_ERROR("num_registers is too big to be encoded with modbus registers");