My Project
 All Classes Files Functions Variables Enumerations Enumerator Friends Macros Pages
SerialClient.h
Go to the documentation of this file.
1 #ifndef GCP_UTIL_SERIALCLIENT_H
2 #define GCP_UTIL_SERIALCLIENT_H
3 
11 #include "gcp/util/common/Port.h"
12 
13 #include <termios.h>
14 
15 namespace gcp {
16  namespace util {
17 
18  class SerialClient : public Port {
19  public:
20 
24  SerialClient(std::string port="/dev/ttyS0", int baudRate=9600,
25  bool canonical=false, bool sevenBit=false);
26 
30  virtual ~SerialClient();
31 
35  void setPort(std::string port);
36 
40  void setBaudRate(int baudRate);
41 
45  int connect();
46 
50  void disconnect();
51 
52  std::string portName();
53 
54  void setFd(int fd);
55 
56  private:
57 
58  //------------------------------------------------------------
59  // Static arrays
60  //------------------------------------------------------------
61 
62  bool ownFd_;
63 
67  struct BaudRate {
68  speed_t speed;
69  int baudRate;
70  };
71 
75  static BaudRate baudRates_[];
76 
80  static unsigned nBaudRates_;
81 
85  std::string portName_;
86 
90  BaudRate* baudRate_;
91 
92 
96  bool canonical_;
97 
101  bool sevenBit_;
102 
103  }; // End class SerialClient
104 
105  } // End namespace util
106 } // End namespace gcp
107 
108 
109 
110 
111 #endif // End #ifndef GCP_UTIL_SERIALCLIENT_H
void disconnect()
Definition: SerialClient.cc:166
Definition: SerialClient.h:18
SerialClient(std::string port="/dev/ttyS0", int baudRate=9600, bool canonical=false, bool sevenBit=false)
Definition: SerialClient.cc:38
Definition: Port.h:19
virtual ~SerialClient()
Definition: SerialClient.cc:53
void setBaudRate(int baudRate)
Definition: SerialClient.cc:61
void setPort(std::string port)
int connect()
Definition: SerialClient.cc:90