librnr  1.14.5
RoadNarrows Robotics Common Library 1
units.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////////////
2 /*! \file
3  *
4  * \brief Scientific units.
5  *
6  * \pkgsynopsis
7  * RoadNarrows Robotics Common Library 1
8  *
9  * \pkgcomponent{Library}
10  * librnr
11  *
12  * \pkgfile{rnr/units.h}
13  *
14  * \author Robin Knight (robin.knight@roadnarrows.com)
15  *
16  * \pkgcopyright{2010-2018,RoadNarrows LLC.,http://www.roadnarrows.com}
17  *
18  * \license{MIT}
19  *
20  * \EulaBegin
21  * See the README and EULA files for any copyright and licensing information.
22  * \EulaEnd
23  */
24 ////////////////////////////////////////////////////////////////////////////////
25 
26 #ifndef _RNR_UNITS_H
27 #define _RNR_UNITS_H
28 
29 #include "rnr/rnrconfig.h"
30 
32 
33 //-----------------------------------------------------------------------------
34 // Defines and Data Types
35 //-----------------------------------------------------------------------------
36 
37 /*!
38  * \brief Unit Types
39  */
40 typedef enum
41 {
42  units_undef, ///< undefined units
43 
44  // raw
45  units_raw, ///< raw, native device units
46 
47  // relative
48  units_percent, ///< percent % of maximum raw value
49  units_permil, ///< permil \h_permil of maximum raw value
50  units_norm, ///< normalized units (continuous from -1 to 1)
51 
52  // linear distance
53  units_um, ///< micrometers
54  units_mm, ///< millimeters
55  units_cm, ///< centimeters
56  units_m, ///< meters
57 
58  // angular distance
59  units_radians, ///< radians
60  units_degrees, ///< degrees
61 
62  // linear velocity
63  units_um_per_s, ///< micrometers/s
64  units_mm_per_s, ///< millimeters/s
65  units_cm_per_s, ///< centimeters/s
66  units_m_per_s, ///< meters/s
67 
68  // angular velocity
69  units_rad_per_s, ///< radians/s
70  units_deg_per_s, ///< degrees/s
71  units_rpm, ///< revolutions per minute
72 
73  // linear acceleration
74  units_g, ///< 1 earth g = 9.80665m/s<sup>2</sup>
75  units_m_per_s2, ///< meters/s<sup>2</sup>
76 
77  // force
78  units_kgf, ///< kilogram-force: 1kgf = 9.80665 N
79  units_gf, ///< gram-force: 1gf = 0.001kgf
80  units_newton, ///< newton N = 1 kg x m / s<sup>2</sup>
81  units_dyne, ///< dyne: 1 dyne = N<sup>-5</sup>
82 
83  // electrical
84  units_volt, ///< volt
85  units_amp, ///< ampheres
86  units_ohm, ///< ohms
88  units_compacitance, ///< farad
89 
90  // temperature
91  units_t_f, ///< Fahrenheit
92  units_t_c, ///< Celsius
93  units_t_k, ///< Kelvin
94 
95  // energy
96 
97  units_numof ///< number of units
98 } units_t;
99 
100 
101 //-----------------------------------------------------------------------------
102 // Prototypes
103 //-----------------------------------------------------------------------------
104 
105 extern const char *units_shortname(units_t u);
106 
107 
109 
110 
111 #endif // _RNR_UNITS_H
permil &#137; of maximum raw value
Definition: units.h:49
number of units
Definition: units.h:97
ohms
Definition: units.h:86
kilogram-force: 1kgf = 9.80665 N
Definition: units.h:78
revolutions per minute
Definition: units.h:71
radians/s
Definition: units.h:69
undefined units
Definition: units.h:42
1 earth g = 9.80665m/s2
Definition: units.h:74
Celsius.
Definition: units.h:92
millimeters/s
Definition: units.h:64
volt
Definition: units.h:84
const char * units_shortname(units_t u)
Get the units name.
Definition: units.c:112
#define C_DECLS_BEGIN
C declaration block begin in C.
Definition: rnrconfig.h:71
dyne: 1 dyne = N-5
Definition: units.h:81
meters/s2
Definition: units.h:75
degrees/s
Definition: units.h:70
centimeters/s
Definition: units.h:65
Fahrenheit.
Definition: units.h:91
RoadNarrows Robotics common configuration file.
millimeters
Definition: units.h:54
#define C_DECLS_END
C declaration block end in C.
Definition: rnrconfig.h:72
meters/s
Definition: units.h:66
gram-force: 1gf = 0.001kgf
Definition: units.h:79
micrometers
Definition: units.h:53
percent % of maximum raw value
Definition: units.h:48
degrees
Definition: units.h:60
centimeters
Definition: units.h:55
Kelvin.
Definition: units.h:93
micrometers/s
Definition: units.h:63
normalized units (continuous from -1 to 1)
Definition: units.h:50
radians
Definition: units.h:59
ampheres
Definition: units.h:85
newton N = 1 kg x m / s2
Definition: units.h:80
units_t
Unit Types.
Definition: units.h:40
meters
Definition: units.h:56
raw, native device units
Definition: units.h:45