2
2
Modbus Library for Arduino
3
3
Core functions
4
4
Copyright (C) 2014 Andr� Sarmento Barbosa
5
- 2017-2021 Alexander Emelianov (a.m.emelianov@gmail.com)
5
+ 2017-2023 Alexander Emelianov (a.m.emelianov@gmail.com)
6
6
*/
7
7
#include " Modbus.h"
8
8
@@ -489,7 +489,7 @@ void Modbus::getMultipleWords(uint16_t* frame, TAddress startreg, uint16_t numre
489
489
490
490
Modbus::ResultCode Modbus::readBits (TAddress startreg, uint16_t numregs, FunctionCode fn) {
491
491
if (numregs < 0x0001 || numregs > MODBUS_MAX_BITS || (0xFFFF - startreg.address ) < numregs)
492
- return EX_ILLEGAL_VALUE ;
492
+ return EX_ILLEGAL_ADDRESS ;
493
493
// Check Address
494
494
// Check only startreg. Is this correct?
495
495
// When I check all registers in range I got errors in ScadaBR
@@ -498,11 +498,11 @@ Modbus::ResultCode Modbus::readBits(TAddress startreg, uint16_t numregs, Functio
498
498
#if defined(MODBUS_STRICT_REG)
499
499
for (k = 0 ; k < numregs; k++) { // Check Address (startreg...startreg + numregs)
500
500
if (!searchRegister (startreg + k))
501
- return EX_ILLEGAL_VALUE ;
501
+ return EX_ILLEGAL_ADDRESS ;
502
502
}
503
503
#else
504
504
if (!searchRegister (startreg))
505
- return EX_ILLEGAL_VALUE ;
505
+ return EX_ILLEGAL_ADDRESS ;
506
506
#endif
507
507
free (_frame);
508
508
// Determine the message length = function type, byte count and
@@ -523,11 +523,11 @@ Modbus::ResultCode Modbus::readBits(TAddress startreg, uint16_t numregs, Functio
523
523
Modbus::ResultCode Modbus::readWords (TAddress startreg, uint16_t numregs, FunctionCode fn) {
524
524
// Check value (numregs)
525
525
if (numregs < 0x0001 || numregs > MODBUS_MAX_WORDS || 0xFFFF - startreg.address < numregs)
526
- return EX_ILLEGAL_VALUE ;
526
+ return EX_ILLEGAL_ADDRESS ;
527
527
#if defined(MODBUS_STRICT_REG)
528
528
for (k = 0 ; k < numregs; k++) { // Check Address (startreg...startreg + numregs)
529
529
if (!searchRegister (startreg + k))
530
- return EX_ILLEGAL_VALUE ;
530
+ return EX_ILLEGAL_ADDRESS ;
531
531
}
532
532
#else
533
533
if (!searchRegister (startreg))
0 commit comments