UniSet  2.6.0
ModbusRTUMaster.h
1 // -------------------------------------------------------------------------
2 #ifndef ModbusRTUMaster_H_
3 #define ModbusRTUMaster_H_
4 // -------------------------------------------------------------------------
5 #include <string>
6 #include "Mutex.h"
7 #include "Debug.h"
8 #include "Configuration.h"
9 #include "PassiveTimer.h"
10 #include "ComPort.h"
11 #include "ModbusTypes.h"
12 #include "ModbusClient.h"
13 //-----------------------------------------------------------------------------
14 namespace uniset
15 {
16  // -------------------------------------------------------------------------
21  public ModbusClient
22  {
23  public:
24 
25  ModbusRTUMaster( ComPort* com );
26  ModbusRTUMaster( const std::string& dev, bool use485 = false, bool tr_ctl = false );
27  virtual ~ModbusRTUMaster();
28 
29  virtual void cleanupChannel() override
30  {
31  if( port ) port->cleanupChannel();
32  }
33 
34  void setSpeed( ComPort::Speed s );
35  void setSpeed( const std::string& s );
36  ComPort::Speed getSpeed();
37 
38  void setParity( ComPort::Parity parity );
39  void setCharacterSize( ComPort::CharacterSize csize );
40  void setStopBits( ComPort::StopBits sBit );
41 
42  int getTimeout();
43 
44  protected:
45 
52  virtual size_t getNextData( unsigned char* buf, size_t len ) override;
53 
55  virtual void setChannelTimeout( timeout_t msec ) override;
56 
57  virtual ModbusRTU::mbErrCode sendData( unsigned char* buf, size_t len ) override;
58 
60  virtual ModbusRTU::mbErrCode query( ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusMessage& msg,
61  ModbusRTU::ModbusMessage& reply, timeout_t timeout ) override;
62 
63 
64  std::string dev;
66  bool myport;
67 
68  private:
69  };
70  // -------------------------------------------------------------------------
71 } // end of namespace uniset
72 // -------------------------------------------------------------------------
73 #endif // ModbusRTUMaster_H_
74 // -------------------------------------------------------------------------
Definition: ModbusRTUMaster.h:20
Definition: CallbackTimer.h:29
virtual void setChannelTimeout(timeout_t msec) override
Definition: ModbusRTUMaster.cc:136
Definition: ModbusClient.h:18
Definition: ComPort.h:29
virtual ModbusRTU::mbErrCode query(ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusMessage &msg, ModbusRTU::ModbusMessage &reply, timeout_t timeout) override
Definition: ModbusRTUMaster.cc:157
virtual size_t getNextData(unsigned char *buf, size_t len) override
Definition: ModbusRTUMaster.cc:130
ComPort * port
Definition: ModbusRTUMaster.h:65
std::string dev
Definition: ModbusRTUMaster.h:64
Definition: ModbusTypes.h:190