|
1 | | -#include <QDebug> |
2 | 1 | #include "modbusdataunitmap.h" |
3 | 2 |
|
4 | 3 | /// |
@@ -32,6 +31,17 @@ void setDataValue(QModbusDataUnitMap& modbusMap, QModbusDataUnit::RegisterType p |
32 | 31 | if(idx >= 0) modbusMap[pointType].setValue(idx, value); |
33 | 32 | } |
34 | 33 |
|
| 34 | +/// |
| 35 | +/// \brief ModbusDataUnitMap::ModbusDataUnitMap |
| 36 | +/// |
| 37 | +ModbusDataUnitMap::ModbusDataUnitMap() |
| 38 | +{ |
| 39 | + _modbusDataUnitGlobalMap.insert(QModbusDataUnit::Coils, { QModbusDataUnit::Coils, 0, 65535 }); |
| 40 | + _modbusDataUnitGlobalMap.insert(QModbusDataUnit::DiscreteInputs, { QModbusDataUnit::DiscreteInputs, 0, 65535 }); |
| 41 | + _modbusDataUnitGlobalMap.insert(QModbusDataUnit::InputRegisters, { QModbusDataUnit::InputRegisters, 0, 65535 }); |
| 42 | + _modbusDataUnitGlobalMap.insert(QModbusDataUnit::HoldingRegisters, { QModbusDataUnit::HoldingRegisters, 0, 65535 }); |
| 43 | +} |
| 44 | + |
35 | 45 | /// |
36 | 46 | /// \brief ModbusDataUnitMap::addUnitMap |
37 | 47 | /// \param id |
@@ -84,7 +94,10 @@ void ModbusDataUnitMap::setData(const QModbusDataUnit& data) |
84 | 94 | const auto type = data.registerType(); |
85 | 95 |
|
86 | 96 | for(int i = 0; i < length; i++) |
| 97 | + { |
87 | 98 | setDataValue(_modbusDataUnitMap, type, addr + i, data.value(i)); |
| 99 | + setDataValue(_modbusDataUnitGlobalMap, type, addr + i, data.value(i)); |
| 100 | + } |
88 | 101 | } |
89 | 102 |
|
90 | 103 | /// |
@@ -115,7 +128,7 @@ void ModbusDataUnitMap::updateDataUnitMap() |
115 | 128 |
|
116 | 129 | for(int i = 0; i < length; i++) |
117 | 130 | { |
118 | | - const auto value = getDataValue(_modbusDataUnitMap, type, startAddress + i); |
| 131 | + const auto value = getDataValue(_modbusDataUnitGlobalMap, type, startAddress + i); |
119 | 132 | setDataValue(modbusMap, type, startAddress + i, value); |
120 | 133 | } |
121 | 134 | } |
|
0 commit comments