SIMPLICI TI 的网络层数据队列管理

根据simplici TI说明,网络层数据队列分为输入队列和输出队列,输入队列用于存储从射频层取回的数据帧,输出队列用于暂存等待发送的数据帧,它们使用了LRU淘汰机制。

单个队列数据队列单元如下所示:

其中fi_usage代表数据单元使用状况,一共有如下几种状态,FI_AVAILABLE代表数据单元可用,FI_INUSE_UNTIL_DEL表示等待释放存储空间,FI_INUSE_UNTIL_TX表示等待发送,FI_INUSE_UNTIL_FWD表示等待AP转发,FI_INUSE_TRANSITION表示取回,不在中断中删除。

oderStamp个人理解用于表示数据在队列中停留时间,mrfiPkt当然就是射频数据包

存储结构如图所示:

Simplici Ti针对队列管理主要提供如下API:

void nwk_QInit(void)

队列初始化
frameInfo_t *nwk_QfindSlot(uint8_t which) 找到一个位置用于从射频取回帧数据
void nwk_QadjustOrder(uint8_t which, uint8_t stamp) 调整队列
frameInfo_t *nwk_QfindOldest(uint8_t which, rcvContext_t *rcv, uint8_t fi_usage) 查看帧队列并查找停留在队列时间最长的可用帧
frameInfo_t *nwk_getQ(uint8_t which) 获取指定帧队列的地址

 

 

 

 

&nb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值