@BDub Hmm, here we go…
Scan Started
30001000151591084105109111116104121323832831169711400000000000000000096517523224171 || SSID: Timothy & Star || RSSI: 0x97/-53dB || Loop: 0
20001000151401011610510998951031171011151160000000000000000000000102517523224171 || SSID: timb_guest || RSSI: 0x97/-53dB || Loop: 1
1000100014763108011110710111432721051081083270971141090000000000000000003082245451 || SSID: Poker Hill Farm || RSSI: 0x93/-55dB || Loop: 2
00001000000000000000000000000000000000000000000000 || SSID: || RSSI: 0x0/-128dB || Loop: 3
That -53dB for my SSID—Timothy & Star—seems pretty accurate to me (selected client is the Core):
Yeah, as you can see I’ve got it printing out in multiple formats. Looking at your code, you might be over-engeineering it a bit (or just tired)! Here’s my code:
void loop() {
unsigned char wlan_results_raw[49];
char ssid_name[31];
wlan_ioctl_get_scan_results(0, wlan_results_raw);
for (int i = 0; i <= 49; i++) {
Serial.print(wlan_results_raw[i]);
}
for (int i = 12; i <=43; i++) {
int arrayPos = i - 12;
ssid_name[arrayPos] = wlan_results_raw[i];
}
int rssi_raw = wlan_results_raw[8];
int rssi_db = (rssi_raw >> 1) - 128;
Serial.print(" || SSID: ");
Serial.print(ssid_name);
Serial.print(" || RSSI: 0x");
Serial.print(rssi_raw, HEX);
Serial.print("/");
Serial.print(rssi_db);
Serial.print("dB");
Serial.print(" || Loop: ");
Serial.println(loopNum);
delay(1000);
loopNum++;
}