We are using the OAD firmware with the "oad_target" service.
However I have been running into problems on android to perform an Over the Air Download when to phone sends the firmware and is subscribed to the same characterisitc at the same time. So the best solution so far is to simply not subscribe and just send the firmware blindly.
Since this would be a completely blind operation I wanted to enable the oadReadAttrCB to send a read request from the phone every 100 blocks or something and get feedback from the update status like this instead.
I added the ability to read to the characteristic properties "GATT_PROP_READ | GATT_PROP_WRITE_NO_RSP | GATT_PROP_WRITE | GATT_PROP_NOTIFY;"
This works because the phone reports the characteristic is readable afterI made this change. However, when I send the read request the phone throws an error that reading is not permitted. Obviously this problem could be on the phone but I have successfully used read requests like this before, so I am thinking I am missing something on the firmware side to make this readable.
My question is basically: Do I need to do something elso to make the oad_target characteristic adImgBlock readable?