11 int temp_gyr_full_scale, temp_acc_full_scale, temp_acc_hdr_full_scale, temp_mag_full_scale, temp_log_mode, temp_log_freq;
13 if (node.
getParam(
"gyroscope_full_scale", temp_gyr_full_scale))
15 if (node.
getParam(
"accelerometer_full_scale", temp_acc_full_scale))
17 if (node.
getParam(
"accelerometer_hdr_full_scale", temp_acc_hdr_full_scale))
19 if (node.
getParam(
"magnetometer_full_scale", temp_mag_full_scale))
21 if (node.
getParam(
"log_mode", temp_log_mode))
23 if (node.
getParam(
"log_frequency", temp_log_freq))
31 ROS_INFO(
"request: get_gyroscope_full_scale=%s, get_accelerometer_full_scale=%s, get_accelerometer_hdr_full_scale=%s, get_magnetometer_full_scale=%s, get_log_mode=%s, get_log_frequency=%s",
32 req.get_gyroscope_full_scale ?
"true" :
"false",
33 req.get_accelerometer_full_scale ?
"true" :
"false",
34 req.get_accelerometer_hdr_full_scale ?
"true" :
"false",
35 req.get_magnetometer_full_scale ?
"true" :
"false",
36 req.get_log_mode ?
"true" :
"false",
37 req.get_log_frequency ?
"true" :
"false"
40 if (req.get_gyroscope_full_scale) {
41 if (!received_command.get_gyroscope_full_scale) {
42 received_command.get_gyroscope_full_scale =
true;
43 ROS_INFO(
"Asking Gyroscope full-scale.");
45 if (muse_v2->
serial->getGyroscopeFullScale() > 0) {
46 res.gyroscope_full_scale = muse_v2->
serial->getGyroscopeFullScale();
48 ROS_INFO(
"Sending back Gyroscope Full-Scale [dps]: %u", res.gyroscope_full_scale);
51 if (req.get_accelerometer_full_scale) {
52 if (!received_command.get_accelerometer_full_scale) {
53 received_command.get_accelerometer_full_scale =
true;
54 ROS_INFO(
"Asking Accelerometer full-scale.");
56 if (muse_v2->
serial->getAccFullScale()>0) {
57 res.accelerometer_full_scale = muse_v2->
serial->getAccFullScale();
59 ROS_INFO(
"Sending back Accelerometer Full-Scale [g]: %u", res.accelerometer_full_scale);
62 if (req.get_accelerometer_hdr_full_scale) {
63 if (!received_command.get_accelerometer_hdr_full_scale) {
64 received_command.get_accelerometer_hdr_full_scale =
true;
65 ROS_INFO(
"Asking Accelerometer HDR full-scale.");
67 if (muse_v2->
serial->getAccHdrFullScale()>0) {
68 res.accelerometer_hdr_full_scale = muse_v2->
serial->getAccHdrFullScale();
70 ROS_INFO(
"Sending back Accelerometer HDR Full-Scale [g]: %u", res.accelerometer_hdr_full_scale);
73 if (req.get_magnetometer_full_scale) {
74 if (!received_command.get_magnetometer_full_scale) {
75 received_command.get_magnetometer_full_scale =
true;
76 ROS_INFO(
"Asking Magnetometer full-scale.");
78 if (muse_v2->
serial->getMagnetometerFullScale()>0) {
79 res.magnetometer_full_scale = muse_v2->
serial->getMagnetometerFullScale();
81 ROS_INFO(
"Sending back Magnetometer Full-Scale [G]: %u", res.magnetometer_full_scale);
84 if (req.get_log_mode) {
85 if (!received_command.get_log_mode) {
86 received_command.get_log_mode =
true;
89 if (muse_v2->
serial->getLogMode() < UINT8_MAX) {
90 res.log_mode = muse_v2->
serial->getLogMode();
92 ROS_INFO(
"Sending back Log Mode: %u", res.log_mode);
95 if (req.get_log_frequency) {
96 if (!received_command.get_log_frequency) {
97 received_command.get_log_frequency =
true;
100 if (muse_v2->
serial->getLogFrequency() < UINT8_MAX) {
101 res.log_frequency = muse_v2->
serial->getLogFrequency();
103 ROS_INFO(
"Sending back Log Frequency: %u", res.log_frequency);
113 ROS_INFO(
"request: set_gyroscope_full_scale=%s, set_accelerometer_full_scale=%s, set_accelerometer_hdr_full_scale=%s, set_magnetometer_full_scale=%s, set_log_mode=%s, set_log_frequency=%s",
114 req.set_gyroscope_full_scale ?
"true" :
"false",
115 req.set_accelerometer_full_scale ?
"true" :
"false",
116 req.set_accelerometer_hdr_full_scale ?
"true" :
"false",
117 req.set_magnetometer_full_scale ?
"true" :
"false",
118 req.set_log_mode ?
"true" :
"false",
119 req.set_log_frequency ?
"true" :
"false"
122 if (req.set_gyroscope_full_scale) {
123 if (received_command.gyroscope_full_scale == 0) {
124 received_command.gyroscope_full_scale = req.gyroscope_full_scale;
125 ROS_INFO(
"Setting Gyroscope Full-Scale to %u.", req.gyroscope_full_scale);
127 if (muse_v2->
serial->setGyroscopeFullScale(req.gyroscope_full_scale)) {
129 res.gyroscope_full_scale_changed =
true;
130 ROS_INFO(
"Gyroscope Full-Scale value changed: %s", res.gyroscope_full_scale_changed ?
"true" :
"false");
133 if (req.set_accelerometer_full_scale) {
134 if (received_command.accelerometer_full_scale == 0) {
135 received_command.accelerometer_full_scale = req.accelerometer_full_scale;
136 ROS_INFO(
"Setting Accelerometer Full-Scale to %u.", req.accelerometer_full_scale);
138 if (muse_v2->
serial->setAccelerometerFullScale(req.accelerometer_full_scale)) {
140 res.accelerometer_full_scale_changed =
true;
141 ROS_INFO(
"Accelerometer Full-Scale value changed: %s", res.accelerometer_full_scale_changed ?
"true" :
"false");
144 if (req.set_accelerometer_hdr_full_scale) {
145 if (received_command.accelerometer_hdr_full_scale == 0) {
146 received_command.accelerometer_hdr_full_scale = req.accelerometer_hdr_full_scale;
147 ROS_INFO(
"Setting Accelerometer Full-Scale to %u.", req.accelerometer_hdr_full_scale);
149 if (muse_v2->
serial->setAccelerometerHDRFullScale(req.accelerometer_hdr_full_scale)) {
151 res.accelerometer_hdr_full_scale_changed =
true;
152 ROS_INFO(
"Accelerometer HDR Full-Scale value changed: %s", res.accelerometer_hdr_full_scale_changed ?
"true" :
"false");
155 if (req.set_magnetometer_full_scale) {
156 if (received_command.magnetometer_full_scale == 0) {
157 received_command.magnetometer_full_scale = req.magnetometer_full_scale;
158 ROS_INFO(
"Setting Magnetometer Full-Scale to %u.", req.magnetometer_full_scale);
160 if (muse_v2->
serial->setMagnetometerFullScale(req.magnetometer_full_scale)) {
162 res.magnetometer_full_scale_changed =
true;
163 ROS_INFO(
"Magnetometer Full-Scale value changed: %s", res.magnetometer_full_scale_changed ?
"true" :
"false");
166 if (req.set_log_mode) {
167 if (received_command.log_mode == UINT8_MAX) {
168 received_command.log_mode = req.log_mode;
169 ROS_INFO(
"Setting Log Mode to %u.", req.log_mode);
171 if (muse_v2->
serial->setLogMode(req.log_mode)) {
173 res.log_mode_changed =
true;
174 ROS_INFO(
"Log Mode changed: %s", res.log_mode_changed ?
"true" :
"false");
177 if (req.set_log_frequency) {
178 if (received_command.log_frequency == UINT8_MAX) {
179 received_command.log_frequency = req.log_frequency;
180 ROS_INFO(
"Setting Log Frequency to %u.", req.log_frequency);
182 if (muse_v2->
serial->setLogFrequency(req.log_frequency)) {
184 res.log_frequency_changed =
true;
185 ROS_INFO(
"Log Frequency changed: %s", res.log_frequency_changed ?
"true" :
"false");