Main Page
Classes
Class List
Class Members
All
a
c
d
e
f
g
h
i
m
n
o
p
q
r
s
t
Functions
Variables
a
c
d
e
f
g
h
i
m
n
o
p
q
r
t
Files
File List
File Members
All
a
b
c
d
e
f
g
h
i
m
n
o
p
r
s
u
v
w
Functions
c
d
g
i
m
n
o
p
r
s
u
w
Variables
Enumerations
Enumerator
Macros
a
b
c
d
e
f
m
n
o
r
s
v
w
src
main_helper.c
Go to the documentation of this file.
1
//==============================================================================
2
//
3
// main_helper.c - Epson IMU helper functions for console utilities
4
//
5
//
6
// THE SOFTWARE IS RELEASED INTO THE PUBLIC DOMAIN.
7
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
8
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
9
// NONINFRINGEMENT, SECURITY, SATISFACTORY QUALITY, AND FITNESS FOR A
10
// PARTICULAR PURPOSE. IN NO EVENT SHALL EPSON BE LIABLE FOR ANY LOSS, DAMAGE
11
// OR CLAIM, ARISING FROM OR IN CONNECTION WITH THE SOFTWARE OR THE USE OF THE
12
// SOFTWARE.
13
//
14
//==============================================================================
15
16
#include <stdio.h>
17
18
#include "
main_helper.h
"
19
#include "
sensor_epsonCommon.h
"
20
21
/*****************************************************************************
22
** Function name: printHeaderRow
23
** Description: Output header row based on EpsonOptions
24
** Parameters: fp - file pointer to send data
25
** EpsonOptions* - pointer to struct describing the IMU
26
** configuration.
27
** Return value: None
28
** Notes:
29
*****************************************************************************/
30
void
printHeaderRow
(FILE* fp,
const
struct
EpsonOptions
* options) {
31
fprintf(fp,
"\r\nsample[dec]"
);
32
if
(options->
flag_out
) {
33
fprintf(fp,
", ndflags[hex]"
);
34
}
35
36
if
(options->
temp_out
) {
37
fprintf(fp,
", tempC[degC]"
);
38
}
39
40
if
(options->
gyro_out
) {
41
fprintf(fp,
", gx[deg/s], gy[deg/s], gz[deg/s]"
);
42
}
43
44
if
(options->
accel_out
) {
45
fprintf(fp,
", ax[mG], ay[mG], az[mG]"
);
46
}
47
48
if
(options->
gyro_delta_out
) {
49
fprintf(fp,
", dax[deg], day[deg], daz[deg]"
);
50
}
51
52
if
(options->
accel_delta_out
) {
53
fprintf(fp,
", dvx[m/s], dvy[m/s], dvz[m/s]"
);
54
}
55
56
if
(options->
qtn_out
) {
57
fprintf(fp,
", qtn0, qtn1, qtn2, qtn3"
);
58
}
59
60
if
(options->
atti_out
) {
61
fprintf(fp,
", ang1[deg], ang2[deg], ang3[deg]"
);
62
}
63
64
if
(options->
gpio_out
) {
65
fprintf(fp,
", gpio[hex]"
);
66
}
67
68
if
(options->
count_out
) {
69
fprintf(fp,
", count"
);
70
}
71
fprintf(fp,
"\n"
);
72
}
73
74
/*****************************************************************************
75
** Function name: printSensorRow
76
** Description: Prints formatted row of sensor data based on
77
** EpsonOptions
78
** Parameters: fp - file pointer to send data
79
** EpsonOptions* - pointer to struct describing the IMU
80
** configuration.
81
** EpsonData* - pointer to struct that contains scaled
82
** sensor
83
** data
84
** sample_count - index for the sample row
85
** Return value: none
86
** Notes:
87
******************************************************************************/
88
void
printSensorRow
(FILE* fp,
const
struct
EpsonOptions
* options,
89
const
struct
EpsonData
* epson_data,
int
sample_count) {
90
fprintf(fp,
"%08d"
, sample_count);
91
if
(options->
flag_out
) {
92
fprintf(fp,
", %04x"
, epson_data->
ndflags
);
93
}
94
95
if
(options->
temp_out
) {
96
fprintf(fp,
", %8.3f"
, epson_data->
temperature
);
97
}
98
99
if
(options->
gyro_out
) {
100
fprintf(fp,
", %8.5f, %8.5f, %8.5f"
, epson_data->
gyro_x
*
RAD2DEG
,
101
epson_data->
gyro_y
*
RAD2DEG
, epson_data->
gyro_z
*
RAD2DEG
);
102
}
103
104
if
(options->
accel_out
) {
105
fprintf(fp,
", %8.5f, %8.5f, %8.5f"
, epson_data->
accel_x
*
MPS22MG
,
106
epson_data->
accel_y
*
MPS22MG
, epson_data->
accel_z
*
MPS22MG
);
107
}
108
109
if
(options->
gyro_delta_out
) {
110
fprintf(fp,
", %8.5f, %8.5f, %8.5f"
, epson_data->
gyro_delta_x
*
RAD2DEG
,
111
epson_data->
gyro_delta_y
*
RAD2DEG
,
112
epson_data->
gyro_delta_z
*
RAD2DEG
);
113
}
114
115
if
(options->
accel_delta_out
) {
116
fprintf(fp,
", %8.5f, %8.5f, %8.5f"
, epson_data->
accel_delta_x
,
117
epson_data->
accel_delta_y
, epson_data->
accel_delta_z
);
118
}
119
120
if
(options->
qtn_out
) {
121
fprintf(fp,
", %8.8f, %8.8f, %8.8f, %8.8f"
, epson_data->
qtn0
,
122
epson_data->
qtn1
, epson_data->
qtn2
, epson_data->
qtn3
);
123
}
124
125
if
(options->
atti_out
) {
126
fprintf(fp,
", %8.3f, %8.3f, %8.3f"
, epson_data->
ang1
*
RAD2DEG
,
127
epson_data->
ang2
*
RAD2DEG
, epson_data->
ang3
*
RAD2DEG
);
128
}
129
130
if
(options->
gpio_out
) {
131
fprintf(fp,
", %04x"
, epson_data->
gpio
);
132
}
133
134
if
(options->
count_out
) {
135
fprintf(fp,
", %09d"
, epson_data->
count
);
136
}
137
fprintf(fp,
"\n"
);
138
}
EpsonData::qtn1
double qtn1
Definition:
sensor_epsonCommon.h:406
EpsonData::ang2
double ang2
Definition:
sensor_epsonCommon.h:407
EpsonData::accel_y
double accel_y
Definition:
sensor_epsonCommon.h:403
sensor_epsonCommon.h
main_helper.h
EpsonData::gyro_delta_z
double gyro_delta_z
Definition:
sensor_epsonCommon.h:404
EpsonOptions::gpio_out
int gpio_out
Definition:
sensor_epsonCommon.h:363
EpsonOptions
Definition:
sensor_epsonCommon.h:340
RAD2DEG
#define RAD2DEG
Definition:
sensor_epsonCommon.h:56
EpsonData::accel_delta_y
double accel_delta_y
Definition:
sensor_epsonCommon.h:405
EpsonData::gyro_x
double gyro_x
Definition:
sensor_epsonCommon.h:402
EpsonData::gyro_delta_y
double gyro_delta_y
Definition:
sensor_epsonCommon.h:404
EpsonData::temperature
double temperature
Definition:
sensor_epsonCommon.h:401
EpsonOptions::qtn_out
int qtn_out
Definition:
sensor_epsonCommon.h:360
EpsonOptions::accel_out
int accel_out
Definition:
sensor_epsonCommon.h:357
printSensorRow
void printSensorRow(FILE *fp, const struct EpsonOptions *options, const struct EpsonData *epson_data, int sample_count)
Definition:
main_helper.c:88
EpsonData::gyro_delta_x
double gyro_delta_x
Definition:
sensor_epsonCommon.h:404
EpsonOptions::count_out
int count_out
Definition:
sensor_epsonCommon.h:364
EpsonData::gpio
unsigned short gpio
Definition:
sensor_epsonCommon.h:408
EpsonData::ang1
double ang1
Definition:
sensor_epsonCommon.h:407
EpsonData::accel_delta_x
double accel_delta_x
Definition:
sensor_epsonCommon.h:405
EpsonData::accel_x
double accel_x
Definition:
sensor_epsonCommon.h:403
EpsonOptions::flag_out
int flag_out
Definition:
sensor_epsonCommon.h:354
EpsonData::gyro_z
double gyro_z
Definition:
sensor_epsonCommon.h:402
EpsonData
Definition:
sensor_epsonCommon.h:399
EpsonData::ang3
double ang3
Definition:
sensor_epsonCommon.h:407
EpsonData::count
int count
Definition:
sensor_epsonCommon.h:409
EpsonData::qtn3
double qtn3
Definition:
sensor_epsonCommon.h:406
printHeaderRow
void printHeaderRow(FILE *fp, const struct EpsonOptions *options)
Definition:
main_helper.c:30
EpsonData::ndflags
unsigned short ndflags
Definition:
sensor_epsonCommon.h:400
EpsonData::qtn2
double qtn2
Definition:
sensor_epsonCommon.h:406
EpsonData::qtn0
double qtn0
Definition:
sensor_epsonCommon.h:406
EpsonOptions::atti_out
int atti_out
Definition:
sensor_epsonCommon.h:361
EpsonOptions::gyro_delta_out
int gyro_delta_out
Definition:
sensor_epsonCommon.h:358
EpsonData::gyro_y
double gyro_y
Definition:
sensor_epsonCommon.h:402
EpsonOptions::gyro_out
int gyro_out
Definition:
sensor_epsonCommon.h:356
EpsonOptions::temp_out
int temp_out
Definition:
sensor_epsonCommon.h:355
MPS22MG
#define MPS22MG
Definition:
sensor_epsonCommon.h:58
EpsonData::accel_z
double accel_z
Definition:
sensor_epsonCommon.h:403
EpsonOptions::accel_delta_out
int accel_delta_out
Definition:
sensor_epsonCommon.h:359
EpsonData::accel_delta_z
double accel_delta_z
Definition:
sensor_epsonCommon.h:405
ess_imu_driver
Author(s):
autogenerated on Wed Dec 11 2024 03:06:30