void WFDisplayScanMgr(void) { DRV_WIFI_SCAN_RESULT bssDesc; char ssid[32+1]; char buf[10]; int i; char rssiChan[48]; if ((SCANCXT.numScanResults == 0) || (!IS_SCAN_STATE_DISPLAY(SCANCXT.scanState)) || (IS_SCAN_IN_PROGRESS(SCANCXT.scanState)) || (!IS_SCAN_STATE_VALID(SCANCXT.scanState))) { SCAN_CLEAR_DISPLAY(SCANCXT.scanState); return; } WFRetrieveScanResult(SCANCXT.displayIdx, &bssDesc); /* Display SSID */ for(i=0;i<32;i++) ssid[i] = bssDesc.ssid[i]; ssid[32] = 0; if(bssDesc.ssidLen<32) ssid[bssDesc.ssidLen] = 0; sprintf(buf,"%d ",SCANCXT.displayIdx+1); SYS_CONSOLE_MESSAGE(buf); SYS_CONSOLE_MESSAGE("SSID:"); SYS_CONSOLE_MESSAGE(ssid); SYS_CONSOLE_MESSAGE("\r\n"); /* Display SSID & Channel */ /* RSSI_MAX : 200, RSSI_MIN : 106 */ sprintf(rssiChan, " => RSSI: %u, Channel: %u\r\n", bssDesc.rssi, bssDesc.channel); SYS_CONSOLE_MESSAGE(rssiChan); #if (WF_DEFAULT_NETWORK_TYPE == DRV_WIFI_NETWORK_TYPE_SOFT_AP) || (DRV_WIFI_DEFAULT_ADHOC_PRESCAN == DRV_WIFI_ENABLED) preScanResult[SCANCXT.displayIdx]= bssDesc; // WF_PRESCAN if (SCANCXT.displayIdx == sizeof(preScanResult) / sizeof(preScanResult[0]) - 1) { SCAN_CLEAR_DISPLAY(SCANCXT.scanState); SCANCXT.displayIdx = 0; #if defined(CMD_PARSER) WFConsoleReleaseConsoleMsg(); #endif } #endif if (++SCANCXT.displayIdx == SCANCXT.numScanResults) { SCAN_CLEAR_DISPLAY(SCANCXT.scanState); SCANCXT.displayIdx = 0; #if defined(CMD_PARSER) WFConsoleReleaseConsoleMsg(); #endif } }
extern void WFDisplayScanMgr() { tWFScanResult bssDesc; char ssid[32]; if (!IS_SCAN_STATE_DISPLAY(SCANCXT.scanState)) return; if (IS_SCAN_IN_PROGRESS(SCANCXT.scanState)) return; if (!IS_SCAN_STATE_VALID(SCANCXT.scanState)) return; WFRetrieveScanResult(SCANCXT.displayIdx, &bssDesc); /* Display SSID */ sprintf(ssid, "%s\r\n", bssDesc.ssid); putsUART(ssid); if (++SCANCXT.displayIdx == SCANCXT.numScanResults) { SCAN_CLEAR_DISPLAY(SCANCXT.scanState); SCANCXT.displayIdx = 0; #if defined(WF_CONSOLE) WFConsoleReleaseConsoleMsg(); #endif } return; }
void WFGetScanResults(void) { int id,counts; if (SCANCXT.numScanResults == 0) { SCAN_CLEAR_DISPLAY(SCANCXT.scanState); return; } if (IS_SCAN_IN_PROGRESS(SCANCXT.scanState)) return; if (!IS_SCAN_STATE_VALID(SCANCXT.scanState)) return; counts = SCANCXT.numScanResults>50? 50:SCANCXT.numScanResults; for(id = 0;id<SCANCXT.numScanResults;id++) { WFRetrieveScanResult(id, &preScanResult[id]); } SCAN_CLEAR_DISPLAY(SCANCXT.scanState); return; }
uint16_t WDRV_ScanStart(void) { if (IS_SCAN_IN_PROGRESS(g_scanStatus.scanState)) return 0; WDRV_EXT_CmdScanStart(); SCAN_SET_IN_PROGRESS(g_scanStatus.scanState); SCAN_CLEAR_VALID(g_scanStatus.scanState); SCAN_CLEAR_DISPLAY(g_scanStatus.scanState); g_wdrv_priv.isScanDone = false; g_scanStatus.displayIdx = 0; return WDRV_SUCCESS; }
extern void WFDisplayScanMgr() { tWFScanResult bssDesc; char ssid[32]; char rssiChan[48]; if (SCANCXT.numScanResults == 0) return; if (!IS_SCAN_STATE_DISPLAY(SCANCXT.scanState)) return; if (IS_SCAN_IN_PROGRESS(SCANCXT.scanState)) return; if (!IS_SCAN_STATE_VALID(SCANCXT.scanState)) return; WFRetrieveScanResult(SCANCXT.displayIdx, &bssDesc); /* Display SSID */ sprintf(ssid, "%s\r\n", bssDesc.ssid); putsUART(ssid); /* Display SSID & Channel */ /* RSSI_MAX : 200, RSSI_MIN : 106 */ sprintf(rssiChan, " => RSSI: %u, Channel: %u\r\n", bssDesc.rssi, bssDesc.channel); putsUART(rssiChan); if (++SCANCXT.displayIdx == SCANCXT.numScanResults) { SCAN_CLEAR_DISPLAY(SCANCXT.scanState); SCANCXT.displayIdx = 0; #if defined(WF_CONSOLE) WFConsoleReleaseConsoleMsg(); #endif } return; }
void WFDisplayScanMgr() { tWFScanResult bssDesc; char ssid[WF_MAX_SSID_LENGTH+1]; char rssiChan[48]; int i; char st[80]; if (SCANCXT.numScanResults == 0) { SCAN_CLEAR_DISPLAY(SCANCXT.scanState); return; } if (!IS_SCAN_STATE_DISPLAY(SCANCXT.scanState)) return; if (IS_SCAN_IN_PROGRESS(SCANCXT.scanState)) return; if (!IS_SCAN_STATE_VALID(SCANCXT.scanState)) return; WFRetrieveScanResult(SCANCXT.displayIdx, &bssDesc); sprintf(st,"%3d ",SCANCXT.displayIdx); putrsUART(st); if (bssDesc.bssType == 1) sprintf(st,"NetType: Infra."); else if (bssDesc.bssType == 2) sprintf(st,"NetType: Ad-hoc"); putrsUART(st); sprintf(st,", ESSID:"); putrsUART(st); /* Display SSID */ for(i=0;i<bssDesc.ssidLen;i++) ssid[i] = bssDesc.ssid[i]; ssid[bssDesc.ssidLen] = 0; putsUART(ssid); putrsUART("\r\n"); /* Display SSID & Channel */ #ifdef STACK_USE_CERTIFICATE_DEBUG sprintf(rssiChan, "\tRSSI: %3u, Channel: %2u", bssDesc.rssi, bssDesc.channel); putsUART(rssiChan); /* Display BSSID */ sprintf(rssiChan, ", BSSID: %02x:%02x:%02x:%02x:%02x:%02x", bssDesc.bssid[0],bssDesc.bssid[1],bssDesc.bssid[2], bssDesc.bssid[3],bssDesc.bssid[4],bssDesc.bssid[5]); putsUART(rssiChan); /* Display Security Mode */ if((bssDesc.apConfig & 0x10) == 0) // bit4==0: open (no security) { sprintf(rssiChan, ", SecMode: %s\r\n", "Open"); } else // bit4== 1: security { if ((bssDesc.apConfig & 0xc0) == 0xc0) // bit7 == 1: WPA2, bit6 == 1: WPA { sprintf(rssiChan, ", SecMode: %s\r\n", "WPA/WPA2"); } else if ((bssDesc.apConfig & 0x80) == 0x80) // bit7 == 1: WPA2 { sprintf(rssiChan, ", SecMode: %s\r\n", "WPA2"); } else if((bssDesc.apConfig & 0x40) == 0x40)//bit6==1: WPA { sprintf(rssiChan, ", SecMode: %s\r\n", "WPA"); } else // bit7==0, bit6==0, WEP { sprintf(rssiChan, ", SecMode: %s\r\n", "WEP"); } } putsUART(rssiChan); #else sprintf(rssiChan, ", RSSI: %u, Channel: %u\r\n", bssDesc.rssi, bssDesc.channel); putsUART(rssiChan); #endif #if (MY_DEFAULT_NETWORK_TYPE == WF_SOFT_AP) preScanResult[SCANCXT.displayIdx]= bssDesc; // WF_PRESCAN if (SCANCXT.displayIdx == sizeof(preScanResult) / sizeof(preScanResult[0]) - 1) { SCAN_CLEAR_DISPLAY(SCANCXT.scanState); SCANCXT.displayIdx = 0; #if defined(WF_CONSOLE) & defined(STACK_USE_UART) WFConsoleReleaseConsoleMsg(); #endif } #endif if (++SCANCXT.displayIdx == SCANCXT.numScanResults) { SCAN_CLEAR_DISPLAY(SCANCXT.scanState); SCANCXT.displayIdx = 0; #if defined(WF_CONSOLE) & defined(STACK_USE_UART) WFConsoleReleaseConsoleMsg(); #endif } return; }
void WDRV_ScanResultsDisplayManager(void) { static bool displayHeader = true; uint8_t i; uint8_t ssid[32 + 1]; if ((g_scanStatus.numberOfResults == 0) || (!IS_SCAN_STATE_DISPLAY(g_scanStatus.scanState)) || (IS_SCAN_IN_PROGRESS(g_scanStatus.scanState)) || (!IS_SCAN_STATE_VALID(g_scanStatus.scanState))) { SCAN_CLEAR_DISPLAY(g_scanStatus.scanState); return; } if (displayHeader) { g_scanStatus.displayIdx = 0; SYS_CONSOLE_MESSAGE((const char *)"\nWi-Fi Scan Results:\r\n\n"); if (g_scanStatus.numberOfResults == 0) { /* No AP found, re-initialize the scan context state. Scan is not allowed in Soft AP mode. * However, g_scanStatus.numberOfResults needs to be preserved for webpage using. */ SYS_CONSOLE_MESSAGE((const char *)"No AP found\r\n "); SCAN_CLEAR_DISPLAY(g_scanStatus.scanState); if (WDRV_CONFIG_PARAMS(networkType) == WDRV_NETWORK_TYPE_SOFT_AP) { SCAN_CLEAR_VALID(g_scanStatus.scanState); return; } else { return; } } else { SYS_CONSOLE_MESSAGE((const char *)" SSID RSSI Channel\r\n"); SYS_CONSOLE_MESSAGE((const char *)" -------------------------------- ---- -------\r\n"); displayHeader = false; } } // If the g_scanResults[] buffer is full, don't try to store more scan results to it. if (g_scanStatus.displayIdx > sizeof(g_scanResults) / sizeof(g_scanResults[0]) - 1) { SCAN_CLEAR_DISPLAY(g_scanStatus.scanState); g_scanStatus.displayIdx = 0; displayHeader = true; return; } WDRV_EXT_ScanResultGet(g_scanStatus.displayIdx, &(g_scanResults[g_scanStatus.displayIdx])); /* Display SSID */ memset(ssid, ' ', sizeof(ssid)); for (i = 0; i < g_scanResults[g_scanStatus.displayIdx].ssidLen; ++i) { if (!isprint(g_scanResults[g_scanStatus.displayIdx].ssid[i])) ssid[i] = '*'; else ssid[i] = g_scanResults[g_scanStatus.displayIdx].ssid[i]; } ssid[32] = 0; /* RSSI_MAX : 128, RSSI_MIN : 43 */ SYS_CONSOLE_PRINT(" %2d)%s %2u %u\r\n", g_scanStatus.displayIdx + 1, ssid, g_scanResults[g_scanStatus.displayIdx].rssi, g_scanResults[g_scanStatus.displayIdx].channel); // If all the scan results have been displayed and stored, clear status and return. if (++g_scanStatus.displayIdx >= g_scanStatus.numberOfResults) { SCAN_CLEAR_DISPLAY(g_scanStatus.scanState); g_scanStatus.displayIdx = 0; displayHeader = true; } }
void WFDisplayScanMgr(void) { DRV_WIFI_SCAN_RESULT bssDesc; char ssid[32 + 1]; int i; if ((SCANCXT.numScanResults == 0) || (!IS_SCAN_STATE_DISPLAY(SCANCXT.scanState)) || (IS_SCAN_IN_PROGRESS(SCANCXT.scanState)) || (!IS_SCAN_STATE_VALID(SCANCXT.scanState))) { SCAN_CLEAR_DISPLAY(SCANCXT.scanState); return; } WFRetrieveScanResult(SCANCXT.displayIdx, &bssDesc); memset(ssid, ' ', sizeof(ssid)); /* Display SSID */ for (i = 0; i < bssDesc.ssidLen; i++) { if (!isprint(bssDesc.ssid[i])) { ssid[i] = '*'; } else { ssid[i] = bssDesc.ssid[i]; } } ssid[32] = 0; /* Display Index & SSID */ //SYS_CONSOLE_PRINT("%2d) ",SCANCXT.displayIdx + 1); //SYS_CONSOLE_PRINT("%s", ssid); /* Display RSSI & Channel */ /* RSSI_MAX : 128, RSSI_MIN : 43 */ //SYS_CONSOLE_PRINT(" %2u %u\r\n", bssDesc.rssi, bssDesc.channel); SYS_CONSOLE_PRINT(" %2d) %s %2u %u\r\n", SCANCXT.displayIdx + 1, ssid, bssDesc.rssi, bssDesc.channel); if (p_wifi_ConfigData->networkType == DRV_WIFI_NETWORK_TYPE_SOFT_AP) { preScanResult[SCANCXT.displayIdx] = bssDesc; // WF_PRESCAN if (SCANCXT.displayIdx == sizeof(preScanResult) / sizeof(preScanResult[0]) - 1) { /* Prescan is finished, re-initialize the scan context state. Scan is not allowed in Soft AP mode. * However, SCANCXT.numScanResults needs to be preserved for webpage using. */ SCAN_CLEAR_VALID(SCANCXT.scanState); SCAN_CLEAR_DISPLAY(SCANCXT.scanState); SCANCXT.displayIdx = 0; } } else { #if (DRV_WIFI_DEFAULT_ADHOC_PRESCAN == DRV_WIFI_ENABLED) preScanResult[SCANCXT.displayIdx] = bssDesc; // WF_PRESCAN if (SCANCXT.displayIdx == sizeof(preScanResult) / sizeof(preScanResult[0]) - 1) { SCAN_CLEAR_DISPLAY(SCANCXT.scanState); SCANCXT.displayIdx = 0; } #endif } if (++SCANCXT.displayIdx == SCANCXT.numScanResults) { if (p_wifi_ConfigData->networkType == DRV_WIFI_NETWORK_TYPE_SOFT_AP) { /* Prescan is finished, re-initialize the scan context state. Scan is not allowed in Soft AP mode. * However, SCANCXT.numScanResults needs to be preserved for webpage using. */ SCAN_CLEAR_VALID(SCANCXT.scanState); SCAN_CLEAR_DISPLAY(SCANCXT.scanState); SCANCXT.displayIdx = 0; } else { SCAN_CLEAR_DISPLAY(SCANCXT.scanState); SCANCXT.displayIdx = 0; } } }
void WFDisplayScanMgr() { tWFScanResult bssDesc; char ssid[80]; char rssiChan[48]; int count; if (SCANCXT.numScanResults == 0) return; if (!IS_SCAN_STATE_DISPLAY(SCANCXT.scanState)) return; if (IS_SCAN_IN_PROGRESS(SCANCXT.scanState)) return; if (!IS_SCAN_STATE_VALID(SCANCXT.scanState)) return; WFRetrieveScanResult(SCANCXT.displayIdx, &bssDesc); /* Display SSID */ count = SCANCXT.displayIdx + 1; sprintf(ssid, "%d SSID: %s\r\n", count, bssDesc.ssid); putsUART(ssid); /* Display SSID & Channel */ /* RSSI_MAX : 200, RSSI_MIN : 106 */ #ifdef STACK_USE_CERTIFATE_DEBUG sprintf(rssiChan, " => RSSI: %u, Channel: %u", bssDesc.rssi, bssDesc.channel); putsUART(rssiChan); /* Display BSSID */ sprintf(rssiChan, " , BSSID: %02x:%02x:%02x:%02x:%02x:%02x ,", bssDesc.bssid[0],bssDesc.bssid[1],bssDesc.bssid[2], bssDesc.bssid[3],bssDesc.bssid[4],bssDesc.bssid[5]); putsUART(rssiChan); /* Display Security Mode */ if((bssDesc.apConfig & 0x10) == 0) // bit4==0: open (no security) { sprintf(rssiChan, "Security mode: %s\r\n", "Open"); } else // bit4== 1: security { if ((bssDesc.apConfig & 0x80) == 0x80) // bit7 == 1: WPA2 { sprintf(rssiChan, "Security mode: %s\r\n", "WPA2"); } else if((bssDesc.apConfig & 0x40) == 0x40)//bit6==1: WPA { sprintf(rssiChan, "Security mode: %s\r\n", "WPA"); } else // bit7==0, bit6 ==0, WEP { sprintf(rssiChan, "Security mode: %s\r\n", "WEP"); } } putsUART(rssiChan); #else sprintf(rssiChan, " => RSSI: %u, Channel: %u\r\n", bssDesc.rssi, bssDesc.channel); putsUART(rssiChan); #endif #if (MY_DEFAULT_NETWORK_TYPE == WF_SOFT_AP) preScanResult[SCANCXT.displayIdx]= bssDesc; // WF_PRESCAN #endif if (++SCANCXT.displayIdx == SCANCXT.numScanResults) { SCAN_CLEAR_DISPLAY(SCANCXT.scanState); SCANCXT.displayIdx = 0; #if defined(WF_CONSOLE) & defined(STACK_USE_UART) WFConsoleReleaseConsoleMsg(); #endif } return; }
void WFDisplayScanMgr(void) { t_wfScanResult bssDesc; char st[80]; int i; if ((SCANCXT.numScanResults == 0) || (!IS_SCAN_STATE_DISPLAY(SCANCXT.scanState)) || (IS_SCAN_IN_PROGRESS(SCANCXT.scanState)) || (!IS_SCAN_STATE_VALID(SCANCXT.scanState))) { return; } WFRetrieveScanResult(SCANCXT.displayIdx, &bssDesc); /* Display SSID */ sprintf(st,"%2d ",SCANCXT.displayIdx); SYS_CONSOLE_MESSAGE(st); SYS_CONSOLE_MESSAGE("SSID: "); for(i = 0; i < bssDesc.ssidLen; i++) st[i] = bssDesc.ssid[i]; st[bssDesc.ssidLen]=0; SYS_CONSOLE_MESSAGE(st); SYS_CONSOLE_MESSAGE("\r\n"); /* Display BSSID */ SYS_CONSOLE_MESSAGE(" BSSID: "); for(i = 0; i < WF_BSSID_LENGTH; i++) { if (i < 5) { sprintf(st, "%02X:", bssDesc.bssid[i]); SYS_CONSOLE_MESSAGE(st); } else { sprintf(st, "%02X, ", bssDesc.bssid[i]); SYS_CONSOLE_MESSAGE(st); } } /* Display network mode*/ if (bssDesc.bssType == WF_NETWORK_TYPE_INFRASTRUCTURE) SYS_CONSOLE_MESSAGE("Network Mode: Infra, "); else if (bssDesc.bssType == WF_NETWORK_TYPE_ADHOC) SYS_CONSOLE_MESSAGE("Network Mode: Adhoc, "); /* Display RSSI & Channel */ sprintf(st, "RSSI: %3u, Channel: %2u\r\n", bssDesc.rssi, bssDesc.channel); SYS_CONSOLE_MESSAGE(st); #if (WF_DEFAULT_NETWORK_TYPE == WF_NETWORK_TYPE_SOFT_AP) preScanResult[SCANCXT.displayIdx]= bssDesc; // WF_PRESCAN #endif if (++SCANCXT.displayIdx == SCANCXT.numScanResults) { SCAN_CLEAR_DISPLAY(SCANCXT.scanState); SCANCXT.displayIdx = 0; #if defined(CMD_PARSER) WFConsoleReleaseConsoleMsg(); #endif } }