This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

hello how many scan whitelist i can set, sd_ble_gap_whitelist_set();

initialize  whitelist_addrs

case 0:
whitelist_addrs[n].addr[0]=0xF0;
whitelist_addrs[n].addr[1]=0x71;
whitelist_addrs[n].addr[2]=0xA8;
whitelist_addrs[n].addr[3]=0xED;
whitelist_addrs[n].addr[4]=0x93;
whitelist_addrs[n].addr[5]=0xCC;
break;
case 1:
whitelist_addrs[n].addr[0]=0xFA;
whitelist_addrs[n].addr[1]=0x96;
whitelist_addrs[n].addr[2]=0xB8;
whitelist_addrs[n].addr[3]=0xB4;
whitelist_addrs[n].addr[4]=0x26;
whitelist_addrs[n].addr[5]=0xC3;
break;
#if 1
case 2:
whitelist_addrs[n].addr[0]=0xEE;
whitelist_addrs[n].addr[1]=0x09;
whitelist_addrs[n].addr[2]=0xD5;
whitelist_addrs[n].addr[3]=0xB0;
whitelist_addrs[n].addr[4]=0x6F;
whitelist_addrs[n].addr[5]=0xC0;
break;
case 3:
whitelist_addrs[n].addr[0]=0x96;
whitelist_addrs[n].addr[1]=0x09;
whitelist_addrs[n].addr[2]=0xD5;
whitelist_addrs[n].addr[3]=0xB0;
whitelist_addrs[n].addr[4]=0x6F;
whitelist_addrs[n].addr[5]=0xC0;
break;
case 4:
whitelist_addrs[n].addr[0]=0x26;
whitelist_addrs[n].addr[1]=0x34;
whitelist_addrs[n].addr[2]=0xAC;
whitelist_addrs[n].addr[3]=0xB0;
whitelist_addrs[n].addr[4]=0x6F;
whitelist_addrs[n].addr[5]=0xC0;
break;
case 5:
whitelist_addrs[n].addr[0]=0x8A;
whitelist_addrs[n].addr[1]=0x0A;
whitelist_addrs[n].addr[2]=0xD5;
whitelist_addrs[n].addr[3]=0xB0;
whitelist_addrs[n].addr[4]=0x6F;
whitelist_addrs[n].addr[5]=0xC0;
break;
case 6:
whitelist_addrs[n].addr[0]=0x2C;
whitelist_addrs[n].addr[1]=0x34;
whitelist_addrs[n].addr[2]=0xAC;
whitelist_addrs[n].addr[3]=0xB0;
whitelist_addrs[n].addr[4]=0x6F;
whitelist_addrs[n].addr[5]=0xC0;
break;
case 7:
whitelist_addrs[n].addr[0]=0x39;
whitelist_addrs[n].addr[1]=0x34;
whitelist_addrs[n].addr[2]=0xAC;
whitelist_addrs[n].addr[3]=0xB0;
whitelist_addrs[n].addr[4]=0x6F;
whitelist_addrs[n].addr[5]=0xC0;
break;
// case 7:
// whitelist_addrs[n].addr[0]=0xAB;
// whitelist_addrs[n].addr[1]=0x3A;
// whitelist_addrs[n].addr[2]=0x63;
// whitelist_addrs[n].addr[3]=0xC1;
// whitelist_addrs[n].addr[4]=0x70;
// whitelist_addrs[n].addr[5]=0xDB;
// break;
case 8:
whitelist_addrs[n].addr[0]=0xE6;
whitelist_addrs[n].addr[1]=0x09;
whitelist_addrs[n].addr[2]=0xD5;
whitelist_addrs[n].addr[3]=0xB0;
whitelist_addrs[n].addr[4]=0x6F;
whitelist_addrs[n].addr[5]=0xC0;
break;
// case 8:
// whitelist_addrs[n].addr[0]=0xAC;
// whitelist_addrs[n].addr[1]=0x3A;
// whitelist_addrs[n].addr[2]=0x63;
// whitelist_addrs[n].addr[3]=0xC1;
// whitelist_addrs[n].addr[4]=0x70;
// whitelist_addrs[n].addr[5]=0xDB;
// break;
case 9:
whitelist_addrs[n].addr[0]=0x89;
whitelist_addrs[n].addr[1]=0x32;
whitelist_addrs[n].addr[2]=0xAC;
whitelist_addrs[n].addr[3]=0xB0;
whitelist_addrs[n].addr[4]=0x6F;
whitelist_addrs[n].addr[5]=0xC0;
break;
case 10:
whitelist_addrs[n].addr[0]=0x5A;
whitelist_addrs[n].addr[1]=0x34;
whitelist_addrs[n].addr[2]=0xAC;
whitelist_addrs[n].addr[3]=0xB0;
whitelist_addrs[n].addr[4]=0x6F;
whitelist_addrs[n].addr[5]=0xC0;
break;
case 11:
whitelist_addrs[n].addr[0]=0xE7;
whitelist_addrs[n].addr[1]=0x0A;
whitelist_addrs[n].addr[2]=0xD5;
whitelist_addrs[n].addr[3]=0xB0;
whitelist_addrs[n].addr[4]=0x6F;
whitelist_addrs[n].addr[5]=0xC0;
break;
case 12:
whitelist_addrs[n].addr[0]=0x95;
whitelist_addrs[n].addr[1]=0x32;
whitelist_addrs[n].addr[2]=0xAC;
whitelist_addrs[n].addr[3]=0xB0;
whitelist_addrs[n].addr[4]=0x6F;
whitelist_addrs[n].addr[5]=0xC0;
break;
case 13:
whitelist_addrs[n].addr[0]=0x2D;
whitelist_addrs[n].addr[1]=0x34;
whitelist_addrs[n].addr[2]=0xAC;
whitelist_addrs[n].addr[3]=0xB0;
whitelist_addrs[n].addr[4]=0x6F;
whitelist_addrs[n].addr[5]=0xC0;
break;
case 14:
whitelist_addrs[n].addr[0]=0xD5;
whitelist_addrs[n].addr[1]=0x09;
whitelist_addrs[n].addr[2]=0xD5;
whitelist_addrs[n].addr[3]=0xB0;
whitelist_addrs[n].addr[4]=0x6F;
whitelist_addrs[n].addr[5]=0xC0;
break;
case 15:
whitelist_addrs[n].addr[0]=0xAD;
whitelist_addrs[n].addr[1]=0x3A;
whitelist_addrs[n].addr[2]=0x63;
whitelist_addrs[n].addr[3]=0xC1;
whitelist_addrs[n].addr[4]=0x70;
whitelist_addrs[n].addr[5]=0xDB;
break;
#endif
#endif

i add  16 addr in the whitelist_addrs,then use sd_ble_gap_whitelist_set(whitelist_addrs,16),but it failed。return  0000000C,it meanning The given whitelist size is invalid (zero or too large); this can only return when  pp_wl_addrs is not NULL。then i use sd_ble_gap_whitelist_set(whitelist_addrs,8),it ok.so then  Maximum amount   scan whitelist is 8?i use sd_ble_gap_whitelist_set(whitelist_addrs,9),  it failed too.

my english is not good, thanks

Related