mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-26 06:33:33 +08:00
Passing priority value of received transfers to application
This commit is contained in:
@@ -63,6 +63,7 @@ public:
|
|||||||
return safeget<MonotonicTime, &IncomingTransfer::getMonotonicTimestamp>();
|
return safeget<MonotonicTime, &IncomingTransfer::getMonotonicTimestamp>();
|
||||||
}
|
}
|
||||||
UtcTime getUtcTimestamp() const { return safeget<UtcTime, &IncomingTransfer::getUtcTimestamp>(); }
|
UtcTime getUtcTimestamp() const { return safeget<UtcTime, &IncomingTransfer::getUtcTimestamp>(); }
|
||||||
|
TransferPriority getPriority() const { return safeget<TransferPriority, &IncomingTransfer::getPriority>(); }
|
||||||
TransferType getTransferType() const { return safeget<TransferType, &IncomingTransfer::getTransferType>(); }
|
TransferType getTransferType() const { return safeget<TransferType, &IncomingTransfer::getTransferType>(); }
|
||||||
TransferID getTransferID() const { return safeget<TransferID, &IncomingTransfer::getTransferID>(); }
|
TransferID getTransferID() const { return safeget<TransferID, &IncomingTransfer::getTransferID>(); }
|
||||||
NodeID getSrcNodeID() const { return safeget<NodeID, &IncomingTransfer::getSrcNodeID>(); }
|
NodeID getSrcNodeID() const { return safeget<NodeID, &IncomingTransfer::getSrcNodeID>(); }
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ class UAVCAN_EXPORT IncomingTransfer : public ITransferBuffer
|
|||||||
{
|
{
|
||||||
MonotonicTime ts_mono_;
|
MonotonicTime ts_mono_;
|
||||||
UtcTime ts_utc_;
|
UtcTime ts_utc_;
|
||||||
|
TransferPriority transfer_priority_;
|
||||||
TransferType transfer_type_;
|
TransferType transfer_type_;
|
||||||
TransferID transfer_id_;
|
TransferID transfer_id_;
|
||||||
NodeID src_node_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);
|
virtual int write(unsigned offset, const uint8_t* data, unsigned len);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
IncomingTransfer(MonotonicTime ts_mono, UtcTime ts_utc, TransferType transfer_type,
|
IncomingTransfer(MonotonicTime ts_mono, UtcTime ts_utc, TransferPriority transfer_priority,
|
||||||
TransferID transfer_id, NodeID source_node_id, uint8_t iface_index)
|
TransferType transfer_type, TransferID transfer_id, NodeID source_node_id,
|
||||||
|
uint8_t iface_index)
|
||||||
: ts_mono_(ts_mono)
|
: ts_mono_(ts_mono)
|
||||||
, ts_utc_(ts_utc)
|
, ts_utc_(ts_utc)
|
||||||
|
, transfer_priority_(transfer_priority)
|
||||||
, transfer_type_(transfer_type)
|
, transfer_type_(transfer_type)
|
||||||
, transfer_id_(transfer_id)
|
, transfer_id_(transfer_id)
|
||||||
, src_node_id_(source_node_id)
|
, src_node_id_(source_node_id)
|
||||||
@@ -57,6 +60,7 @@ public:
|
|||||||
|
|
||||||
MonotonicTime getMonotonicTimestamp() const { return ts_mono_; }
|
MonotonicTime getMonotonicTimestamp() const { return ts_mono_; }
|
||||||
UtcTime getUtcTimestamp() const { return ts_utc_; }
|
UtcTime getUtcTimestamp() const { return ts_utc_; }
|
||||||
|
TransferPriority getPriority() const { return transfer_priority_; }
|
||||||
TransferType getTransferType() const { return transfer_type_; }
|
TransferType getTransferType() const { return transfer_type_; }
|
||||||
TransferID getTransferID() const { return transfer_id_; }
|
TransferID getTransferID() const { return transfer_id_; }
|
||||||
NodeID getSrcNodeID() const { return src_node_id_; }
|
NodeID getSrcNodeID() const { return src_node_id_; }
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ int IncomingTransfer::write(unsigned, const uint8_t*, unsigned)
|
|||||||
* SingleFrameIncomingTransfer
|
* SingleFrameIncomingTransfer
|
||||||
*/
|
*/
|
||||||
SingleFrameIncomingTransfer::SingleFrameIncomingTransfer(const RxFrame& frm)
|
SingleFrameIncomingTransfer::SingleFrameIncomingTransfer(const RxFrame& frm)
|
||||||
: IncomingTransfer(frm.getMonotonicTimestamp(), frm.getUtcTimestamp(), frm.getTransferType(),
|
: IncomingTransfer(frm.getMonotonicTimestamp(), frm.getUtcTimestamp(), frm.getPriority(),
|
||||||
frm.getTransferID(), frm.getSrcNodeID(), frm.getIfaceIndex())
|
frm.getTransferType(), frm.getTransferID(), frm.getSrcNodeID(), frm.getIfaceIndex())
|
||||||
, payload_(frm.getPayloadPtr())
|
, payload_(frm.getPayloadPtr())
|
||||||
, payload_len_(uint8_t(frm.getPayloadLen()))
|
, payload_len_(uint8_t(frm.getPayloadLen()))
|
||||||
{
|
{
|
||||||
@@ -60,8 +60,8 @@ bool SingleFrameIncomingTransfer::isAnonymousTransfer() const
|
|||||||
*/
|
*/
|
||||||
MultiFrameIncomingTransfer::MultiFrameIncomingTransfer(MonotonicTime ts_mono, UtcTime ts_utc,
|
MultiFrameIncomingTransfer::MultiFrameIncomingTransfer(MonotonicTime ts_mono, UtcTime ts_utc,
|
||||||
const RxFrame& last_frame, TransferBufferAccessor& tba)
|
const RxFrame& last_frame, TransferBufferAccessor& tba)
|
||||||
: IncomingTransfer(ts_mono, ts_utc, last_frame.getTransferType(), last_frame.getTransferID(),
|
: IncomingTransfer(ts_mono, ts_utc, last_frame.getPriority(), last_frame.getTransferType(),
|
||||||
last_frame.getSrcNodeID(), last_frame.getIfaceIndex())
|
last_frame.getTransferID(), last_frame.getSrcNodeID(), last_frame.getIfaceIndex())
|
||||||
, buf_acc_(tba)
|
, buf_acc_(tba)
|
||||||
{
|
{
|
||||||
UAVCAN_ASSERT(last_frame.isValid());
|
UAVCAN_ASSERT(last_frame.isValid());
|
||||||
|
|||||||
Reference in New Issue
Block a user