大家好!
我遇到了一个问题、即没有发布命令、故障状态为 ERROR_PAST_START。 进行一些测试后、我发现命令到达命令发布位置的时间大约为3ms。 这个问题偶尔会出现、我不明白为什么失败会出现、而且似乎是随机发生的。
下面是有问题的代码:
rf_prop_rx->startTrigger.triggerType = TRIG_ABSTIME;
rf_prop_rx->startTime = ps_only_slots[ps_radio->current_slot_number];
rf_prop_rx->endTrigger.triggerType = TRIG_REL_START;
rf_prop_rx->endTime = RF_convertUsToRatTicks(SLOT_DURATION_US);
rf_prop_rx->startTrigger.pastTrig = true;
s_current_time = RF_getCurrentTime();
// Trigger RX receive
// state exit event (Event_DataRx_Done)
// is raised by d_rx_callback
if(RF_postCmd(ps_radio->rf.handle,
(RF_Op*)rf_prop_rx,
RF_PriorityNormal,
&d_rx_callback,
expected_events) == RF_ALLOC_ERROR)
{
store_runtime_error(HW_PERIPHERAL_RADIO_CMD, ERROR_FRAME("TDMA_DataRx"));
}下面是发布命令时的一些时间戳。 我有三次接到命令失败的信息。 时间戳以 RAT 周期为单位。
数据 RX 丢失启动
开始时间:127558468
当前时间: 127529908
数据 RX 丢失启动
开始时间:421542136
当前时间:421519494
数据 RX 丢失启动
开始时间:66235321
当前时间:66222161
如您所见、开始时间是将来的、但命令发布失败。
任何建议都会很棒!