Go to the documentation of this file.
11 #include "../node/test_node.hpp"
14 template <
typename DataType>
19 this->msg.reset(
new DataType(
msg));
23 std::unique_ptr<DataType>
msg;
32 template <
typename DataType>
49 template <
typename DataType>
64 const typename DataType::Response& arg_response)
83 std::cout << tmp_result << std::endl;
98 template <
typename DataType>
134 template <
typename CanDriver,
typename MessageType>
143 ASSERT_LT(0, MessageType::encode(message, codec));
150 frame.setStartOfTransfer(
true);
151 frame.setEndOfTransfer(
true);
156 ASSERT_TRUE(
frame.compile(can_frame));
158 can.pushRxToAllIfaces(can_frame);
static void emulateSingleFrameBroadcastTransfer(CanDriver &can, uavcan::NodeID node_id, const MessageType &message, uavcan::TransferID tid)
void handler(const uavcan::ServiceCallResult< DataType > &tmp_result)
uavcan::ServiceCallID call_id_
void handler(const DataType &msg)
SubscriptionCollector< DataType > Collector
Result(typename ServiceCallResult::Status arg_status, uavcan::ServiceCallID arg_call_id, const typename DataType::Response &arg_response)
ServiceCallID getCallID() const
DataType::Response & getResponse()
BackgroundSpinner(uavcan::INode &spinning_node, uavcan::INode &running_node)
static MonotonicDuration fromMSec(int64_t ms)
int call(uavcan::NodeID node_id, const typename DataType::Request &request)
uavcan::ServiceCallResult< DataType > ServiceCallResult
int start(const Callback &callback)
int spin(MonotonicTime deadline)
std::unique_ptr< Result > result
uavcan::Subscriber< DataType, typename Collector::Binder > Subscriber
uavcan::INode & spinning_node
@ TransferTypeMessageBroadcast
const ServiceCallResult::Status status_
SubscriberWithCollector(uavcan::INode &node)
uint16_t getMaxWritePos() const
static const NodeID Broadcast
uavcan::ServiceCallID getCallID() const
const DataType::Response & getResponse() const
const ResponseFieldType & getResponse() const
uavcan::ServiceClient< DataType, typename Collector::Binder > ServiceClient
ServiceCallResult::Status getStatus() const
uavcan::MethodBinder< SubscriptionCollector *, void(SubscriptionCollector::*)(const DataType &)> Binder
bool isSuccessful() const
DataType::Response response_
std::unique_ptr< DataType > msg
uavcan::MethodBinder< ServiceCallResultCollector *, void(ServiceCallResultCollector::*)(const uavcan::ServiceCallResult< DataType > &)> Binder
void setCallback(const Callback &cb)
ServiceClientWithCollector(uavcan::INode &node)
int call(NodeID server_node_id, const RequestType &request)
virtual void handleTimerEvent(const uavcan::TimerEvent &)
ServiceCallResultCollector< DataType > Collector