Vendor Descriptors on Custom BLE GATT Service

froghorn
Posts: 2
Joined: Thu Feb 18, 2021 10:18 pm

Vendor Descriptors on Custom BLE GATT Service

Postby froghorn » Thu Feb 18, 2021 10:54 pm

Hello, I've been trying to set up my own BLE GATT service. I've managed to work my way through the existing documentation with some effort and get things working (almost). I'm able to successfully use my custom service and characteristics, but for some reason my custom descriptor is not showing.

Here is my BLE configuration:

Code: Select all

index,uuid_len,uuid,perm,val_max_len,val_cur_len,value
0,16,0x2800,0x1,2,2,180A
1,16,0x2803,0x1,1,1,2
2,16,0x2A29,0x1,16,10,5865766f2c20496e632e
3,16,0x2803,0x1,1,1,2
4,16,0x2A26,0x1,16,6,76302e302e31
5,16,0x2800,0x1,16,16,338586FB4CAB422A87C479CFD0B2D2D2
6,16,0x2803,0x1,1,1,10
7,128,0x338586FC4CAB422A87C479CFD0B2D2D2,0x1,9,0,
8,128,0x338586FE4CAB422A87C479CFD0B2D2D2,0x1,1,1,0
9,16,0x2902,0x11,2,2,0000
10,16,0x2803,0x1,1,1,10
11,128,0x338586FC4CAB422A87C479CFD0B2D2D2,0x1,9,0,
12,128,0x338586FE4CAB422A87C479CFD0B2D2D2,0x1,1,1,0
13,16,0x2902,0x11,2,2,0000
14,16,0x2803,0x1,1,1,10
15,128,0x338586FD4CAB422A87C479CFD0B2D2D2,0x1,9,0,
16,128,0x338586FE4CAB422A87C479CFD0B2D2D2,0x1,1,1,0
17,16,0x2902,0x11,2,2,0000
And here are my commands:

Code: Select all

ready
AT

OK
AT+BLEINIT=2

OK
AT+BLEGATTSSRVCRE

OK
AT+BLEGATTSSRV?
+BLEGATTSSRV:1,0,0x180A,1
+BLEGATTSSRV:2,0,0x338586FB4CAB422A87C479CFD0B2D2D2,1

OK
AT+BLEGATTSCHAR?
+BLEGATTSCHAR:"char",1,1,0x2A29,0x02
+BLEGATTSCHAR:"char",1,2,0x2A26,0x02
+BLEGATTSCHAR:"char",2,1,0x338586FC4CAB422A87C479CFD0B2D2D2,0x10
+BLEGATTSCHAR:"char",2,2,0x338586FC4CAB422A87C479CFD0B2D2D2,0x10
+BLEGATTSCHAR:"char",2,3,0x338586FD4CAB422A87C479CFD0B2D2D2,0x10

OK
Above, we can see the descriptors specified in the CSV: three 0x2902 (CCCD) and three 0x338586FE4CAB422A87C479CFD0B2D2D2 (my custom descriptor). When I connect to the device via an Android Tablet, I'm able to see all three characteristics and the CCCD for each. However, my custom descriptor is not present.

If I remove my custom descriptors from the CSV but leave the CCCD descriptors, I see an improvement:

Code: Select all

AT+BLEGATTSCHAR?
+BLEGATTSCHAR:"char",1,1,0x2A29,0x02
+BLEGATTSCHAR:"char",1,2,0x2A26,0x02
+BLEGATTSCHAR:"char",2,1,0x338586FC4CAB422A87C479CFD0B2D2D2,0x10
+BLEGATTSCHAR:"desc",2,1,1,0x2902
+BLEGATTSCHAR:"char",2,2,0x338586FC4CAB422A87C479CFD0B2D2D2,0x10
+BLEGATTSCHAR:"desc",2,2,1,0x2902
+BLEGATTSCHAR:"char",2,3,0x338586FD4CAB422A87C479CFD0B2D2D2,0x10
+BLEGATTSCHAR:"desc",2,3,1,0x2902
I also tried changing the first instance of my custom descriptor to 0x2901 (Characteristic User Description). When I do this, AT=BLEGATTSCHAR? reports 0x2901 and 0x2902 descriptors on the first characteristic, then none for the rest.

This would seem to indicate to me that something is going wrong while processing my custom descriptors. It seems processing my custom descriptor also prevents it from properly processing subsequent SIG descriptors correctly (though not entirely, since the clien still reports the, it's just that the server won't show them via the AT command). Are vendor descriptors not supported?

froghorn
Posts: 2
Joined: Thu Feb 18, 2021 10:18 pm

Re: Vendor Descriptors on Custom BLE GATT Service

Postby froghorn » Wed Mar 03, 2021 10:52 pm

Bump. Does anyone have any info on whether or not 128-bit descriptors are supported by ESP-AT?

Who is online

Users browsing this forum: No registered users and 34 guests