<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<section xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="_class_modbus" xml:lang="en-US">
<title>Modbus Class Reference</title>
<indexterm><primary>Modbus</primary></indexterm>
<para>

<para>Arduino class library for communicating with <link linkend="_class_modbus">Modbus</link> devices over USB/RS232/485 (via RTU protocol). </para>
 
</para>
<para>
<computeroutput>#include &lt;ModbusRtu.h&gt;</computeroutput>
</para>
<simplesect>
    <title>Public Member Functions    </title>
        <itemizedlist>
            <listitem><para><link linkend="_class_timer">void</link> <link linkend="_class_modbus_1a4f9673a3d113c49af69cb87b030ef099">begin</link> ()</para>
</listitem>
            <listitem><para><link linkend="_class_timer">void</link> <link linkend="_group__setup_1ga475a4fa0fac491307b10c4529ad6d2a0">begin</link> (<link linkend="_class_timer">long</link> <link linkend="_class_timer">u32speed</link>)</para>

<para>Initialize class object. </para>
</listitem>
            <listitem><para><link linkend="_class_timer">void</link> <link linkend="_group__setup_1gacd00c79b4db24d1658a9b4121bffd6de">begin</link> (<link linkend="_class_timer">long</link> <link linkend="_class_timer">u32speed</link>, <link linkend="_class_timer">uint8_t</link> <link linkend="_class_timer">u8config</link>)</para>

<para>Initialize class object. </para>
</listitem>
            <listitem><para><link linkend="_class_timer">void</link> <link linkend="_group__setup_1ga387bdac3337f78e130bb4ad720f494c5">begin</link> (<link linkend="_class_timer">SoftwareSerial</link> *<link linkend="_class_timer">sPort</link>, <link linkend="_class_timer">long</link> <link linkend="_class_timer">u32speed</link>)</para>

<para>Initialize class object. </para>
</listitem>
            <listitem><para><link linkend="_class_timer">void</link> <link linkend="_class_modbus_1a6b1d57b17b9f398db73d3a5e0eea4f67">clearError</link> ()</para>
</listitem>
            <listitem><para><link linkend="_class_timer">void</link> <link linkend="_class_modbus_1a0d80101b650344c712a085c4bb005c4c">end</link> ()</para>

<para>finish any communication and release serial communication port </para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint16_t</link> <link linkend="_group__buffer_1ga6883c7f3ff12f084ed56d559d4e06ed0">getErrCnt</link> ()</para>

<para>error counter </para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint8_t</link> <link linkend="_group__setup_1ga6449894306ff8cc5d4caff09b1b0d1ce">getID</link> ()</para>

<para>get slave ID between 1 and 247 </para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint16_t</link> <link linkend="_group__buffer_1ga4fa6ede8df85b7cc70b1282b9547378a">getInCnt</link> ()</para>

<para>number of incoming messages </para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint8_t</link> <link linkend="_group__buffer_1gace7f726db13adc8feeceab987b719531">getLastError</link> ()</para>

<para>get last error message </para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint16_t</link> <link linkend="_group__buffer_1ga6f831ecaf3678c27dafb663a28bf81f0">getOutCnt</link> ()</para>

<para>number of outcoming messages </para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint8_t</link> <link linkend="_group__buffer_1ga2f39717d957a929af488c9120488fcdc">getState</link> ()</para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint16_t</link> <link linkend="_class_modbus_1ac860024db3117a2ef907d0325b2fb7a1">getTimeOut</link> ()</para>

<para>get communication watch-dog timer value </para>
</listitem>
            <listitem><para><link linkend="_class_timer">boolean</link> <link linkend="_group__loop_1gaf6dd413191ed8a833022046873e0a063">getTimeOutState</link> ()</para>

<para>get communication watch-dog timer state </para>
</listitem>
            <listitem><para><link linkend="_class_timer">bool</link> <link linkend="_class_modbus_1a03476b6fe86b385e9ac29d9cf4ebb87d">isLocked</link> ()</para>
</listitem>
            <listitem><para><link linkend="_group__setup_1ga101809cdd4734537bab58dc315a840b4">Modbus</link> ()</para>

<para>Default Constructor for Master through Serial. </para>
</listitem>
            <listitem><para><link linkend="_class_modbus_1a4ec3b867af1a86b15d1ef2beb9c7678b">Modbus</link> (<link linkend="_class_timer">uint8_t</link> <link linkend="_class_modbus_1a9240505a875fee9236a95942f277314a">u8id</link>)</para>
</listitem>
            <listitem><para><link linkend="_class_modbus_1afbbf7c81565d8e1ea1cd5890a96e7507">Modbus</link> (<link linkend="_class_timer">uint8_t</link> <link linkend="_class_modbus_1a9240505a875fee9236a95942f277314a">u8id</link>, <link linkend="_class_timer">uint8_t</link> <link linkend="_class_modbus_1ab85bd5f2f1a838e8fcab90c33f3f1413">u8serno</link>)</para>
</listitem>
            <listitem><para><link linkend="_class_modbus_1a5e23a7b669d0c2d5be1c0054c7c54dca">Modbus</link> (<link linkend="_class_timer">uint8_t</link> <link linkend="_class_modbus_1a9240505a875fee9236a95942f277314a">u8id</link>, <link linkend="_class_timer">uint8_t</link> <link linkend="_class_modbus_1ab85bd5f2f1a838e8fcab90c33f3f1413">u8serno</link>, <link linkend="_class_timer">uint8_t</link> <link linkend="_class_modbus_1abe18dfae3b794dda457cf13da721f140">u8txenpin</link>)</para>
</listitem>
            <listitem><para><link linkend="_class_timer">int8_t</link> <link linkend="_group__loop_1ga53bde78490c1cd8e3c070a676bdcfb0d">poll</link> ()</para>

<para>cyclic poll for master </para>
</listitem>
            <listitem><para><link linkend="_class_timer">int8_t</link> <link linkend="_group__loop_1gab3ef20562fc8cee14fc85f7e276890b5">poll</link> (<link linkend="_class_timer">uint16_t</link> *<link linkend="_class_timer">regs</link>, <link linkend="_class_timer">uint8_t</link> <link linkend="_class_timer">u8size</link>)</para>

<para>cyclic poll for slave </para>
</listitem>
            <listitem><para><link linkend="_class_timer">int8_t</link> <link linkend="_group__loop_1ga19398cabed57b6d085d014af6c149f54">query</link> (<link linkend="_structmodbus__t">modbus_t</link> <link linkend="_class_timer">telegram</link>)</para>

<para>only for master </para>
</listitem>
            <listitem><para><link linkend="_class_timer">void</link> <link linkend="_group__setup_1ga9bd497e97ac1777d4f0d4171078d60e0">setID</link> (<link linkend="_class_timer">uint8_t</link> <link linkend="_class_modbus_1a9240505a875fee9236a95942f277314a">u8id</link>)</para>

<para>write new ID for the slave </para>
</listitem>
            <listitem><para><link linkend="_class_timer">void</link> <link linkend="_group__setup_1gaf828190ebe24efb1b3b1957429f3872e">setTimeOut</link> (<link linkend="_class_timer">uint16_t</link> <link linkend="_class_timer">u16timeout</link>)</para>

<para>write communication watch-dog timer </para>
</listitem>
        </itemizedlist>
</simplesect>
<simplesect>
    <title>Public Attributes    </title>
        <itemizedlist>
            <listitem><para><link linkend="_class_timer">bool</link> <link linkend="_class_modbus_1a95d1ecc7954d18bc163e37a11825903c">debugSend</link></para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint8_t</link> <link linkend="_class_modbus_1a9b4c31171da45967a0fed3cf2bb3550a">rxBuffer</link> [<link linkend="__modbus_rtu_8h_1a1d5dab30b404fab91608086105afc78c">MAX_BUFFER</link>]</para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint8_t</link> <link linkend="_class_modbus_1a91f834220d86a5b275cedf5e355e1b31">rxSize</link></para>
</listitem>
        </itemizedlist>
</simplesect>
<simplesect>
    <title>Private Member Functions    </title>
        <itemizedlist>
            <listitem><para><link linkend="_class_timer">void</link> <link linkend="_group__buffer_1ga31da354e2d02145b8acb964adc1d4463">buildException</link> (<link linkend="_class_timer">uint8_t</link> <link linkend="_class_timer">u8exception</link>)</para>

<para>This method builds an exception message. </para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint16_t</link> <link linkend="_group__buffer_1ga29fedf508a0c8c795baf07949aa76c03">calcCRC</link> (<link linkend="_class_timer">uint8_t</link> <link linkend="_class_timer">u8length</link>)</para>

<para>This method calculates CRC. </para>
</listitem>
            <listitem><para><link linkend="_class_timer">void</link> <link linkend="_group__register_1ga2a7a9e939cff1116b994169c5f9bd8b3">get_FC1</link> ()</para>
</listitem>
            <listitem><para><link linkend="_class_timer">void</link> <link linkend="_group__register_1ga514a0d8e5c7092eb37feafff5f88c32d">get_FC3</link> ()</para>
</listitem>
            <listitem><para><link linkend="_class_timer">int8_t</link> <link linkend="_group__buffer_1gacdd8ac1b4e6283eb2adddaf182957d55">getRxBuffer</link> ()</para>

<para>This method moves Serial buffer data to the <link linkend="_class_modbus">Modbus</link> au8Buffer. </para>
</listitem>
            <listitem><para><link linkend="_class_timer">void</link> <link linkend="_class_modbus_1a9e36e42bfe022b4badb20c9be395c76f">init</link> (<link linkend="_class_timer">uint8_t</link> <link linkend="_class_modbus_1a9240505a875fee9236a95942f277314a">u8id</link>)</para>
</listitem>
            <listitem><para><link linkend="_class_timer">void</link> <link linkend="_class_modbus_1ae69db5068e6b3263370ef581c44e2fcf">init</link> (<link linkend="_class_timer">uint8_t</link> <link linkend="_class_modbus_1a9240505a875fee9236a95942f277314a">u8id</link>, <link linkend="_class_timer">uint8_t</link> <link linkend="_class_modbus_1ab85bd5f2f1a838e8fcab90c33f3f1413">u8serno</link>, <link linkend="_class_timer">uint8_t</link> <link linkend="_class_modbus_1abe18dfae3b794dda457cf13da721f140">u8txenpin</link>)</para>
</listitem>
            <listitem><para><link linkend="_class_timer">int8_t</link> <link linkend="_group__discrete_1ga59249a64ac68f7256e0c7216a31c5f26">process_FC1</link> (<link linkend="_class_timer">uint16_t</link> *<link linkend="_class_timer">regs</link>, <link linkend="_class_timer">uint8_t</link> <link linkend="_class_timer">u8size</link>)</para>

<para>This method processes functions 1 &amp; 2 This method reads a bit array and transfers it to the master. </para>
</listitem>
            <listitem><para><link linkend="_class_timer">int8_t</link> <link linkend="_group__discrete_1ga5096136ca893481f7007cf82693f655c">process_FC15</link> (<link linkend="_class_timer">uint16_t</link> *<link linkend="_class_timer">regs</link>, <link linkend="_class_timer">uint8_t</link> <link linkend="_class_timer">u8size</link>)</para>

<para>This method processes function 15 This method writes a bit array assigned by the master. </para>
</listitem>
            <listitem><para><link linkend="_class_timer">int8_t</link> <link linkend="_group__register_1ga4f33c9700ab5a7b05a711641d612ec70">process_FC16</link> (<link linkend="_class_timer">uint16_t</link> *<link linkend="_class_timer">regs</link>, <link linkend="_class_timer">uint8_t</link> <link linkend="_class_timer">u8size</link>)</para>

<para>This method processes function 16 This method writes a word array assigned by the master. </para>
</listitem>
            <listitem><para><link linkend="_class_timer">int8_t</link> <link linkend="_group__register_1ga702307c8fd1e30cae8496b3319e31e1b">process_FC3</link> (<link linkend="_class_timer">uint16_t</link> *<link linkend="_class_timer">regs</link>, <link linkend="_class_timer">uint8_t</link> <link linkend="_class_timer">u8size</link>)</para>

<para>This method processes functions 3 &amp; 4 This method reads a word array and transfers it to the master. </para>
</listitem>
            <listitem><para><link linkend="_class_timer">int8_t</link> <link linkend="_group__discrete_1gabfcb69dd487f493ecf2ef508ff933f5f">process_FC5</link> (<link linkend="_class_timer">uint16_t</link> *<link linkend="_class_timer">regs</link>, <link linkend="_class_timer">uint8_t</link> <link linkend="_class_timer">u8size</link>)</para>

<para>This method processes function 5 This method writes a value assigned by the master to a single bit. </para>
</listitem>
            <listitem><para><link linkend="_class_timer">int8_t</link> <link linkend="_group__register_1ga4d97e559e05393f7d65cd3d548da4d78">process_FC6</link> (<link linkend="_class_timer">uint16_t</link> *<link linkend="_class_timer">regs</link>, <link linkend="_class_timer">uint8_t</link> <link linkend="_class_timer">u8size</link>)</para>

<para>This method processes function 6 This method writes a value assigned by the master to a single word. </para>
</listitem>
            <listitem><para><link linkend="_class_timer">void</link> <link linkend="_group__buffer_1gaea3cc68f4b7f9e0a5715fdbef60fc9fb">sendTxBuffer</link> ()</para>

<para>This method transmits au8Buffer to Serial line. Only if u8txenpin != 0, there is a flow handling in order to keep the RS485 transceiver in output state as long as the message is being sent. This is done with UCSRxA register. The CRC is appended to the buffer before starting to send it. </para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint8_t</link> <link linkend="_group__buffer_1ga3648d41197ad3656bbd69b6b00cd7ae4">validateAnswer</link> ()</para>

<para>This method validates master incoming messages. </para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint8_t</link> <link linkend="_group__buffer_1gad111ae134be3bf012fc86983c32edeff">validateRequest</link> ()</para>

<para>This method validates slave incoming messages. </para>
</listitem>
        </itemizedlist>
</simplesect>
<simplesect>
    <title>Private Attributes    </title>
        <itemizedlist>
            <listitem><para><link linkend="_class_timer">uint16_t</link> * <link linkend="_class_modbus_1aad1f17271ce90543cac627d0ebe5a5c4">au16regs</link></para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint8_t</link> <link linkend="_class_modbus_1ab3145a748946de0efd307d4ed426568a">au8Buffer</link> [<link linkend="__modbus_rtu_8h_1a1d5dab30b404fab91608086105afc78c">MAX_BUFFER</link>]</para>
</listitem>
            <listitem><para><link linkend="_structmodbus__t">modbus_t</link> * <link linkend="_class_modbus_1ac0a0991490a3f8a62b0221dd708847f5">currentQuery</link></para>
</listitem>
            <listitem><para><link linkend="_class_timer">HardwareSerial</link> * <link linkend="_class_modbus_1a70c1c3792bdae6467fee49c11d4e02cd">port</link></para>

<para>Pointer to Serial class object. </para>
</listitem>
            <listitem><para><link linkend="_class_timer">SoftwareSerial</link> * <link linkend="_class_modbus_1ac3d0425298a68c9d8d0c393fe0dde93e">softPort</link></para>

<para>Pointer to SoftwareSerial class object. </para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint16_t</link> <link linkend="_class_modbus_1a862d944031133b170634809b94f35987">u16errCnt</link></para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint16_t</link> <link linkend="_class_modbus_1a779648af69bddfaa6a4f4bf503bba9fb">u16InCnt</link></para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint16_t</link> <link linkend="_class_modbus_1a8530422c299c3b458e5a47c25daf0d08">u16OutCnt</link></para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint16_t</link> <link linkend="_class_modbus_1afd8d4dd6e6108795fb96d453e55cb973">u16timeOut</link></para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint32_t</link> <link linkend="_class_modbus_1a4fa2698d046b56b6b8ebb17d2279804f">u32time</link></para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint32_t</link> <link linkend="_class_modbus_1af7e891747f68eb03ba11e4cbe9110b3d">u32timeOut</link></para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint8_t</link> <link linkend="_class_modbus_1aedd76072b826bf9aa8054e4dc2b46c13">u8BufferSize</link></para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint8_t</link> <link linkend="_class_modbus_1a9240505a875fee9236a95942f277314a">u8id</link></para>

<para>0=master, 1..247=slave number </para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint8_t</link> <link linkend="_class_modbus_1a3f64a088bb97e0c4ed84f14c4d9b35c6">u8lastError</link></para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint8_t</link> <link linkend="_class_modbus_1ad6c116df75d8076ba5ad81741a168853">u8lastRec</link></para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint8_t</link> <link linkend="_class_modbus_1abb7977cba25a0d19800b4f7251295211">u8regsize</link></para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint8_t</link> <link linkend="_class_modbus_1ab85bd5f2f1a838e8fcab90c33f3f1413">u8serno</link></para>

<para>serial port: 0-Serial, 1..3-Serial1..Serial3; 4: use software serial </para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint8_t</link> <link linkend="_class_modbus_1a42196587df5634599b015d1e627f0f29">u8state</link></para>
</listitem>
            <listitem><para><link linkend="_class_timer">uint8_t</link> <link linkend="_class_modbus_1abe18dfae3b794dda457cf13da721f140">u8txenpin</link></para>

<para>flow control pin: 0=USB or RS-232 mode, &gt;0=RS-485 mode </para>
</listitem>
        </itemizedlist>
</simplesect>
<section>
<title>Detailed Description</title>

<para>Arduino class library for communicating with <link linkend="_class_modbus">Modbus</link> devices over USB/RS232/485 (via RTU protocol). </para>
<para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00152">152</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
</section>
<section>
<title>Constructor &amp; Destructor Documentation</title>
<anchor xml:id="_class_modbus_1afbbf7c81565d8e1ea1cd5890a96e7507"/><section>
    <title>Modbus()<computeroutput>[1/3]</computeroutput></title>
<indexterm><primary>Modbus</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>Modbus</secondary></indexterm>
<para><computeroutput>Modbus::Modbus (<link linkend="_class_timer">uint8_t</link> u8id, <link linkend="_class_timer">uint8_t</link> u8serno)</computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00245">245</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
<programlisting linenumbering="unnumbered">00246 {
00247 &#32;&#32;&#32;&#32;<link linkend="_class_modbus_1ae69db5068e6b3263370ef581c44e2fcf">init</link>(<link linkend="_class_modbus_1a9240505a875fee9236a95942f277314a">u8id</link>,&#32;<link linkend="_class_modbus_1ab85bd5f2f1a838e8fcab90c33f3f1413">u8serno</link>,&#32;0);
00248 }
</programlisting></section>
<anchor xml:id="_class_modbus_1a5e23a7b669d0c2d5be1c0054c7c54dca"/><section>
    <title>Modbus()<computeroutput>[2/3]</computeroutput></title>
<indexterm><primary>Modbus</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>Modbus</secondary></indexterm>
<para><computeroutput>Modbus::Modbus (<link linkend="_class_timer">uint8_t</link> u8id, <link linkend="_class_timer">uint8_t</link> u8serno, <link linkend="_class_timer">uint8_t</link> u8txenpin)</computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00263">263</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
<programlisting linenumbering="unnumbered">00264 {
00265 &#32;&#32;&#32;&#32;<link linkend="_class_modbus_1ae69db5068e6b3263370ef581c44e2fcf">init</link>(<link linkend="_class_modbus_1a9240505a875fee9236a95942f277314a">u8id</link>,&#32;<link linkend="_class_modbus_1ab85bd5f2f1a838e8fcab90c33f3f1413">u8serno</link>,&#32;<link linkend="_class_modbus_1abe18dfae3b794dda457cf13da721f140">u8txenpin</link>);
00266 }
</programlisting></section>
<anchor xml:id="_class_modbus_1a4ec3b867af1a86b15d1ef2beb9c7678b"/><section>
    <title>Modbus()<computeroutput>[3/3]</computeroutput></title>
<indexterm><primary>Modbus</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>Modbus</secondary></indexterm>
<para><computeroutput>Modbus::Modbus (<link linkend="_class_timer">uint8_t</link> u8id)</computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00282">282</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
<programlisting linenumbering="unnumbered">00283 {
00284 &#32;&#32;&#32;&#32;<link linkend="_class_modbus_1ae69db5068e6b3263370ef581c44e2fcf">init</link>(<link linkend="_class_modbus_1a9240505a875fee9236a95942f277314a">u8id</link>);
00285 }
</programlisting></section>
</section>
<section>
<title>Member Function Documentation</title>
<anchor xml:id="_class_modbus_1a4f9673a3d113c49af69cb87b030ef099"/><section>
    <title>begin()</title>
<indexterm><primary>begin</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>begin</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">void</link> Modbus::begin ( )</computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00450">450</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
<programlisting linenumbering="unnumbered">00451 {
00452 &#32;&#32;&#32;&#32;<link linkend="_class_modbus_1a4f9673a3d113c49af69cb87b030ef099">begin</link>(19200);
00453 }
</programlisting></section>
<anchor xml:id="_class_modbus_1a6b1d57b17b9f398db73d3a5e0eea4f67"/><section>
    <title>clearError()</title>
<indexterm><primary>clearError</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>clearError</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">void</link> Modbus::clearError ( )</computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00550">550</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
<programlisting linenumbering="unnumbered">00551 {
00552 &#32;&#32;&#32;&#32;<link linkend="_class_modbus_1a862d944031133b170634809b94f35987">u16errCnt</link>&#32;=&#32;0;
00553 }
</programlisting></section>
<anchor xml:id="_class_modbus_1a0d80101b650344c712a085c4bb005c4c"/><section>
    <title>end()</title>
<indexterm><primary>end</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>end</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">void</link> Modbus::end ( )</computeroutput></para><para>

<para>finish any communication and release serial communication port </para>
</para>
</section>
<anchor xml:id="_class_modbus_1ac860024db3117a2ef907d0325b2fb7a1"/><section>
    <title>getTimeOut()</title>
<indexterm><primary>getTimeOut</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>getTimeOut</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">uint16_t</link> Modbus::getTimeOut ( )</computeroutput></para><para>

<para>get communication watch-dog timer value </para>
</para>
</section>
<anchor xml:id="_class_modbus_1a9e36e42bfe022b4badb20c9be395c76f"/><section>
    <title>init()<computeroutput>[1/2]</computeroutput></title>
<indexterm><primary>init</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>init</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">void</link> Modbus::init (<link linkend="_class_timer">uint8_t</link> u8id)<computeroutput>[private]</computeroutput></computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00890">890</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
<programlisting linenumbering="unnumbered">00891 {
00892 &#32;&#32;&#32;&#32;this-&gt;u8id&#32;=&#32;<link linkend="_class_modbus_1a9240505a875fee9236a95942f277314a">u8id</link>;
00893 &#32;&#32;&#32;&#32;this-&gt;<link linkend="_class_modbus_1ab85bd5f2f1a838e8fcab90c33f3f1413">u8serno</link>&#32;=&#32;4;
00894 &#32;&#32;&#32;&#32;this-&gt;<link linkend="_class_modbus_1abe18dfae3b794dda457cf13da721f140">u8txenpin</link>&#32;=&#32;0;
00895 &#32;&#32;&#32;&#32;this-&gt;<link linkend="_class_modbus_1afd8d4dd6e6108795fb96d453e55cb973">u16timeOut</link>&#32;=&#32;1000;
00896 }
</programlisting></section>
<anchor xml:id="_class_modbus_1ae69db5068e6b3263370ef581c44e2fcf"/><section>
    <title>init()<computeroutput>[2/2]</computeroutput></title>
<indexterm><primary>init</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>init</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">void</link> Modbus::init (<link linkend="_class_timer">uint8_t</link> u8id, <link linkend="_class_timer">uint8_t</link> u8serno, <link linkend="_class_timer">uint8_t</link> u8txenpin)<computeroutput>[private]</computeroutput></computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00879">879</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
<programlisting linenumbering="unnumbered">00880 {
00881 &#32;&#32;&#32;&#32;this-&gt;u8id&#32;=&#32;<link linkend="_class_modbus_1a9240505a875fee9236a95942f277314a">u8id</link>;
00882 &#32;&#32;&#32;&#32;this-&gt;u8serno&#32;=&#32;(<link linkend="_class_modbus_1ab85bd5f2f1a838e8fcab90c33f3f1413">u8serno</link>&#32;&gt;&#32;3)&#32;?&#32;0&#32;:&#32;<link linkend="_class_modbus_1ab85bd5f2f1a838e8fcab90c33f3f1413">u8serno</link>;
00883 
00884 &#32;&#32;&#32;&#32;<emphasis role="comment">//&#32;this-&gt;u8txenpin&#32;=&#32;u8txenpin;</emphasis>
00885 &#32;&#32;&#32;&#32;this-&gt;u8txenpin&#32;=&#32;2;&#32;<emphasis role="comment">//&#32;Ignore&#32;input&#32;parameter&#32;u8txenpin&#32;and&#32;hardcode&#32;2&#32;for&#32;compatibility</emphasis>
00886 
00887 &#32;&#32;&#32;&#32;this-&gt;<link linkend="_class_modbus_1afd8d4dd6e6108795fb96d453e55cb973">u16timeOut</link>&#32;=&#32;1000;
00888 }
</programlisting></section>
<anchor xml:id="_class_modbus_1a03476b6fe86b385e9ac29d9cf4ebb87d"/><section>
    <title>isLocked()</title>
<indexterm><primary>isLocked</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>isLocked</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">bool</link> Modbus::isLocked ( )</computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00344">344</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
<programlisting linenumbering="unnumbered">00345 {
00346 &#32;&#32;&#32;&#32;<emphasis role="keywordflow">return</emphasis>&#32;<link linkend="_class_modbus_1ac0a0991490a3f8a62b0221dd708847f5">currentQuery</link>&#32;&amp;&amp;&#32;(<link linkend="_class_modbus_1ac0a0991490a3f8a62b0221dd708847f5">currentQuery</link>-&gt;<link linkend="_structmodbus__t_1a4d2dcba18b650e92afaf993f02682359">flags</link>&#32;==&#32;<link linkend="_firmware__v2__cm_2enums_8h_1a3d97fc2e877973a0407bf1f83dbb29b1ae6b930c6e3d5d7213f59d118b8221a67">QUERY_STATE::QUEUED</link>&#32;||&#32;<link linkend="_class_modbus_1ac0a0991490a3f8a62b0221dd708847f5">currentQuery</link>-&gt;<link linkend="_structmodbus__t_1a4d2dcba18b650e92afaf993f02682359">flags</link>&#32;==&#32;<link linkend="_firmware__v2__cm_2enums_8h_1a3d97fc2e877973a0407bf1f83dbb29b1af29619d9240b20155ab50bc3beb3947b">QUERY_STATE::SENT</link>);
00347 }
</programlisting></section>
</section>
<section>
<title>Member Data Documentation</title>
<anchor xml:id="_class_modbus_1aad1f17271ce90543cac627d0ebe5a5c4"/><section>
    <title>au16regs</title>
<indexterm><primary>au16regs</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>au16regs</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">uint16_t</link>* Modbus::au16regs<computeroutput>[private]</computeroutput></computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00165">165</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
</section>
<anchor xml:id="_class_modbus_1ab3145a748946de0efd307d4ed426568a"/><section>
    <title>au8Buffer</title>
<indexterm><primary>au8Buffer</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>au8Buffer</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">uint8_t</link> Modbus::au8Buffer[<link linkend="__modbus_rtu_8h_1a1d5dab30b404fab91608086105afc78c">MAX_BUFFER</link>]<computeroutput>[private]</computeroutput></computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00162">162</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
</section>
<anchor xml:id="_class_modbus_1ac0a0991490a3f8a62b0221dd708847f5"/><section>
    <title>currentQuery</title>
<indexterm><primary>currentQuery</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>currentQuery</secondary></indexterm>
<para><computeroutput><link linkend="_structmodbus__t">modbus_t</link>* Modbus::currentQuery<computeroutput>[private]</computeroutput></computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00178">178</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
</section>
<anchor xml:id="_class_modbus_1a95d1ecc7954d18bc163e37a11825903c"/><section>
    <title>debugSend</title>
<indexterm><primary>debugSend</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>debugSend</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">bool</link> Modbus::debugSend</computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00214">214</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
</section>
<anchor xml:id="_class_modbus_1a70c1c3792bdae6467fee49c11d4e02cd"/><section>
    <title>port</title>
<indexterm><primary>port</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>port</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">HardwareSerial</link>* Modbus::port<computeroutput>[private]</computeroutput></computeroutput></para><para>

<para>Pointer to Serial class object. </para>
</para>
<para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00155">155</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
</section>
<anchor xml:id="_class_modbus_1a9b4c31171da45967a0fed3cf2bb3550a"/><section>
    <title>rxBuffer</title>
<indexterm><primary>rxBuffer</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>rxBuffer</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">uint8_t</link> Modbus::rxBuffer[<link linkend="__modbus_rtu_8h_1a1d5dab30b404fab91608086105afc78c">MAX_BUFFER</link>]</computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00217">217</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
</section>
<anchor xml:id="_class_modbus_1a91f834220d86a5b275cedf5e355e1b31"/><section>
    <title>rxSize</title>
<indexterm><primary>rxSize</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>rxSize</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">uint8_t</link> Modbus::rxSize</computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00216">216</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
</section>
<anchor xml:id="_class_modbus_1ac3d0425298a68c9d8d0c393fe0dde93e"/><section>
    <title>softPort</title>
<indexterm><primary>softPort</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>softPort</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">SoftwareSerial</link>* Modbus::softPort<computeroutput>[private]</computeroutput></computeroutput></para><para>

<para>Pointer to SoftwareSerial class object. </para>
</para>
<para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00156">156</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
</section>
<anchor xml:id="_class_modbus_1a862d944031133b170634809b94f35987"/><section>
    <title>u16errCnt</title>
<indexterm><primary>u16errCnt</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>u16errCnt</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">uint16_t</link> Modbus::u16errCnt<computeroutput>[private]</computeroutput></computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00166">166</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
</section>
<anchor xml:id="_class_modbus_1a779648af69bddfaa6a4f4bf503bba9fb"/><section>
    <title>u16InCnt</title>
<indexterm><primary>u16InCnt</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>u16InCnt</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">uint16_t</link> Modbus::u16InCnt<computeroutput>[private]</computeroutput></computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00166">166</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
</section>
<anchor xml:id="_class_modbus_1a8530422c299c3b458e5a47c25daf0d08"/><section>
    <title>u16OutCnt</title>
<indexterm><primary>u16OutCnt</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>u16OutCnt</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">uint16_t</link> Modbus::u16OutCnt<computeroutput>[private]</computeroutput></computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00166">166</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
</section>
<anchor xml:id="_class_modbus_1afd8d4dd6e6108795fb96d453e55cb973"/><section>
    <title>u16timeOut</title>
<indexterm><primary>u16timeOut</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>u16timeOut</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">uint16_t</link> Modbus::u16timeOut<computeroutput>[private]</computeroutput></computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00167">167</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
</section>
<anchor xml:id="_class_modbus_1a4fa2698d046b56b6b8ebb17d2279804f"/><section>
    <title>u32time</title>
<indexterm><primary>u32time</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>u32time</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">uint32_t</link> Modbus::u32time<computeroutput>[private]</computeroutput></computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00168">168</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
</section>
<anchor xml:id="_class_modbus_1af7e891747f68eb03ba11e4cbe9110b3d"/><section>
    <title>u32timeOut</title>
<indexterm><primary>u32timeOut</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>u32timeOut</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">uint32_t</link> Modbus::u32timeOut<computeroutput>[private]</computeroutput></computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00168">168</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
</section>
<anchor xml:id="_class_modbus_1aedd76072b826bf9aa8054e4dc2b46c13"/><section>
    <title>u8BufferSize</title>
<indexterm><primary>u8BufferSize</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>u8BufferSize</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">uint8_t</link> Modbus::u8BufferSize<computeroutput>[private]</computeroutput></computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00163">163</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
</section>
<anchor xml:id="_class_modbus_1a9240505a875fee9236a95942f277314a"/><section>
    <title>u8id</title>
<indexterm><primary>u8id</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>u8id</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">uint8_t</link> Modbus::u8id<computeroutput>[private]</computeroutput></computeroutput></para><para>

<para>0=master, 1..247=slave number </para>
</para>
<para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00157">157</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
</section>
<anchor xml:id="_class_modbus_1a3f64a088bb97e0c4ed84f14c4d9b35c6"/><section>
    <title>u8lastError</title>
<indexterm><primary>u8lastError</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>u8lastError</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">uint8_t</link> Modbus::u8lastError<computeroutput>[private]</computeroutput></computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00161">161</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
</section>
<anchor xml:id="_class_modbus_1ad6c116df75d8076ba5ad81741a168853"/><section>
    <title>u8lastRec</title>
<indexterm><primary>u8lastRec</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>u8lastRec</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">uint8_t</link> Modbus::u8lastRec<computeroutput>[private]</computeroutput></computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00164">164</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
</section>
<anchor xml:id="_class_modbus_1abb7977cba25a0d19800b4f7251295211"/><section>
    <title>u8regsize</title>
<indexterm><primary>u8regsize</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>u8regsize</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">uint8_t</link> Modbus::u8regsize<computeroutput>[private]</computeroutput></computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00169">169</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
</section>
<anchor xml:id="_class_modbus_1ab85bd5f2f1a838e8fcab90c33f3f1413"/><section>
    <title>u8serno</title>
<indexterm><primary>u8serno</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>u8serno</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">uint8_t</link> Modbus::u8serno<computeroutput>[private]</computeroutput></computeroutput></para><para>

<para>serial port: 0-Serial, 1..3-Serial1..Serial3; 4: use software serial </para>
</para>
<para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00158">158</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
</section>
<anchor xml:id="_class_modbus_1a42196587df5634599b015d1e627f0f29"/><section>
    <title>u8state</title>
<indexterm><primary>u8state</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>u8state</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">uint8_t</link> Modbus::u8state<computeroutput>[private]</computeroutput></computeroutput></para><para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00160">160</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
</section>
<anchor xml:id="_class_modbus_1abe18dfae3b794dda457cf13da721f140"/><section>
    <title>u8txenpin</title>
<indexterm><primary>u8txenpin</primary><secondary>Modbus</secondary></indexterm>
<indexterm><primary>Modbus</primary><secondary>u8txenpin</secondary></indexterm>
<para><computeroutput><link linkend="_class_timer">uint8_t</link> Modbus::u8txenpin<computeroutput>[private]</computeroutput></computeroutput></para><para>

<para>flow control pin: 0=USB or RS-232 mode, &gt;0=RS-485 mode </para>
</para>
<para>
Definition at line <link linkend="__modbus_rtu_8h_source_1l00159">159</link> of file <link linkend="__modbus_rtu_8h_source">ModbusRtu.h</link>.</para>
</section>
<para>
The documentation for this class was generated from the following file:</para>
<link linkend="__modbus_rtu_8h">ModbusRtu.h</link></section>
</section>
