Using Android and BLE2 V1.35 I'm trying to read a single characteristic from a BlueGiga for which I wrote the program using BGScript.
However, each time I issue the query where I specify the service and individual characteristic, it's sending all three characteristics from that service (i.e. using three packets).
The GATT declaration, for the record, is
The call I am making from my main module results in
But I susbsequently receive these characteristics:
Nothing else is causing any messages. The receiving part is agnostic to whether we have sent a request or not so I'm not missing messages, i.e. it seems that the response of three characteristics can only be due to that single request.
Does anyone have any ideas?
TIA Simon
However, each time I issue the query where I specify the service and individual characteristic, it's sending all three characteristics from that service (i.e. using three packets).
The GATT declaration, for the record, is
B4X:
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<service uuid="1800">
<description>Generic Access Profile</description>
<characteristic uuid="2a00">
<properties read="true" const="true" />
<value>MSL BLE Link</value>
</characteristic>
<characteristic uuid="2a01">
<!-- 2A01: org.bluetooth.characteristic.gap.appearance set to Generic Access -->
<properties read="true" const="true" />
<value type="hex">0100</value>
</characteristic>
</service>
<service type="primary" uuid="180A" id="manufacturer">
<characteristic uuid="2A29">
<properties read="true" const="true" />
<value>MSL Oilfield Services Ltd</value>
</characteristic>
</service>
<!-- 07-09-2017 integrated the two cal arrays in with Strain Guage Reading -->
<!-- 15-12-2017 added TareVal, TareOn and ShuntOn to XCAL -->
<service uuid="6201be54-f2ba-407c-94aa-78000f71db00" advertise="true">
<description>Link Strain Guage Reading</description>
<include id="manufacturer" />
<characteristic uuid="b864d088-8ba6-4026-87a8-5dd09f59800b" id="xgatt_readings">
<properties read="true" notify="true" />
<!-- 18 bytes 0-2 ADC: 3-5 Peak: 6-8 Offs: 9-10 Battery: 11-15 Temp: 16 RSSI: 17 ErrCode -->
<value type="hex">000000000000000000000000000000000000</value>
</characteristic>
<characteristic uuid="b0fa7d86-3c5f-410e-8ebd-08fb6798bba9" id="xgatt_cal">
<properties read="true" write="true" notify="true" />
<!-- 20 Bytes 0-2 Cal0 (Z): 3-5 Cal1 (20%): 6-8 Cal2 (40%): 9-11 Cal3 (60%): 12-14 Cal4 (80%): 15-17 Cal5 (100%): 18 SaampRate: 19: ErrCode -->
<value type="hex">0000000000000000000000000000000000000000</value>
</characteristic>
<characteristic uuid="394de3d8-cc6b-47ca-8270-6543d8b16089" id="xgatt_xcal">
<properties read="true" write="true" notify="true" />
<!-- 16 Bytes 0-1 WLL in t.t: 2-3 Alarm Level t.t: 4-6 SerialNo: 7-9 CalDate: 10-12 TareADC: 13 TareOn: 14 ShuntOn: 15 ErrCode -->
<value type="hex">00000000000000000000000000000000</value>
</characteristic>
</service>
</configuration>
The call I am making from my main module results in
B4X:
Starter.ReadItem(6201be54-f2ba-407c-94aa-78000f71db00,b864d088-8ba6-4026-87a8-5dd09f59800b)
But I susbsequently receive these characteristics:
B4X:
CCI:b864d088-8ba6-4026-87a8-5dd09f59800b len:18
then
CCI:b0fa7d86-3c5f-410e-8ebd-08fb6798bba9 len:20
then
CCI:394de3d8-cc6b-47ca-8270-6543d8b16089 len:16
Nothing else is causing any messages. The receiving part is agnostic to whether we have sent a request or not so I'm not missing messages, i.e. it seems that the response of three characteristics can only be due to that single request.
Does anyone have any ideas?
TIA Simon