// define modules
#define ToCoNet_USE_MOD_NBSCAN
#define ToCoNet_USE_MOD_NBSCAN_SLAVE
// includes
#include "ToCoNet.h"
#include "ToCoNet_mod_prototype.h"
void cbToCoNet_vNwkEvent(teEvent eEvent, uint32 u32arg) {
int i;
switch(eEvent) {
case E_EVENT_TOCONET_NWK_START:
break;
case E_EVENT_TOCONET_NWK_SCAN_COMPLETE:
_C {
tsToCoNet_NbScan_Result *pNbsc = (tsToCoNet_NbScan_Result *)u32arg;
if (pNbsc->u8scanMode & TOCONET_NBSCAN_NORMAL_MASK) { // 通常探索による結果
// 全チャネルスキャン結果
for(i = 0; i < pNbsc->u8found; i++) { // 見つかった数
// LQI 順に取り出す
tsToCoNet_NbScan_Entitiy *pEnt =
&pNbsc->sScanResult[pNbsc->u8IdxLqiSort[i]];
if (pEnt->bFound) {
// エントリが見つかった
// pEnt->u8ch(チャネル),
// pEnt->u32addr(ロングアドレス),
// pEnt->u16addr(ショートアドレス),
// pEnt->u8lqi(LQI値)
}
}
} else if (pNbsc->u8scanMode & TOCONET_NBSCAN_QUICK_EXTADDR_MASK) { // アドレス指定探索の結果
if(pNbSc->u8found) {
tsToCoNet_NbScan_Entitiy *pEnt = &pNbsc->sScanResult[0];
// 見つかった場合は一つだけなので最初の要素を取り出す。
// pEnt->u8ch,
// pEnt->u8lqi(LQI値)
} else {
// 見つからなかった
}
}
}
break;