Skip to content

Commit 397eaca

Browse files
author
Ананьев Александр
committed
Correct updating modbus data on display settings changes
1 parent 8a7a22f commit 397eaca

2 files changed

Lines changed: 11 additions & 11 deletions

File tree

omodsim/formmodsim.cpp

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -360,9 +360,10 @@ void FormModSim::on_timeout()
360360
void FormModSim::on_lineEditAddress_valueChanged(const QVariant&)
361361
{
362362
const auto dd = displayDefinition();
363-
ui->outputWidget->setup(dd);
364-
365363
_mbMultiServer.addUnitMap(formId(), dd.PointType, dd.PointAddress - 1, dd.Length);
364+
365+
ui->outputWidget->setup(dd);
366+
ui->outputWidget->updateData(_mbMultiServer.data(dd.PointType, dd.PointAddress - 1, dd.Length));
366367
}
367368

368369
///
@@ -371,9 +372,10 @@ void FormModSim::on_lineEditAddress_valueChanged(const QVariant&)
371372
void FormModSim::on_lineEditLength_valueChanged(const QVariant&)
372373
{
373374
const auto dd = displayDefinition();
374-
ui->outputWidget->setup(dd);
375-
376375
_mbMultiServer.addUnitMap(formId(), dd.PointType, dd.PointAddress - 1, dd.Length);
376+
377+
ui->outputWidget->setup(dd);
378+
ui->outputWidget->updateData(_mbMultiServer.data(dd.PointType, dd.PointAddress - 1, dd.Length));
377379
}
378380

379381
///
@@ -392,9 +394,10 @@ void FormModSim::on_lineEditDeviceId_valueChanged(const QVariant&)
392394
void FormModSim::on_comboBoxModbusPointType_pointTypeChanged(QModbusDataUnit::RegisterType value)
393395
{
394396
const auto dd = displayDefinition();
395-
ui->outputWidget->setup(dd);
396-
397397
_mbMultiServer.addUnitMap(formId(), value, dd.PointAddress - 1, dd.Length);
398+
399+
ui->outputWidget->setup(dd);
400+
ui->outputWidget->updateData(_mbMultiServer.data(dd.PointType, dd.PointAddress - 1, dd.Length));
398401
}
399402

400403
///

omodsim/modbusmultiserver.cpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -248,11 +248,8 @@ void ModbusMultiServer::removeModbusServer(QSharedPointer<QModbusServer> server)
248248
///
249249
void ModbusMultiServer::reconfigureServers()
250250
{
251-
if(!_modbusServerList.isEmpty())
252-
{
253-
for(auto&& s : _modbusServerList)
254-
s->setMap(_modbusDataUnitMap);
255-
}
251+
for(auto&& s : _modbusServerList)
252+
s->setMap(_modbusDataUnitMap);
256253
}
257254

258255
///

0 commit comments

Comments
 (0)