Skip to content

Commit 5ad63e7

Browse files
max number of registers as constant
1 parent 9b18534 commit 5ad63e7

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

src/main.cpp

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
#include "license.hpp"
1616
#include "modbus_shm.hpp"
1717

18+
//! Maximum number of registers per type
19+
constexpr size_t MODBUS_MAX_REGS = 0x10000;
20+
1821
//! terminate flag
1922
static volatile bool terminate = false;
2023

@@ -94,7 +97,7 @@ int main(int argc, char **argv) {
9497
("response-timeout",
9598
"set the timeout interval in seconds used to wait for a response. "
9699
"When a byte timeout is set, if elapsed time for the first byte of response is longer than "
97-
"the given timeout, a timeout is detected."
100+
"the given timeout, a timeout is detected. "
98101
"When byte timeout is disabled, the full confirmation response must be received before "
99102
"expiration of the response timeout."
100103
"Fractional values are possible.",
@@ -157,23 +160,23 @@ int main(int argc, char **argv) {
157160
}
158161

159162
// check arguments
160-
if (args["do-registers"].as<std::size_t>() > 0x10000) {
161-
std::cerr << "to many do_registers (maximum: 65536)." << std::endl;
163+
if (args["do-registers"].as<std::size_t>() > MODBUS_MAX_REGS) {
164+
std::cerr << "to many do-registers (maximum: " << MODBUS_MAX_REGS << ")." << std::endl;
162165
exit_usage();
163166
}
164167

165-
if (args["di-registers"].as<std::size_t>() > 0x10000) {
166-
std::cerr << "to many do_registers (maximum: 65536)." << std::endl;
168+
if (args["di-registers"].as<std::size_t>() > MODBUS_MAX_REGS) {
169+
std::cerr << "to many di-registers (maximum: " << MODBUS_MAX_REGS << ")." << std::endl;
167170
exit_usage();
168171
}
169172

170-
if (args["ao-registers"].as<std::size_t>() > 0x10000) {
171-
std::cerr << "to many do_registers (maximum: 65536)." << std::endl;
173+
if (args["ao-registers"].as<std::size_t>() > MODBUS_MAX_REGS) {
174+
std::cerr << "to many ao-registers (maximum: " << MODBUS_MAX_REGS << ")." << std::endl;
172175
exit_usage();
173176
}
174177

175-
if (args["ai-registers"].as<std::size_t>() > 0x10000) {
176-
std::cerr << "to many do_registers (maximum: 65536)." << std::endl;
178+
if (args["ai-registers"].as<std::size_t>() > MODBUS_MAX_REGS) {
179+
std::cerr << "to many ai-registers (maximum: " << MODBUS_MAX_REGS << ")." << std::endl;
177180
exit_usage();
178181
}
179182

0 commit comments

Comments
 (0)