Visual Servoing Platform
version 3.7.0
Toggle main menu visibility
Loading...
Searching...
No Matches
testSerialRead.cpp
1
/*
2
* ViSP, open source Visual Servoing Platform software.
3
* Copyright (C) 2005 - 2024 by Inria. All rights reserved.
4
*
5
* This software is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation; either version 2 of the License, or
8
* (at your option) any later version.
9
* See the file LICENSE.txt at the root directory of this source
10
* distribution for additional information about the GNU GPL.
11
*
12
* For using ViSP with software that can not be combined with the GNU
13
* GPL, please contact Inria about acquiring a ViSP Professional
14
* Edition License.
15
*
16
* See https://visp.inria.fr for more information.
17
*
18
* This software was developed at:
19
* Inria Rennes - Bretagne Atlantique
20
* Campus Universitaire de Beaulieu
21
* 35042 Rennes Cedex
22
* France
23
*
24
* If you have questions regarding the use of this file, please contact
25
* Inria at visp@inria.fr
26
*
27
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
28
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
29
*
30
* Description:
31
* Test serial port communication.
32
*/
33
38
39
#include <iostream>
40
#include <stdlib.h>
41
#include <visp3/core/vpTime.h>
42
43
#include <visp3/core/vpSerial.h>
44
45
int
main(
int
argc,
char
**argv)
46
{
47
#ifdef ENABLE_VISP_NAMESPACE
48
using namespace
VISP_NAMESPACE_NAME
;
49
#endif
50
#if !defined(_WIN32)
51
std::string port;
52
53
unsigned
long
baud = 9600;
54
for
(
int
i = 1;
i
< argc;
i
++) {
55
if
(std::string(argv[i]) ==
"--port"
&& i + 1 < argc) {
56
port = std::string(argv[++i]);
57
}
58
else
if
(std::string(argv[i]) ==
"--baud"
&& i + 1 < argc) {
59
baud = (
unsigned
long)atol(argv[++i]);
60
}
61
else
if
(std::string(argv[i]) ==
"--help"
|| std::string(argv[i]) ==
"-h"
) {
62
std::cout <<
"\nUsage: "
<< argv[0]
63
<<
" [--port <serial name>]"
64
<<
" [--baud <baud rate>]"
65
<<
" [--help,-h]\n"
<< std::endl;
66
return
EXIT_SUCCESS;
67
}
68
}
69
70
if
(port.empty()) {
71
std::cout <<
"\nSerial port not specified."
<< std::endl;
72
std::cout <<
"\nUsage: "
<< argv[0] <<
" [--port <serial name>] [--baud <baud rate>] [--help]\n"
<< std::endl;
73
return
EXIT_SUCCESS;
74
}
75
76
std::cout <<
"Try to connect to port \""
<< port <<
"\" with baud rate "
<< baud << std::endl;
77
vpSerial
serial(port, baud);
78
79
double
t
=
vpTime::measureTimeSecond
();
80
do
{
81
std::string line = serial.readline(
"\n"
);
82
if
(!line.empty()) {
83
std::cout <<
"Read line: "
<< line << std::endl;
84
}
85
vpTime::wait
(100);
86
}
while
(
vpTime::measureTimeSecond
() - t < 30);
87
#else
88
(void)argc;
89
(void)argv;
90
std::cout <<
"Serial test is only working on unix-like OS."
<< std::endl;
91
#endif
92
return
EXIT_SUCCESS;
93
}
vpSerial
Definition
vpSerial.h:71
VISP_NAMESPACE_NAME
Definition
vpEigenConversion.h:44
pbvs-four-points.t
t
Definition
pbvs-four-points.py:220
vpTime::wait
VISP_EXPORT int wait(double t0, double t)
vpTime::measureTimeSecond
VISP_EXPORT double measureTimeSecond()
yolo-centering-task-afma6.i
i
Definition
yolo-centering-task-afma6.py:329
modules
core
test
tools
serial
testSerialRead.cpp
Generated by
1.17.0