UniSet  2.7.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  void setSpeed( ComPort::Speed s );
32  void setSpeed( const std::string& s );
33  ComPort::Speed getSpeed();
34 
35  void setParity( ComPort::Parity parity );
36  void setCharacterSize( ComPort::CharacterSize csize );
37  void setStopBits( ComPort::StopBits sBit );
38 
39  timeout_t getTimeout() const;
40 
41  protected:
42 
49  virtual size_t getNextData( unsigned char* buf, size_t len ) override;
50 
52  virtual void setChannelTimeout( timeout_t msec ) override;
53 
54  virtual ModbusRTU::mbErrCode sendData( unsigned char* buf, size_t len ) override;
55 
57  virtual ModbusRTU::mbErrCode query( ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusMessage& msg,
58  ModbusRTU::ModbusMessage& reply, timeout_t timeout ) override;
59 
60 
61  std::string dev;
63  bool myport;
64 
65  private:
66  };
67  // -------------------------------------------------------------------------
68 } // end of namespace uniset
69 // -------------------------------------------------------------------------
70 #endif // ModbusRTUMaster_H_
71 // -------------------------------------------------------------------------
Definition: ModbusRTUMaster.h:20
Definition: CallbackTimer.h:29
virtual void setChannelTimeout(timeout_t msec) override
Definition: ModbusRTUMaster.cc:146
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:167
virtual size_t getNextData(unsigned char *buf, size_t len) override
Definition: ModbusRTUMaster.cc:140
ComPort * port
Definition: ModbusRTUMaster.h:62
std::string dev
Definition: ModbusRTUMaster.h:61
Definition: ModbusTypes.h:192