Commit 602a7f3859091516b034b6bf18ba6294f91162ce
Committed by
Stéphane Raimbault
1 parent
7ecfd411
Provides a way to disable the byte timeout.
Showing
2 changed files
with
4 additions
and
1 deletions
doc/modbus_set_byte_timeout.txt
| ... | ... | @@ -18,6 +18,9 @@ The _modbus_set_byte_timeout()_ function shall set the timeout interval between |
| 18 | 18 | two consecutive bytes of the same message. If the delay between is longer than |
| 19 | 19 | the given timeout, an error will be raised. |
| 20 | 20 | |
| 21 | +If the timeout value has a tv_sec of -1 then this timeout will not be used at | |
| 22 | +all. This results in modbus_set_response_timeout governing the entire timeout | |
| 23 | +duration of an operation. | |
| 21 | 24 | |
| 22 | 25 | RETURN VALUE |
| 23 | 26 | ------------ | ... | ... |
src/modbus.c
| ... | ... | @@ -442,7 +442,7 @@ static int receive_msg(modbus_t *ctx, uint8_t *msg, msg_type_t msg_type) |
| 442 | 442 | } |
| 443 | 443 | } |
| 444 | 444 | |
| 445 | - if (length_to_read > 0) { | |
| 445 | + if (length_to_read > 0 && ctx->byte_timeout.tv_sec != -1) { | |
| 446 | 446 | /* If there is no character in the buffer, the allowed timeout |
| 447 | 447 | interval between two consecutive bytes is defined by |
| 448 | 448 | byte_timeout */ | ... | ... |