lib
xspublic
xstypes
xsbaud.h
Go to the documentation of this file.
1
2
// Copyright (c) 2003-2021 Xsens Technologies B.V. or subsidiaries worldwide.
3
// All rights reserved.
4
//
5
// Redistribution and use in source and binary forms, with or without modification,
6
// are permitted provided that the following conditions are met:
7
//
8
// 1. Redistributions of source code must retain the above copyright notice,
9
// this list of conditions, and the following disclaimer.
10
//
11
// 2. Redistributions in binary form must reproduce the above copyright notice,
12
// this list of conditions, and the following disclaimer in the documentation
13
// and/or other materials provided with the distribution.
14
//
15
// 3. Neither the names of the copyright holders nor the names of their contributors
16
// may be used to endorse or promote products derived from this software without
17
// specific prior written permission.
18
//
19
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
20
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
21
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
22
// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
// SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
24
// OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR
26
// TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.THE LAWS OF THE NETHERLANDS
28
// SHALL BE EXCLUSIVELY APPLICABLE AND ANY DISPUTES SHALL BE FINALLY SETTLED UNDER THE RULES
29
// OF ARBITRATION OF THE INTERNATIONAL CHAMBER OF COMMERCE IN THE HAGUE BY ONE OR MORE
30
// ARBITRATORS APPOINTED IN ACCORDANCE WITH SAID RULES.
31
//
32
33
34
// Copyright (c) 2003-2021 Xsens Technologies B.V. or subsidiaries worldwide.
35
// All rights reserved.
36
//
37
// Redistribution and use in source and binary forms, with or without modification,
38
// are permitted provided that the following conditions are met:
39
//
40
// 1. Redistributions of source code must retain the above copyright notice,
41
// this list of conditions, and the following disclaimer.
42
//
43
// 2. Redistributions in binary form must reproduce the above copyright notice,
44
// this list of conditions, and the following disclaimer in the documentation
45
// and/or other materials provided with the distribution.
46
//
47
// 3. Neither the names of the copyright holders nor the names of their contributors
48
// may be used to endorse or promote products derived from this software without
49
// specific prior written permission.
50
//
51
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
52
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
53
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
54
// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
55
// SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
56
// OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
57
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR
58
// TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
59
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.THE LAWS OF THE NETHERLANDS
60
// SHALL BE EXCLUSIVELY APPLICABLE AND ANY DISPUTES SHALL BE FINALLY SETTLED UNDER THE RULES
61
// OF ARBITRATION OF THE INTERNATIONAL CHAMBER OF COMMERCE IN THE HAGUE BY ONE OR MORE
62
// ARBITRATORS APPOINTED IN ACCORDANCE WITH SAID RULES.
63
//
64
65
#ifndef XSBAUD_H
66
#define XSBAUD_H
67
68
#include "
xstypesconfig.h
"
69
70
75
#include "
xsbaudcode.h
"
76
#include "
xsbaudrate.h
"
77
80
typedef
enum
XsBaudCode
XsBaudCode
;
81
typedef
enum
XsBaudRate
XsBaudRate
;
82
83
#ifdef __cplusplus
84
extern
"C"
{
85
#endif
86
87
XSTYPES_DLL_API
XsBaudRate
XsBaud_codeToRate
(
XsBaudCode
baudcode);
88
XSTYPES_DLL_API
XsBaudCode
XsBaud_rateToCode
(
XsBaudRate
baudrate);
89
XSTYPES_DLL_API
int
XsBaud_rateToNumeric
(
XsBaudRate
baudrate);
90
XSTYPES_DLL_API
XsBaudRate
XsBaud_numericToRate
(
int
numeric);
91
92
#ifdef __cplusplus
93
}
// extern "C"
94
98
namespace
XsBaud
99
{
101
inline
XsBaudRate
codeToRate(
XsBaudCode
baudcode)
102
{
103
return
XsBaud_codeToRate
(baudcode);
104
}
106
inline
XsBaudCode
rateToCode(
XsBaudRate
baudrate)
107
{
108
return
XsBaud_rateToCode
(baudrate);
109
}
111
inline
int
rateToNumeric(
XsBaudRate
baudrate)
112
{
113
return
XsBaud_rateToNumeric
(baudrate);
114
}
116
inline
XsBaudRate
numericToRate(
int
numeric)
117
{
118
return
XsBaud_numericToRate
(numeric);
119
}
120
}
121
122
#ifndef XSENS_NO_STL
123
#include <ostream>
124
125
namespace
std
126
{
127
template
<
typename
_CharT,
typename
_Traits>
128
basic_ostream<_CharT, _Traits>&
operator<<
(basic_ostream<_CharT, _Traits>& o,
XsBaudRate
const
& xd)
129
{
130
return
(o << XsBaud::rateToNumeric(xd));
131
}
132
}
133
#endif
134
135
#endif
136
137
#endif
XsBaud_codeToRate
XSTYPES_DLL_API XsBaudRate XsBaud_codeToRate(XsBaudCode baudcode)
Convert an Xsens baud code to XsBaudRate.
Definition:
xsbaud.c:83
XsBaudRate
enum XsBaudRate XsBaudRate
Communication speed.
Definition:
xsbaud.h:81
xsbaudrate.h
XsBaud_rateToCode
XSTYPES_DLL_API XsBaudCode XsBaud_rateToCode(XsBaudRate baudrate)
Convert a XsBaudRate to an Xsens baud code.
Definition:
xsbaud.c:129
xstypesconfig.h
XsBaudCode
enum XsBaudCode XsBaudCode
Definition:
xsbaud.h:80
xsbaudcode.h
std
XSTYPES_DLL_API
#define XSTYPES_DLL_API
Definition:
xstypesconfig.h:65
XsBaud_numericToRate
XSTYPES_DLL_API XsBaudRate XsBaud_numericToRate(int numeric)
Convert a numeric baudrate in bps to XsBaudrate.
Definition:
xsbaud.c:223
operator<<
std::ostream & operator<<(std::ostream &os, JlHexLogger< char > const &hex)
Definition:
journaller.cpp:388
XsBaud_rateToNumeric
XSTYPES_DLL_API int XsBaud_rateToNumeric(XsBaudRate baudrate)
Convert a XsBaudrate to a numeric baudrate in bps.
Definition:
xsbaud.c:176
xsens_mti_driver
Author(s):
autogenerated on Sun Sep 3 2023 02:43:20