From 4896d868693d37d39e2ab06a332a5da9ac78a620 Mon Sep 17 00:00:00 2001 From: doggo42 <38188031+doggo4242@users.noreply.github.com> Date: Mon, 31 Aug 2020 11:41:22 -0400 Subject: [PATCH 1/4] Optimize hex-to-int conversion function --- experiments/ibeacon.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/experiments/ibeacon.c b/experiments/ibeacon.c index e518421..b77a9e4 100644 --- a/experiments/ibeacon.c +++ b/experiments/ibeacon.c @@ -21,16 +21,15 @@ int global_done = 0; unsigned int *uuid_str_to_data(char *uuid) { - char conv[] = "0123456789ABCDEF"; - int len = strlen(uuid); - unsigned int *data = (unsigned int*)malloc(sizeof(unsigned int) * len); - unsigned int *dp = data; - char *cu = uuid; + unsigned int *data = (unsigned int*)malloc(sizeof(unsigned int) * (strlen(uuid)/2)); + int c = 0; - for(; cu='A' && uuid[c]<='F')?(uuid[c]-'A'+10)*16:(uuid[c]-'0')*16; + data[i]+=(uuid[c+1]>='A' && uuid[c+1]<='F')?(uuid[c+1]-'A'+10):uuid[c+1]-'0'; + c+=2; } return data; From 3f15590babf8fdec3415b4f3aa263f7b2075d566 Mon Sep 17 00:00:00 2001 From: doggo42 <38188031+doggo4242@users.noreply.github.com> Date: Mon, 31 Aug 2020 11:41:55 -0400 Subject: [PATCH 2/4] Update advertisetest.c --- experiments/advertisetest.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/experiments/advertisetest.c b/experiments/advertisetest.c index f373537..0723cd9 100644 --- a/experiments/advertisetest.c +++ b/experiments/advertisetest.c @@ -18,16 +18,15 @@ unsigned int *uuid_str_to_data(char *uuid) { - char conv[] = "0123456789ABCDEF"; - int len = strlen(uuid); - unsigned int *data = (unsigned int*)malloc(sizeof(unsigned int) * len); - unsigned int *dp = data; - char *cu = uuid; + unsigned int *data = (unsigned int*)malloc(sizeof(unsigned int) * (strlen(uuid)/2)); + int c = 0; - for(; cu='A' && uuid[c]<='F')?(uuid[c]-'A'+10)*16:(uuid[c]-'0')*16; + data[i]+=(uuid[c+1]>='A' && uuid[c+1]<='F')?(uuid[c+1]-'A'+10):uuid[c+1]-'0'; + c+=2; } return data; From f9ab5034ebc1aba38c52956bef6f4c596251e47c Mon Sep 17 00:00:00 2001 From: doggo42 <38188031+doggo4242@users.noreply.github.com> Date: Mon, 31 Aug 2020 12:01:09 -0400 Subject: [PATCH 3/4] Fix stupid mistakes --- experiments/ibeacon.c | 1 + 1 file changed, 1 insertion(+) diff --git a/experiments/ibeacon.c b/experiments/ibeacon.c index b77a9e4..80cbaaf 100644 --- a/experiments/ibeacon.c +++ b/experiments/ibeacon.c @@ -27,6 +27,7 @@ unsigned int *uuid_str_to_data(char *uuid) for(int i = 0; i<(strlen(uuid)/2); i++) { uuid[c]=toupper(uuid[c]); + uuid[c+1]=toupper(uuid[c+1]); data[i]=(uuid[c]>='A' && uuid[c]<='F')?(uuid[c]-'A'+10)*16:(uuid[c]-'0')*16; data[i]+=(uuid[c+1]>='A' && uuid[c+1]<='F')?(uuid[c+1]-'A'+10):uuid[c+1]-'0'; c+=2; From 92742fbe78922d57e3adab8e5435c1ca000c56e6 Mon Sep 17 00:00:00 2001 From: doggo42 <38188031+doggo4242@users.noreply.github.com> Date: Mon, 31 Aug 2020 12:01:34 -0400 Subject: [PATCH 4/4] Fix stupid mistakes --- experiments/advertisetest.c | 1 + 1 file changed, 1 insertion(+) diff --git a/experiments/advertisetest.c b/experiments/advertisetest.c index 0723cd9..28bde9d 100644 --- a/experiments/advertisetest.c +++ b/experiments/advertisetest.c @@ -24,6 +24,7 @@ unsigned int *uuid_str_to_data(char *uuid) for(int i = 0; i<(strlen(uuid)/2); i++) { uuid[c]=toupper(uuid[c]); + uuid[c+1]=toupper(uuid[c+1]); data[i]=(uuid[c]>='A' && uuid[c]<='F')?(uuid[c]-'A'+10)*16:(uuid[c]-'0')*16; data[i]+=(uuid[c+1]>='A' && uuid[c+1]<='F')?(uuid[c+1]-'A'+10):uuid[c+1]-'0'; c+=2;