Passing priority value of received transfers to application

This commit is contained in:
Pavel Kirienko 2015-04-30 14:35:00 +03:00
parent 20feaba1de
commit 2407157c9c
3 changed files with 11 additions and 6 deletions

View File

@ -63,6 +63,7 @@ public:
return safeget<MonotonicTime, &IncomingTransfer::getMonotonicTimestamp>();
}
UtcTime getUtcTimestamp() const { return safeget<UtcTime, &IncomingTransfer::getUtcTimestamp>(); }
TransferPriority getPriority() const { return safeget<TransferPriority, &IncomingTransfer::getPriority>(); }
TransferType getTransferType() const { return safeget<TransferType, &IncomingTransfer::getTransferType>(); }
TransferID getTransferID() const { return safeget<TransferID, &IncomingTransfer::getTransferID>(); }
NodeID getSrcNodeID() const { return safeget<NodeID, &IncomingTransfer::getSrcNodeID>(); }

View File

@ -25,6 +25,7 @@ class UAVCAN_EXPORT IncomingTransfer : public ITransferBuffer
{
MonotonicTime ts_mono_;
UtcTime ts_utc_;
TransferPriority transfer_priority_;
TransferType transfer_type_;
TransferID transfer_id_;
NodeID src_node_id_;
@ -34,10 +35,12 @@ class UAVCAN_EXPORT IncomingTransfer : public ITransferBuffer
virtual int write(unsigned offset, const uint8_t* data, unsigned len);
protected:
IncomingTransfer(MonotonicTime ts_mono, UtcTime ts_utc, TransferType transfer_type,
TransferID transfer_id, NodeID source_node_id, uint8_t iface_index)
IncomingTransfer(MonotonicTime ts_mono, UtcTime ts_utc, TransferPriority transfer_priority,
TransferType transfer_type, TransferID transfer_id, NodeID source_node_id,
uint8_t iface_index)
: ts_mono_(ts_mono)
, ts_utc_(ts_utc)
, transfer_priority_(transfer_priority)
, transfer_type_(transfer_type)
, transfer_id_(transfer_id)
, src_node_id_(source_node_id)
@ -57,6 +60,7 @@ public:
MonotonicTime getMonotonicTimestamp() const { return ts_mono_; }
UtcTime getUtcTimestamp() const { return ts_utc_; }
TransferPriority getPriority() const { return transfer_priority_; }
TransferType getTransferType() const { return transfer_type_; }
TransferID getTransferID() const { return transfer_id_; }
NodeID getSrcNodeID() const { return src_node_id_; }

View File

@ -22,8 +22,8 @@ int IncomingTransfer::write(unsigned, const uint8_t*, unsigned)
* SingleFrameIncomingTransfer
*/
SingleFrameIncomingTransfer::SingleFrameIncomingTransfer(const RxFrame& frm)
: IncomingTransfer(frm.getMonotonicTimestamp(), frm.getUtcTimestamp(), frm.getTransferType(),
frm.getTransferID(), frm.getSrcNodeID(), frm.getIfaceIndex())
: IncomingTransfer(frm.getMonotonicTimestamp(), frm.getUtcTimestamp(), frm.getPriority(),
frm.getTransferType(), frm.getTransferID(), frm.getSrcNodeID(), frm.getIfaceIndex())
, payload_(frm.getPayloadPtr())
, payload_len_(uint8_t(frm.getPayloadLen()))
{
@ -60,8 +60,8 @@ bool SingleFrameIncomingTransfer::isAnonymousTransfer() const
*/
MultiFrameIncomingTransfer::MultiFrameIncomingTransfer(MonotonicTime ts_mono, UtcTime ts_utc,
const RxFrame& last_frame, TransferBufferAccessor& tba)
: IncomingTransfer(ts_mono, ts_utc, last_frame.getTransferType(), last_frame.getTransferID(),
last_frame.getSrcNodeID(), last_frame.getIfaceIndex())
: IncomingTransfer(ts_mono, ts_utc, last_frame.getPriority(), last_frame.getTransferType(),
last_frame.getTransferID(), last_frame.getSrcNodeID(), last_frame.getIfaceIndex())
, buf_acc_(tba)
{
UAVCAN_ASSERT(last_frame.isValid());