94 ROS_INFO(
"Received LCM message from channel '%s'", chan.c_str());
101 dataspeed_pds_msgs::Status msg;
102 msg.header.stamp = now;
103 msg.mode.mode = (uint8_t)lcm->mode;
104 msg.script.script = (uint8_t)lcm->script;
106 for (
size_t i = 0; i < 12; i++) {
107 msg.chan[i].current = lcm->current[i];
108 msg.chan[i].status = lcm->status[i];
110 msg.master.inverter.request = (lcm->inverter_status & (1 << 0)) ? true :
false;
111 msg.master.inverter.status = (lcm->inverter_status & (1 << 1)) ? true :
false;
112 msg.master.inverter.overload = (lcm->inverter_status & (1 << 2)) ? true :
false;
113 msg.master.inverter.overtemp = (lcm->inverter_status & (1 << 3)) ? true :
false;
114 for (
size_t i = 0; i <
sizeof(lcm->board_temp)/
sizeof(lcm->board_temp[0]); i++) {
115 msg.master.temp.internal[i] = lcm->board_temp[i];
117 for (
size_t i = 0; i <
sizeof(lcm->thermocouple)/
sizeof(lcm->thermocouple[0]); i++) {
118 msg.master.temp.external[i] = lcm->thermocouple[i];
120 msg.master.voltage = lcm->voltage;
123 const dataspeed_pds_msgs::Status::ConstPtr ptr(
new dataspeed_pds_msgs::Status(msg));
124 switch (lcm->unit_id) {
149 out.channel = msg->channel;
150 out.request = msg->request;
151 lcm_.publish(
"RELAY", &out);
157 out.mode = msg->mode;
158 lcm_.publish(
"MODE", &out);
163 script_request_t out;
164 out.script = msg->script;
165 lcm_.publish(
"SCRIPT", &out);
171 dataspeed_pds_msgs::Status msg = *master;
172 msg.chan.insert(msg.chan.end(), slave1->chan.begin(), slave1->chan.end());
173 msg.slave.push_back(slave1->master);
180 dataspeed_pds_msgs::Status msg = *master;
181 msg.chan.insert(msg.chan.end(), slave1->chan.begin(), slave1->chan.end());
182 msg.chan.insert(msg.chan.end(), slave2->chan.begin(), slave2->chan.end());
183 msg.slave.push_back(slave1->master);
184 msg.slave.push_back(slave2->master);
188 void PdsNode::recvSyncSlave3(
const SyncPtr& master,
const SyncPtr& slave1,
const SyncPtr& slave2,
const SyncPtr& slave3)
191 dataspeed_pds_msgs::Status msg = *master;
192 msg.chan.insert(msg.chan.end(), slave1->chan.begin(), slave1->chan.end());
193 msg.chan.insert(msg.chan.end(), slave2->chan.begin(), slave2->chan.end());
194 msg.chan.insert(msg.chan.end(), slave3->chan.begin(), slave3->chan.end());
195 msg.slave.push_back(slave1->master);
196 msg.slave.push_back(slave2->master);
197 msg.slave.push_back(slave3->master);