<!DOCTYPE html>
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Chtěl jsem udělat funkci, která zpracovává paket, který může
      dostat buď po ethernetu nebo po sériovém portu. V obou případech
      je to modbus-TCP. Vymyslel jsem takovouto konstrukci, ale asi by
      to šlo nějak líp, ale nic jiného mě nenapadlo.</p>
    <p>Nadeklaruji</p>
    <div
style="color: #4e5b61;background-color: #ffffff;font-family: Consolas, 'Courier New', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;"><div><span
    style="color: #4e5b61;">EthernetClient  ethClient;</span><span
    style="color: #95a5a6;">      // Ethernetový klient </span></div><div><span
    style="color: #4e5b61;">HardwareSerial* serialClient;</span><span
    style="color: #95a5a6;">   // Klient přes sériový port</span></div>
</div>
    <p></p>
    <p>pak přiřadím</p>
    <div
style="color: #4e5b61;background-color: #ffffff;font-family: Consolas, 'Courier New', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;"><div><span
    style="color: #4e5b61;">  serialClient = &Serial2;</span><span
    style="color: #95a5a6;">       // Dynamicky volíme sériový port2</span></div>
</div>
    <p></p>
    <p>funkci lze volat</p>
    <div
style="color: #4e5b61;background-color: #ffffff;font-family: Consolas, 'Courier New', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;"><div><span
    style="color: #4e5b61;"> </span><span style="color: #d35400;">processModbusPacket</span><span
    style="color: #434f54;">(</span><span style="color: #4e5b61;">ethClient</span><span
    style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span><span
    style="color: #95a5a6;">  // Ethernet Modbus-TCP</span></div></div>
    <p>nebo</p>
    <div
style="color: #4e5b61;background-color: #ffffff;font-family: Consolas, 'Courier New', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;"><div><span
    style="color: #4e5b61;"> </span><span style="color: #d35400;">processModbusPacket</span><span
    style="color: #434f54;">(</span><span style="color: #4e5b61;">*serialClient</span><span
    style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span><span
    style="color: #95a5a6;">       // Modbus-TCP přes RS232</span></div></div>
    <p>a vypadá takto:</p>
    <div
style="color: #4e5b61;background-color: #ffffff;font-family: Consolas, 'Courier New', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;"><div><span
    style="color: #4e5b61;">  </span><span style="color: #00979d;">void</span><span
    style="color: #4e5b61;"> </span><span style="color: #d35400;">processModbusPacket</span><span
    style="color: #434f54;">(</span><span style="color: #4e5b61;">Stream </span><span
    style="color: #00979d;">&</span><span style="color: #434f54;">client)</span><span
    style="color: #4e5b61;"> </span><span style="color: #434f54;">{</span></div><div>    client.write()    // nebo jakýkoli podobný příkaz
</div><div><span style="color: #4e5b61;">  }
</span></div></div>
    <p></p>
    <p>jde to líp?<br>
    </p>
    <pre class="moz-signature" cols="72">-- 

Martin Záruba</pre>
  </body>
</html>