To add a little bit of info, I get the following info on my device after I discover everything.
When I run my writeCharacteristic, it shows that I am writing to device handle 3 and characteristic handle 7, which I think looks right.
I am able to do a writeDescriptor in exactly the same way and it works great. I receive data back from a callback and everything works.
I am also able to write the characteristic using Nordic's "Master Control Panel", and I can see the effect on the bt device, so I think that part of it is working.
Code: Select all
{
"scanRecord": "DQlGb3JtIENvbGxhcjICAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
"address": "EF:E0:23:7C:D3:A7",
"name": "Form Collar2",
"rssi": -82,
"advertisementData": {
"kCBAdvDataLocalName": "Form Collar2"
},
"deviceHandle": 3,
"__uuidMap": {
"00001800-0000-1000-8000-00805f9b34fb": {
"type": 0,
"uuid": "00001800-0000-1000-8000-00805f9b34fb",
"handle": 1
},
"00001801-0000-1000-8000-00805f9b34fb": {
"type": 0,
"uuid": "00001801-0000-1000-8000-00805f9b34fb",
"handle": 2
},
"7a6f0000-40bd-4b77-b7b4-de8a2c3048b7": {
"type": 0,
"uuid": "7a6f0000-40bd-4b77-b7b4-de8a2c3048b7",
"handle": 3,
"__characteristics": [
{
"permissions": 0,
"writeType": 2,
"properties": 16,
"uuid": "7a6f0001-40bd-4b77-b7b4-de8a2c3048b7",
"handle": 6,
"__descriptors": [
{
"permissions": 0,
"uuid": "00002901-0000-1000-8000-00805f9b34fb",
"handle": 10
},
{
"permissions": 0,
"uuid": "00002902-0000-1000-8000-00805f9b34fb",
"handle": 11
}
]
},
{
"permissions": 0,
"writeType": 2,
"properties": 16,
"uuid": "7a6f0002-40bd-4b77-b7b4-de8a2c3048b7",
"handle": 7,
"__descriptors": [
{
"permissions": 0,
"uuid": "00002901-0000-1000-8000-00805f9b34fb",
"handle": 12
},
{
"permissions": 0,
"uuid": "00002902-0000-1000-8000-00805f9b34fb",
"handle": 13
}
]
},
{
"permissions": 0,
"writeType": 2,
"properties": 16,
"uuid": "7a6f0003-40bd-4b77-b7b4-de8a2c3048b7",
"handle": 8,
"__descriptors": [
{
"permissions": 0,
"uuid": "00002901-0000-1000-8000-00805f9b34fb",
"handle": 14
},
{
"permissions": 0,
"uuid": "00002902-0000-1000-8000-00805f9b34fb",
"handle": 15
},
{
"permissions": 0,
"uuid": "00002901-0000-1000-8000-00805f9b34fb",
"handle": 16
},
{
"permissions": 0,
"uuid": "00002902-0000-1000-8000-00805f9b34fb",
"handle": 17
}
]
},
{
"permissions": 0,
"writeType": 2,
"properties": 16,
"uuid": "7a6f0003-40bd-4b77-b7b4-de8a2c3048b7",
"handle": 9,
"__descriptors": []
}
]
},
"0000180f-0000-1000-8000-00805f9b34fb": {
"type": 0,
"uuid": "0000180f-0000-1000-8000-00805f9b34fb",
"handle": 4
},
"0000180a-0000-1000-8000-00805f9b34fb": {
"type": 0,
"uuid": "0000180a-0000-1000-8000-00805f9b34fb",
"handle": 5
},
"7a6f0001-40bd-4b77-b7b4-de8a2c3048b7": {
"permissions": 0,
"writeType": 2,
"properties": 16,
"uuid": "7a6f0001-40bd-4b77-b7b4-de8a2c3048b7",
"handle": 6,
"__descriptors": [
{
"permissions": 0,
"uuid": "00002901-0000-1000-8000-00805f9b34fb",
"handle": 10
},
{
"permissions": 0,
"uuid": "00002902-0000-1000-8000-00805f9b34fb",
"handle": 11
}
]
},
"7a6f0002-40bd-4b77-b7b4-de8a2c3048b7": {
"permissions": 0,
"writeType": 2,
"properties": 16,
"uuid": "7a6f0002-40bd-4b77-b7b4-de8a2c3048b7",
"handle": 7,
"__descriptors": [
{
"permissions": 0,
"uuid": "00002901-0000-1000-8000-00805f9b34fb",
"handle": 12
},
{
"permissions": 0,
"uuid": "00002902-0000-1000-8000-00805f9b34fb",
"handle": 13
}
]
},
"7a6f0003-40bd-4b77-b7b4-de8a2c3048b7": {
"permissions": 0,
"writeType": 2,
"properties": 16,
"uuid": "7a6f0003-40bd-4b77-b7b4-de8a2c3048b7",
"handle": 9,
"__descriptors": []
},
"7a6f0001-40bd-4b77-b7b4-de8a2c3048b7:00002901-0000-1000-8000-00805f9b34fb": {
"permissions": 0,
"uuid": "00002901-0000-1000-8000-00805f9b34fb",
"handle": 10
},
"7a6f0001-40bd-4b77-b7b4-de8a2c3048b7:00002902-0000-1000-8000-00805f9b34fb": {
"permissions": 0,
"uuid": "00002902-0000-1000-8000-00805f9b34fb",
"handle": 11
},
"7a6f0002-40bd-4b77-b7b4-de8a2c3048b7:00002901-0000-1000-8000-00805f9b34fb": {
"permissions": 0,
"uuid": "00002901-0000-1000-8000-00805f9b34fb",
"handle": 12
},
"7a6f0002-40bd-4b77-b7b4-de8a2c3048b7:00002902-0000-1000-8000-00805f9b34fb": {
"permissions": 0,
"uuid": "00002902-0000-1000-8000-00805f9b34fb",
"handle": 13
},
"7a6f0003-40bd-4b77-b7b4-de8a2c3048b7:00002901-0000-1000-8000-00805f9b34fb": {
"permissions": 0,
"uuid": "00002901-0000-1000-8000-00805f9b34fb",
"handle": 16
},
"7a6f0003-40bd-4b77-b7b4-de8a2c3048b7:00002902-0000-1000-8000-00805f9b34fb": {
"permissions": 0,
"uuid": "00002902-0000-1000-8000-00805f9b34fb",
"handle": 17
}
},
"__services": [
{
"type": 0,
"uuid": "00001800-0000-1000-8000-00805f9b34fb",
"handle": 1
},
{
"type": 0,
"uuid": "00001801-0000-1000-8000-00805f9b34fb",
"handle": 2
},
{
"type": 0,
"uuid": "7a6f0000-40bd-4b77-b7b4-de8a2c3048b7",
"handle": 3,
"__characteristics": [
{
"permissions": 0,
"writeType": 2,
"properties": 16,
"uuid": "7a6f0001-40bd-4b77-b7b4-de8a2c3048b7",
"handle": 6,
"__descriptors": [
{
"permissions": 0,
"uuid": "00002901-0000-1000-8000-00805f9b34fb",
"handle": 10
},
{
"permissions": 0,
"uuid": "00002902-0000-1000-8000-00805f9b34fb",
"handle": 11
}
]
},
{
"permissions": 0,
"writeType": 2,
"properties": 16,
"uuid": "7a6f0002-40bd-4b77-b7b4-de8a2c3048b7",
"handle": 7,
"__descriptors": [
{
"permissions": 0,
"uuid": "00002901-0000-1000-8000-00805f9b34fb",
"handle": 12
},
{
"permissions": 0,
"uuid": "00002902-0000-1000-8000-00805f9b34fb",
"handle": 13
}
]
},
{
"permissions": 0,
"writeType": 2,
"properties": 16,
"uuid": "7a6f0003-40bd-4b77-b7b4-de8a2c3048b7",
"handle": 8,
"__descriptors": [
{
"permissions": 0,
"uuid": "00002901-0000-1000-8000-00805f9b34fb",
"handle": 14
},
{
"permissions": 0,
"uuid": "00002902-0000-1000-8000-00805f9b34fb",
"handle": 15
},
{
"permissions": 0,
"uuid": "00002901-0000-1000-8000-00805f9b34fb",
"handle": 16
},
{
"permissions": 0,
"uuid": "00002902-0000-1000-8000-00805f9b34fb",
"handle": 17
}
]
},
{
"permissions": 0,
"writeType": 2,
"properties": 16,
"uuid": "7a6f0003-40bd-4b77-b7b4-de8a2c3048b7",
"handle": 9,
"__descriptors": []
}
]
},
{
"type": 0,
"uuid": "0000180f-0000-1000-8000-00805f9b34fb",
"handle": 4
},
{
"type": 0,
"uuid": "0000180a-0000-1000-8000-00805f9b34fb",
"handle": 5
}
]
}