@@ -193,6 +193,7 @@ void ModbusMessageWidget::update()
193193 QString (" %1 (%2)" ).arg (formatUInt8Value (_dataDisplayMode, func), func) :
194194 formatUInt8Value (_dataDisplayMode, func);
195195 addItem (tr (" <b>Function Code:</b> %1" ).arg (function));
196+ const auto addrBase = tr (" (0-based)" );
196197
197198 switch (_mm->function ())
198199 {
@@ -202,7 +203,7 @@ void ModbusMessageWidget::update()
202203 auto req = reinterpret_cast <const ReadCoilsRequest*>(_mm);
203204 const auto startAddress = req->isValid () ? formatUInt16Value (_dataDisplayMode, req->startAddress ()) : " ??" ;
204205 const auto length = req->isValid () ? formatUInt16Value (_dataDisplayMode, req->length ()): " ??" ;
205- addItem (tr (" <b>Start Address:</b> %1" ).arg (startAddress));
206+ addItem (tr (" <b>Start Address:</b> %1 %2 " ).arg (startAddress, addrBase ));
206207 addItem (tr (" <b>Length:</b> %1" ).arg (length));
207208 }
208209 else
@@ -221,7 +222,7 @@ void ModbusMessageWidget::update()
221222 auto req = reinterpret_cast <const ReadDiscreteInputsRequest*>(_mm);
222223 const auto startAddress = req->isValid () ? formatUInt16Value (_dataDisplayMode, req->startAddress ()) : " ??" ;
223224 const auto length = req->isValid () ? formatUInt16Value (_dataDisplayMode, req->length ()): " ??" ;
224- addItem (tr (" <b>Start Address:</b> %1" ).arg (startAddress));
225+ addItem (tr (" <b>Start Address:</b> %1 %2 " ).arg (startAddress, addrBase ));
225226 addItem (tr (" <b>Length:</b> %1" ).arg (length));
226227 }
227228 else
@@ -240,7 +241,7 @@ void ModbusMessageWidget::update()
240241 auto req = reinterpret_cast <const ReadHoldingRegistersRequest*>(_mm);
241242 const auto startAddress = req->isValid () ? formatUInt16Value (_dataDisplayMode, req->startAddress ()) : " ??" ;
242243 const auto length = req->isValid () ? formatUInt16Value (_dataDisplayMode, req->length ()): " ??" ;
243- addItem (tr (" <b>Start Address:</b> %1" ).arg (startAddress));
244+ addItem (tr (" <b>Start Address:</b> %1 %2 " ).arg (startAddress, addrBase ));
244245 addItem (tr (" <b>Length:</b> %1" ).arg (length));
245246 }
246247 else
@@ -259,7 +260,7 @@ void ModbusMessageWidget::update()
259260 auto req = reinterpret_cast <const ReadInputRegistersRequest*>(_mm);
260261 const auto startAddress = req->isValid () ? formatUInt16Value (_dataDisplayMode, req->startAddress ()) : " ??" ;
261262 const auto length = req->isValid () ? formatUInt16Value (_dataDisplayMode, req->length ()): " ??" ;
262- addItem (tr (" <b>Start Address:</b> %1" ).arg (startAddress));
263+ addItem (tr (" <b>Start Address:</b> %1 %2 " ).arg (startAddress, addrBase ));
263264 addItem (tr (" <b>Length:</b> %1" ).arg (length));
264265 }
265266 else
@@ -278,15 +279,15 @@ void ModbusMessageWidget::update()
278279 auto req = reinterpret_cast <const WriteSingleCoilRequest*>(_mm);
279280 const auto outputAddress = req->isValid () ? formatUInt16Value (_dataDisplayMode, req->address ()) : " ??" ;
280281 const auto outputValue = req->isValid () ? formatUInt16Value (_dataDisplayMode, req->value ()) : " ??" ;
281- addItem (tr (" <b>Output Address:</b> %1" ).arg (outputAddress));
282+ addItem (tr (" <b>Output Address:</b> %1 %2 " ).arg (outputAddress, addrBase ));
282283 addItem (tr (" <b>Output Value:</b> %1" ).arg (outputValue));
283284 }
284285 else
285286 {
286287 auto resp = reinterpret_cast <const WriteSingleCoilResponse*>(_mm);
287288 const auto outputAddress = resp->isValid () ? formatUInt16Value (_dataDisplayMode, resp->address ()) : " ??" ;
288289 const auto outputValue = resp->isValid () ? formatUInt16Value (_dataDisplayMode, resp->value ()) : " ??" ;
289- addItem (tr (" <b>Output Address:</b> %1" ).arg (outputAddress));
290+ addItem (tr (" <b>Output Address:</b> %1 %2 " ).arg (outputAddress, addrBase ));
290291 addItem (tr (" <b>Output Value:</b> %1" ).arg (outputValue));
291292 }
292293 break ;
@@ -297,15 +298,15 @@ void ModbusMessageWidget::update()
297298 auto req = reinterpret_cast <const WriteSingleRegisterRequest*>(_mm);
298299 const auto registerAddress = req->isValid () ? formatUInt16Value (_dataDisplayMode, req->address ()) : " ??" ;
299300 const auto registerValue = req->isValid () ? formatUInt16Value (_dataDisplayMode, req->value ()) : " ??" ;
300- addItem (tr (" <b>Register Address:</b> %1" ).arg (registerAddress));
301+ addItem (tr (" <b>Register Address:</b> %1 %2 " ).arg (registerAddress, addrBase ));
301302 addItem (tr (" <b>Register Value:</b> %1" ).arg (registerValue));
302303 }
303304 else
304305 {
305306 auto resp = reinterpret_cast <const WriteSingleRegisterResponse*>(_mm);
306307 const auto registerAddress = resp->isValid () ? formatUInt16Value (_dataDisplayMode, resp->address ()) : " ??" ;
307308 const auto registerValue = resp->isValid () ? formatUInt16Value (_dataDisplayMode, resp->value ()) : " ??" ;
308- addItem (tr (" <b>Register Address:</b> %1" ).arg (registerAddress));
309+ addItem (tr (" <b>Register Address:</b> %1 %2 " ).arg (registerAddress, addrBase ));
309310 addItem (tr (" <b>Register Value:</b> %1" ).arg (registerValue));
310311 }
311312 break ;
@@ -374,7 +375,7 @@ void ModbusMessageWidget::update()
374375 const auto quantity = req->isValid () ? formatUInt16Value (_dataDisplayMode, req->quantity ()) : " ??" ;
375376 const auto byteCount = req->isValid () ? formatUInt8Value (_dataDisplayMode, req->byteCount ()) : " ?" ;
376377 const auto values = req->isValid () ? formatUInt8Array (_dataDisplayMode, req->values ()) : " ???" ;
377- addItem (tr (" <b>Starting Address:</b> %1" ).arg (startAddr));
378+ addItem (tr (" <b>Starting Address:</b> %1 %2 " ).arg (startAddr, addrBase ));
378379 addItem (tr (" <b>Quantity of Outputs:</b> %1" ).arg (quantity));
379380 addItem (tr (" <b>Byte Count:</b> %1" ).arg (byteCount));
380381 addItem (tr (" <b>Output Value:</b> %1" ).arg (values));
@@ -384,7 +385,7 @@ void ModbusMessageWidget::update()
384385 auto resp = reinterpret_cast <const WriteMultipleCoilsResponse*>(_mm);
385386 const auto startAddr = resp->isValid () ? formatUInt16Value (_dataDisplayMode, resp->startAddress ()) : " ??" ;
386387 const auto quantity = resp->isValid () ? formatUInt16Value (_dataDisplayMode, resp->quantity ()) : " ??" ;
387- addItem (tr (" <b>Starting Address:</b> %1" ).arg (startAddr));
388+ addItem (tr (" <b>Starting Address:</b> %1 %2 " ).arg (startAddr, addrBase ));
388389 addItem (tr (" <b>Quantity of Outputs:</b> %1" ).arg (quantity));
389390 }
390391 break ;
@@ -397,7 +398,7 @@ void ModbusMessageWidget::update()
397398 const auto quantity = req->isValid () ? formatUInt16Value (_dataDisplayMode, req->quantity ()) : " ??" ;
398399 const auto byteCount = req->isValid () ? formatUInt8Value (_dataDisplayMode, req->byteCount ()) : " ?" ;
399400 const auto values = req->isValid () ? formatUInt16Array (_dataDisplayMode, req->values (), _byteOrder) : " ???" ;
400- addItem (tr (" <b>Starting Address:</b> %1" ).arg (startAddr));
401+ addItem (tr (" <b>Starting Address:</b> %1 %2 " ).arg (startAddr, addrBase ));
401402 addItem (tr (" <b>Quantity of Registers:</b> %1" ).arg (quantity));
402403 addItem (tr (" <b>Byte Count:</b> %1" ).arg (byteCount));
403404 addItem (tr (" <b>Registers Value:</b> %1" ).arg (values));
@@ -407,7 +408,7 @@ void ModbusMessageWidget::update()
407408 auto resp = reinterpret_cast <const WriteMultipleRegistersResponse*>(_mm);
408409 const auto startAddr = resp->isValid () ? formatUInt16Value (_dataDisplayMode, resp->startAddress ()) : " ??" ;
409410 const auto quantity = resp->isValid () ? formatUInt16Value (_dataDisplayMode, resp->quantity ()) : " ??" ;
410- addItem (tr (" <b>Starting Address:</b> %1" ).arg (startAddr));
411+ addItem (tr (" <b>Starting Address:</b> %1 %2 " ).arg (startAddr, addrBase ));
411412 addItem (tr (" <b>Quantity of Registers:</b> %1" ).arg (quantity));
412413 }
413414 break ;
@@ -468,7 +469,7 @@ void ModbusMessageWidget::update()
468469 const auto address = req->isValid () ? formatUInt16Value (_dataDisplayMode, req->address ()) : " ??" ;
469470 const auto andMask = req->isValid () ? formatUInt16Value (_dataDisplayMode, req->andMask ()) : " ??" ;
470471 const auto orMask = req->isValid () ? formatUInt16Value (_dataDisplayMode, req->orMask ()) : " ??" ;
471- addItem (tr (" <b>Address:</b> %1" ).arg (address));
472+ addItem (tr (" <b>Address:</b> %1 %2 " ).arg (address, addrBase ));
472473 addItem (tr (" <b>And Mask:</b> %1" ).arg (andMask));
473474 addItem (tr (" <b>Or Mask:</b> %1" ).arg (orMask));
474475 }
@@ -478,7 +479,7 @@ void ModbusMessageWidget::update()
478479 const auto address = resp->isValid () ? formatUInt16Value (_dataDisplayMode, resp->address ()) : " ??" ;
479480 const auto andMask = resp->isValid () ? formatUInt16Value (_dataDisplayMode, resp->andMask ()) : " ??" ;
480481 const auto orMask = resp->isValid () ? formatUInt16Value (_dataDisplayMode, resp->orMask ()) : " ??" ;
481- addItem (tr (" <b>Address:</b> %1" ).arg (address));
482+ addItem (tr (" <b>Address:</b> %1 %2 " ).arg (address, addrBase ));
482483 addItem (tr (" <b>And Mask:</b> %1" ).arg (andMask));
483484 addItem (tr (" <b>Or Mask:</b> %1" ).arg (orMask));
484485 }
@@ -494,9 +495,9 @@ void ModbusMessageWidget::update()
494495 const auto writeLength = req->isValid () ? formatUInt16Value (_dataDisplayMode, req->writeLength ()) : " ??" ;
495496 const auto writeByteCount = req->isValid () ? formatUInt8Value (_dataDisplayMode, req->writeByteCount ()) : " ?" ;
496497 const auto writeValues = req->isValid () ? formatUInt16Array (_dataDisplayMode, req->writeValues (), _byteOrder) : " ???" ;
497- addItem (tr (" <b>Read Starting Address:</b> %1" ).arg (readStartAddr));
498+ addItem (tr (" <b>Read Starting Address:</b> %1 %2 " ).arg (readStartAddr, addrBase ));
498499 addItem (tr (" <b>Quantity to Read:</b> %1" ).arg (readLength));
499- addItem (tr (" <b>Write Starting Address:</b> %1" ).arg (writeStartAddr));
500+ addItem (tr (" <b>Write Starting Address:</b> %1 %2 " ).arg (writeStartAddr, addrBase ));
500501 addItem (tr (" <b>Quantity to Write:</b> %1" ).arg (writeLength));
501502 addItem (tr (" <b>Write Byte Count:</b> %1" ).arg (writeByteCount));
502503 addItem (tr (" <b>Write Registers Value:</b> %1" ).arg (writeValues));
@@ -516,7 +517,7 @@ void ModbusMessageWidget::update()
516517 {
517518 auto req = reinterpret_cast <const ReadFifoQueueRequest*>(_mm);
518519 const auto fifoAddr = req->isValid () ? formatUInt16Value (_dataDisplayMode, req->fifoAddress ()) : " ??" ;
519- addItem (tr (" <b>FIFO Point Address:</b> %1" ).arg (fifoAddr));
520+ addItem (tr (" <b>FIFO Point Address:</b> %1 %2 " ).arg (fifoAddr, addrBase ));
520521 }
521522 else
522523 {
0 commit comments