فهرست منبع

Add documentation of modbus_rtu_[gs]et_rts functions

Stéphane Raimbault 13 سال پیش
والد
کامیت
f9263110a4
5فایلهای تغییر یافته به همراه135 افزوده شده و 1 حذف شده
  1. 2 0
      doc/Makefile.am
  2. 3 0
      doc/libmodbus.txt
  3. 48 0
      doc/modbus_rtu_get_rts.txt
  4. 81 0
      doc/modbus_rtu_set_rts.txt
  5. 1 1
      doc/modbus_strerror.txt

+ 2 - 0
doc/Makefile.am

@@ -26,6 +26,8 @@ MAN3 = \
         modbus_report_slave_id.3 \
         modbus_rtu_get_serial_mode.3 \
         modbus_rtu_set_serial_mode.3 \
+        modbus_rtu_get_rts.3 \
+        modbus_rtu_set_rts.3 \
         modbus_send_raw_request.3 \
         modbus_set_bits_from_bytes.3 \
         modbus_set_bits_from_byte.3 \

+ 3 - 0
doc/libmodbus.txt

@@ -70,6 +70,9 @@ Create a Modbus RTU context::
 Set the serial mode::
     linkmb:modbus_rtu_get_serial_mode[3]
     linkmb:modbus_rtu_set_serial_mode[3]
+    linkmb:modbus_rtu_get_rts[3]
+    linkmb:modbus_rtu_set_rts[3]
+
 
 
 TCP (IPv4) Context

+ 48 - 0
doc/modbus_rtu_get_rts.txt

@@ -0,0 +1,48 @@
+modbus_rtu_get_rts(3)
+=====================
+
+
+NAME
+----
+modbus_rtu_get_rts - get the current RTS mode in RTU
+
+
+SYNOPSIS
+--------
+*int modbus_rtu_get_rts(modbus_t *'ctx');*
+
+
+DESCRIPTION
+-----------
+
+The _modbus_rtu_get_rts()_ function shall get the current Request To Send mode
+of the libmodbus context 'ctx'. The possible returned values are:
+
+* MODBUS_RTU_RTS_NONE
+* MODBUS_RTU_RTS_UP
+* MODBUS_RTU_RTS_DOWN
+
+This function can only be used with a context using a RTU backend.
+
+
+RETURN VALUE
+------------
+The _modbus_rtu_get_rts()_ function shall return the current RTS mode if
+successful. Otherwise it shall return -1 and set errno.
+
+
+ERRORS
+------
+*EINVAL*::
+The libmodbus backend is not RTU.
+
+
+SEE ALSO
+--------
+linkmb:modbus_rtu_set_rts[3]
+
+
+AUTHORS
+-------
+The libmodbus documentation was written by Stéphane Raimbault
+<stephane.raimbault@gmail.com>

+ 81 - 0
doc/modbus_rtu_set_rts.txt

@@ -0,0 +1,81 @@
+modbus_rtu_set_rts(3)
+=====================
+
+
+NAME
+----
+modbus_rtu_set_rts - set the RTS mode in RTU
+
+
+SYNOPSIS
+--------
+*int modbus_rtu_set_rts(modbus_t *'ctx', int 'mode')*
+
+
+DESCRIPTION
+-----------
+The _modbus_rtu_set_rts()_ function shall set the Request To Send mode to
+communicate on a RS485 serial bus. By default, the mode is set to
+MODBUS_RTU_RTS_NONE and no signal is issued before writing data on the wire.
+
+To enable the RTS mode, the values MODBUS_RTU_RTS_UP or MODBUS_RTU_RTS_DOWN must
+be used, these modes enable the RTS mode and set the polarity at the same
+time. When MODBUS_RTU_RTS_UP is used, an ioctl call is made with RTS flag
+enabled then data is written on the bus after a delay of 1ms, then another ioctl
+call is made with the RTS flag disabled and again a delay of 1ms occurs.
+The MODBUS_RTU_RTS_DOWN mode applies the same procedure but with an inversed
+RTS flag.
+
+This function can only be used with a context using a RTU backend.
+
+
+RETURN VALUE
+------------
+The _modbus_rtu_set_rts()_ function shall return 0 if successful. Otherwise it
+shall return -1 and set errno to one of the values defined below.
+
+
+ERRORS
+------
+*EINVAL*::
+The libmodbus backend isn't RTU or the mode given in argument is invalid.
+
+
+EXAMPLE
+-------
+.Enable the RTS mode with positive polarity
+[source,c]
+-------------------
+modbus_t *ctx;
+uint16_t tab_reg[10];
+
+ctx = modbus_new_rtu("/dev/ttyS0", 115200, 'N', 8, 1);
+modbus_set_slave(ctx, 1);
+modbus_rtu_set_serial_mode(ctx, MODBUS_RTU_RS485);
+modbus_rtu_set_rts(ctx, MODBUS_RTU_RTS_UP);
+
+if (modbus_connect(ctx) == -1) {
+    fprintf(stderr, "Connexion failed: %s\n", modbus_strerror(errno));
+    modbus_free(ctx);
+    return -1;
+}
+
+rc = modbus_read_registers(ctx, 0, 7, tab_reg);
+if (rc == -1) {
+    fprintf(stderr, "%s\n", modbus_strerror(errno));
+    return -1;
+}
+
+modbus_close(ctx);
+modbus_free(ctx);
+-------------------
+
+SEE ALSO
+--------
+linkmb:modbus_rtu_get_rts[3]
+
+
+AUTHORS
+-------
+The libmodbus documentation was written by Stéphane Raimbault
+<stephane.raimbault@gmail.com>

+ 1 - 1
doc/modbus_strerror.txt

@@ -34,7 +34,7 @@ No errors are defined.
 
 EXAMPLE
 -------
-.Displaying an error message when a Modbus connection cannot be established
+.Display an error message when a Modbus connection cannot be established
 [source,c]
 -------------------
 if (modbus_connect(ctx) == -1) {