33 frame.setStartOfTransfer(
true);
45 (
int(payload_len) <=
frame.getPayloadCapacity());
48 return -ErrPassiveMode;
57 if (
frame.getPayloadCapacity() >= payload_len)
59 const int res =
frame.setPayload(payload, payload_len);
60 if (res !=
int(payload_len))
63 UAVCAN_TRACE(
"TransferSender",
"Frame payload write failure, %i", res);
68 frame.setEndOfTransfer(
true);
83 crc.
add(payload, payload_len);
85 static const int BUFLEN =
sizeof(
static_cast<CanFrame*
>(0)->data);
90 (void)
copy(payload, payload + BUFLEN - 2, buf + 2);
92 const int write_res =
frame.setPayload(buf, BUFLEN);
95 UAVCAN_TRACE(
"TransferSender",
"Frame payload write failure, %i", write_res);
99 offset = write_res - 2;
115 if (
frame.isEndOfTransfer())
120 frame.setStartOfTransfer(
false);
124 const int write_res =
frame.setPayload(payload + offset, payload_len -
unsigned(offset));
127 UAVCAN_TRACE(
"TransferSender",
"Frame payload write failure, %i", write_res);
134 if (offset >=
int(payload_len))
136 frame.setEndOfTransfer(
true);
160 UAVCAN_TRACE(
"TransferSender",
"OTR access failure, dtid=%d tt=%i",
168 return send(payload, payload_len, tx_deadline, blocking_deadline, transfer_type,
169 dst_node_id, this_tid);