趣味で作ってるロボット用ソフトウェア
 All Classes Files Functions Enumerations Enumerator Friends Pages
Serial.h
Go to the documentation of this file.
1 #ifndef HRK_SERIAL_H
2 #define HRK_SERIAL_H
3 
9 #include <memory>
10 #include <string>
11 #include <vector>
12 #include "Connection.h"
13 
14 
15 namespace hrk
16 {
18  class Serial : public Connection
19  {
20  public:
21  Serial();
22  ~Serial();
23 
29  static std::vector<std::string> find_ports();
30 
31  static std::string port_driver_name(const std::string& port_name);
32 
42  bool open(const std::string& device_name, long baudrate);
43 
44  const char* what() const;
45  bool change_baudrate(long baudrate);
46  bool is_open() const;
47  void close();
48  int write(const char* data, size_t data_size);
49  int read(char* data, size_t max_data_size, int timeout);
50  void ungetc(int ch);
51 
52  private:
53  Serial(const Serial& rhs);
54  Serial& operator = (const Serial& rhs);
55 
56  struct pImpl;
57  std::auto_ptr<pImpl> pimpl;
58  };
59 }
60 
61 #endif
接続のインターフェース
bool is_open() const
受信
int read(char *data, size_t max_data_size, int timeout)
データの受信
void ungetc(int ch)
1文字だけ受信バッファに書き戻す
シリアル接続クラス
Definition: Serial.h:18
接続のインターフェース
Definition: Connection.h:21
const char * what() const
状態を示すメッセージを返す
bool open(const std::string &device_name, long baudrate)
接続を開く
bool change_baudrate(long baudrate)
ボーレートの変更
void close()
接続を閉じる
int write(const char *data, size_t data_size)
データの送信
static std::vector< std::string > find_ports()
認識されているポート一覧を返す