]> rtime.felk.cvut.cz Git - eurobot/public.git/blob - src/hokuyo/lib/serial_ctrl.h
Add unified ORTE topic type for LIDAR scan data
[eurobot/public.git] / src / hokuyo / lib / serial_ctrl.h
1 #ifndef QRK_C_SERIAL_CTRL_H
2 #define QRK_C_SERIAL_CTRL_H
3
4 /*!
5   \file
6   \brief \83V\83\8a\83A\83\8b\92Ê\90M
7
8   Serial Communication Interface \90§\8cä
9
10   \author Satofumi KAMIMURA
11
12   $Id: serial_ctrl.h 1553 2009-11-29 15:47:05Z satofumi $
13 */
14
15 #include "serial_t.h"
16
17
18 extern void serial_initialize(serial_t *serial);
19
20
21 /*!
22   \brief \90Ú\91±
23
24   \param[in,out] serial \83V\83\8a\83A\83\8b\90§\8cä\82Ì\8d\\91¢\91Ì
25   \param[in] device \90Ú\91±\83f\83o\83C\83X
26   \param[in] baudrate \90Ú\91±\83{\81[\83\8c\81[\83g
27
28   \retval 0 \90³\8fí
29   \retval < 0 \83G\83\89\81[
30 */
31 extern int serial_connect(serial_t *serial, const char *device, long baudrate);
32
33
34 /*!
35   \brief \90Ø\92f
36
37   \param[in,out] serial \83V\83\8a\83A\83\8b\90§\8cä\82Ì\8d\\91¢\91Ì
38 */
39 extern void serial_disconnect(serial_t *serial);
40
41
42 /*!
43   \brief \90Ú\91±\92\86\82©\82ð\95Ô\82·
44
45   \param[in] serial \83V\83\8a\83A\83\8b\90§\8cä\82Ì\8d\\91¢\91Ì
46
47   \retval 1 \90Ú\91±\92\86
48   \retval 0 \90Ø\92f\92\86
49 */
50 extern int serial_isConnected(const serial_t *serial);
51
52
53 /*!
54   \brief \83{\81[\83\8c\81[\83g\82Ì\95Ï\8dX
55
56   \param[in,out] serial \83V\83\8a\83A\83\8b\90§\8cä\82Ì\8d\\91¢\91Ì
57   \param[in] baudrate \83{\81[\83\8c\81[\83g
58
59   \retval 0 \90³\8fí
60   \retval < 0 \83G\83\89\81[
61 */
62 extern int serial_setBaudrate(serial_t *serial, long baudrate);
63
64
65 /*!
66   \brief \91\97\90M
67
68   \param[in,out] serial \83V\83\8a\83A\83\8b\90§\8cä\82Ì\8d\\91¢\91Ì
69   \param[in] data \91\97\90M\83f\81[\83^
70   \param[in] data_size \91\97\90M\83T\83C\83Y
71
72   \retval >= 0 \91\97\90M\83T\83C\83Y
73   \retval < 0 \83G\83\89\81[
74 */
75 extern int serial_send(serial_t *serial, const char *data, int data_size);
76
77
78 /*!
79   \brief \8eó\90M
80
81   \param[in,out] serial \83V\83\8a\83A\83\8b\90§\8cä\82Ì\8d\\91¢\91Ì
82   \param[in] data \8eó\90M\83f\81[\83^\8ai\94[\83o\83b\83t\83@
83   \param[in] data_size_max \8eó\90M\83o\83b\83t\83@\82Ì\8dÅ\91å\83T\83C\83Y
84   \param[in] timeout \83^\83C\83\80\83A\83E\83g [msec]
85
86   \retval >= 0 \8eó\90M\83T\83C\83Y
87   \retval < 0 \83G\83\89\81[
88 */
89 extern int serial_recv(serial_t *serial,
90                        char *data, int data_size_max, int timeout);
91
92
93 /*!
94   \brief \8eó\90M\82µ\82½\82P\95\8e\9a\82ð\8f\91\82«\96ß\82·
95
96   \param[in,out] serial \83V\83\8a\83A\83\8b\90§\8cä\82Ì\8d\\91¢\91Ì
97   \param[in] ch \8f\91\82«\96ß\82·\82P\95\8e\9a
98
99   \attention \93Ç\82Ý\8fo\82µ\82ð\8ds\82í\82¸\82É\81A\98A\91±\82µ\82Ä\8f\91\82«\96ß\82µ\82Ä\82Í\82È\82ç\82È\82¢
100 */
101 extern void serial_ungetc(serial_t *serial, char ch);
102
103
104 /*!
105   \brief \91\97\8eó\90M\83o\83b\83t\83@\82ð\94j\8aü
106 */
107 extern void serial_clear(serial_t* serial);
108
109 #endif /* !QRK_C_SERIAL_CTRL_H */