5 #ifndef UAVCAN_TRANSPORT_TRANSFER_RECEIVER_HPP_INCLUDED 6 #define UAVCAN_TRANSPORT_TRANSFER_RECEIVER_HPP_INCLUDED 19 enum ResultCode { ResultNotComplete, ResultComplete, ResultSingleFrame };
21 static const uint16_t MinTransferIntervalMSec = 1;
22 static const uint16_t MaxTransferIntervalMSec = 0xFFFF;
23 static const uint16_t DefaultTransferIntervalMSec = 1000;
24 static const uint16_t DefaultTidTimeoutMSec = 1000;
36 enum { ErrorCntMask = 31 };
61 void registerError()
const;
63 void updateTransferTimings();
64 void prepareForNextTransfer();
72 transfer_interval_msec_(DefaultTransferIntervalMSec),
73 this_transfer_crc_(0),
76 iface_index_(IfaceIndexNotSet),
96 #endif // UAVCAN_TRANSPORT_TRANSFER_RECEIVER_HPP_INCLUDED
bool isMidTransfer() const
uint16_t this_transfer_crc_
MonotonicTime prev_transfer_ts_
static MonotonicDuration getDefaultTransferInterval()
ROSCPP_DECL bool validate(const std::string &name, std::string &error)
uint16_t transfer_interval_msec_
static MonotonicDuration getMinTransferInterval()
Implicitly convertible to/from uavcan.Timestamp.
MonotonicTime this_transfer_ts_
bool isInitialized() const
static MonotonicDuration getMaxTransferInterval()
UtcTime getLastTransferTimestampUtc() const
uint16_t getLastTransferCrc() const
uint16_t buffer_write_pos_
static MonotonicDuration fromMSec(int64_t ms)
MonotonicTime getLastTransferTimestampMonotonic() const
MonotonicDuration getInterval() const