@@ -32,6 +32,7 @@ mbCoreDevice::Strings::Strings() :
3232 maxReadInputRegisters (QStringLiteral(" maxReadInputRegisters" )),
3333 maxWriteMultipleCoils (QStringLiteral(" maxWriteMultipleCoils" )),
3434 maxWriteMultipleRegisters(QStringLiteral(" maxWriteMultipleRegisters" )),
35+ byteOrder (QStringLiteral(" byteOrder" )),
3536 registerOrder (QStringLiteral(" registerOrder" )),
3637 byteArrayFormat (QStringLiteral(" byteArrayFormat" )),
3738 byteArraySeparator (QStringLiteral(" byteArraySeparator" )),
@@ -54,6 +55,7 @@ mbCoreDevice::Defaults::Defaults() :
5455 maxReadInputRegisters(MB_MAX_REGISTERS),
5556 maxWriteMultipleCoils(MB_MAX_DISCRETS),
5657 maxWriteMultipleRegisters(MB_MAX_REGISTERS),
58+ byteOrder(mb::LessSignifiedFirst),
5759 registerOrder(mb::R0R1R2R3),
5860 byteArrayFormat(mb::Hex),
5961 byteArraySeparator(QStringLiteral(" " )),
@@ -81,6 +83,7 @@ mbCoreDevice::mbCoreDevice(QObject *parent)
8183 m_settingsCore.maxReadInputRegisters = d.maxReadInputRegisters ;
8284 m_settingsCore.maxWriteMultipleCoils = d.maxWriteMultipleCoils ;
8385 m_settingsCore.maxWriteMultipleRegisters = d.maxWriteMultipleRegisters ;
86+ m_settingsCore.byteOrder = d.byteOrder ;
8487 m_settingsCore.registerOrder = d.registerOrder ;
8588 m_settingsCore.byteArrayFormat = d.byteArrayFormat ;
8689 m_settingsCore.byteArraySeparator = d.byteArraySeparator ;
@@ -142,6 +145,7 @@ MBSETTINGS mbCoreDevice::settings() const
142145 r.insert (s.maxReadInputRegisters , maxReadInputRegisters ());
143146 r.insert (s.maxWriteMultipleCoils , maxWriteMultipleCoils ());
144147 r.insert (s.maxWriteMultipleRegisters , maxWriteMultipleRegisters ());
148+ r.insert (s.byteOrder , mb::enumDataOrderKey (byteOrder ()));
145149 r.insert (s.registerOrder , mb::toString (registerOrder ()));
146150 r.insert (s.byteArrayFormat , mb::enumDigitalFormatKey (byteArrayFormat ()));
147151 r.insert (s.byteArraySeparator , byteArraySeparatorStr ());
@@ -220,6 +224,15 @@ bool mbCoreDevice::setSettings(const MBSETTINGS &settings)
220224 setMaxWriteMultipleRegisters (v);
221225 }
222226
227+ it = settings.find (s.byteOrder );
228+ if (it != end)
229+ {
230+ QVariant var = it.value ();
231+ mb::DataOrder v = mb::enumDataOrderValue (var.toString (), &ok);
232+ if (ok)
233+ setByteOrder (v);
234+ }
235+
223236 it = settings.find (s.registerOrder );
224237 if (it != end)
225238 {
0 commit comments