Skip to content

Commit fdb0442

Browse files
authored
Merge pull request #3 from clearpathrobotics/lcamero/puma_queue
Update Puma Motor Driver to use Queue
2 parents 6c31731 + cd5ea23 commit fdb0442

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

puma_motor_driver/src/driver.cpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ double Driver::radPerSecToRpm() const
122122
void Driver::sendId(const uint32_t id)
123123
{
124124
can_msgs::msg::Frame msg = getMsg(id);
125-
interface_->send(msg);
125+
interface_->queue(msg);
126126
}
127127

128128
void Driver::sendUint8(const uint32_t id, const uint8_t value)
@@ -133,7 +133,7 @@ void Driver::sendUint8(const uint32_t id, const uint8_t value)
133133
std::memcpy(data, &value, sizeof(uint8_t));
134134
std::copy(std::begin(data), std::end(data), std::begin(msg.data));
135135

136-
interface_->send(msg);
136+
interface_->queue(msg);
137137
}
138138

139139
void Driver::sendUint16(const uint32_t id, const uint16_t value)
@@ -144,7 +144,7 @@ void Driver::sendUint16(const uint32_t id, const uint16_t value)
144144
std::memcpy(data, &value, sizeof(uint16_t));
145145
std::copy(std::begin(data), std::end(data), std::begin(msg.data));
146146

147-
interface_->send(msg);
147+
interface_->queue(msg);
148148
}
149149

150150
void Driver::sendFixed8x8(const uint32_t id, const float value)
@@ -157,7 +157,7 @@ void Driver::sendFixed8x8(const uint32_t id, const float value)
157157
std::memcpy(data, &output_value, sizeof(int16_t));
158158
std::copy(std::begin(data), std::end(data), std::begin(msg.data));
159159

160-
interface_->send(msg);
160+
interface_->queue(msg);
161161
}
162162

163163
void Driver::sendFixed16x16(const uint32_t id, const double value)
@@ -170,7 +170,7 @@ void Driver::sendFixed16x16(const uint32_t id, const double value)
170170
std::memcpy(data, &output_value, sizeof(int32_t));
171171
std::copy(std::begin(data), std::end(data), std::begin(msg.data));
172172

173-
interface_->send(msg);
173+
interface_->queue(msg);
174174
}
175175

176176
can_msgs::msg::Frame Driver::getMsg(const uint32_t id)

puma_motor_driver/src/multi_puma_node.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,8 @@ MultiPumaNode::MultiPumaNode(const std::string node_name)
9494
interface_.reset(new clearpath_ros2_socketcan_interface::SocketCANInterface(
9595
canbus_dev_, node_handle_));
9696

97+
interface_->startSendTimer(1);
98+
9799
for (uint8_t i = 0; i < joint_names_.size(); i++) {
98100
drivers_.push_back(puma_motor_driver::Driver(
99101
interface_,

0 commit comments

Comments
 (0)