This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Z-Stack的RSSI还是不准确

Other Parts Discussed in Thread: Z-STACK

之前用的Z-Stack 2.5.1:

  • 直接从IncomingMsg中提取RSSI,RSSI的值会随着协调器与终端的距离变化而变化;
  • 当RSSI值降低到大约-90dBm的时候,终端掉线。

所以看起来还算正常。

现在用Z-Stack Home 1.2.2a:

  • zcl_samplesw.c函数,即应用函数中,从incomingMsg中提取RSSI,发现这个RSSI值不随距离变化,所以初步判定incomingMsg中的RSSI没有生效;
  • 自己直接读RSSI寄存器,方法如下。
if (RSSISTAT & 0x01) {
    rssiVal = RSSI + MAC_RADIO_RSSI_OFFSET;
    lqiVal = 255*(RSSI-MIN_ED)/(MAX_ED-MIN_ED);
}

目前的问题是,这段代码放哪里合适?试过放zcl_samplesw.c中zclSampleSw_event_loop函数收到ZCL_INCOMING_MSG系统事件消息的时候去读RSSI,结果是这个RSSI值在协调器-终端距离固定的时候也会有30dB的跳动。