diff options
author | Jonathan McCrohan <jmccrohan@gmail.com> | 2011-12-05 01:48:03 +0000 |
---|---|---|
committer | Jonathan McCrohan <jmccrohan@gmail.com> | 2011-12-05 01:48:03 +0000 |
commit | 18dd11d1c2201418198d142ae5b2822722e65458 (patch) | |
tree | 6438c83b3fa9367f7261b369e5796306e1131188 | |
parent | 38f7f2cf0fdda2971b244ce19162921c05c8c0b1 (diff) | |
download | verteco-18dd11d1c2201418198d142ae5b2822722e65458.tar.gz |
add custom modbus retry.
-rw-r--r-- | modbuslog.c | 6 | ||||
-rw-r--r-- | modbuslog.cfg | 1 |
2 files changed, 5 insertions, 2 deletions
diff --git a/modbuslog.c b/modbuslog.c index 248b8cc..be7a4d1 100644 --- a/modbuslog.c +++ b/modbuslog.c @@ -88,6 +88,7 @@ int main(int argc, char *argv[]) { int modbus_data_bits; const char *modbus_parity; int modbus_stop_bits; + int modbus_retry; config_init(&cfg); @@ -103,7 +104,8 @@ int main(int argc, char *argv[]) { && config_lookup_int(&cfg, "modbus.baud", &modbus_baud_rate) && config_lookup_int(&cfg, "modbus.data_bits", &modbus_data_bits) && config_lookup_string(&cfg, "modbus.parity", &modbus_parity) - && config_lookup_int(&cfg, "modbus.stop_bits", &modbus_stop_bits))) { + && config_lookup_int(&cfg, "modbus.stop_bits", &modbus_stop_bits) + && config_lookup_int(&cfg, "modbus.retry", &modbus_retry))) { fprintf(stderr, "Incomplete modbus configuration. Check configuration file.\n"); return -1; @@ -219,7 +221,7 @@ int main(int argc, char *argv[]) { fprintf(stderr, "ERROR: %s\n", modbus_strerror(errno)); } retry++; - } while ((rc != -1) && (retry < 2)); + } while ((rc != -1) && (retry < (modbus_retry+1))); //MODBUS_GET_HIGH_BYTE(data); //MODBUS_GET_LOW_BYTE(data); diff --git a/modbuslog.cfg b/modbuslog.cfg index 2451b3f..615cea4 100644 --- a/modbuslog.cfg +++ b/modbuslog.cfg @@ -8,6 +8,7 @@ modbus = { data_bits = 8; parity = "E" stop_bits = 1; + retry = 2; }; reading= ( |