- From: irgu via GitHub <sysbot+gh@w3.org>
- Date: Wed, 28 Sep 2016 11:30:58 +0000
- To: public-web-bluetooth-log@w3.org
At the beginning - thanks for decision that this feature will be
included in specification. My only suggestion is that 'mask/prefix' is
not so intuitive to use and something like 'pattern/ignore' would be
little better and more flexible. I'm not javascript expert, so allowed
myself to write small example in C to illustrate this:
```C
#include <stddef.h>
#include <stdbool.h>
#include <stdio.h>
char service_data_1[] = {0xAA, 0xB3, 0xCC}; //10101010 10110011
11001100
char service_data_2[] = {0xAE, 0x8B, 0xCD}; //10101110 10001011
11001101
char pattern[] = {0xA0, 0x00, 0xCC}; //10100000 00000000
11001100
char ignore[] = {0x0F, 0xFF, 0x00}; //00001111 11111111
00000000
bool service_data_check(char * p_service_data, size_t
service_data_size, char * p_pattern, char * p_ignore)
{
for(char i=0; i<service_data_size; i++)
{
if( (p_service_data[i] & (~ignore[i])) == (p_pattern[i] &
(~ignore[i])) )
{
//byte matches - go ahead
}
else
{
//byte not matches - stop checking
printf("Service data don't matches pattern!\n");
return false;
}
}
printf("Service data matches pattern!\n");
return true;
}
int main()
{
service_data_check(service_data_1, sizeof(service_data_1),
pattern, ignore);
service_data_check(service_data_2, sizeof(service_data_2),
pattern, ignore);
}
```
--
GitHub Notification of comment by irgu
Please view or discuss this issue at
https://github.com/WebBluetoothCG/web-bluetooth/pull/297#issuecomment-250141589
using your GitHub account
Received on Wednesday, 28 September 2016 11:31:05 UTC