Tool/software: TI-RTOS
I use this example to pass messages from server (periph) to client(central). I use the BLE software user guide on the example.
I want to use the Notify option on characteristic 4 . I found the abstract build the format of it in simple_gatt_profile.c on
static gattAttribute_t simpleProfileAttrTbl[SERVAPP_NUM_ATTR_SUPPORTED]
.
.
.
// Characteristic 4 Declaration
{
{ ATT_BT_UUID_SIZE, characterUUID },
GATT_PERMIT_READ,
0,
&simpleProfileChar4Props
},
// Characteristic Value 4
{
{ ATT_BT_UUID_SIZE, simpleProfilechar4UUID },
0,
0,
&simpleProfileChar4
},
// Characteristic 4 configuration
{
{ ATT_BT_UUID_SIZE, clientCharCfgUUID },
GATT_PERMIT_READ | GATT_PERMIT_WRITE,
0,
(uint8 *)&simpleProfileChar4Config
},
// Characteristic 4 User Description
{
{ ATT_BT_UUID_SIZE, charUserDescUUID },
GATT_PERMIT_READ,
0,
simpleProfileChar4UserDesp
},
1. As I see it according Figure 36. Simple GATT Profile Characteristic Table (from software user guide) the notification sign should be place in Characteristic 4 Declaration I can't see any define for Notification (0x10) in gatt.h file, between #define GATT_PERMIT_READ 0x01 till #define GATT_PERMIT_ENCRYPT_WRITE 0x80 also #define GATT_PERMIT_AUTHOR_READ 0x10 has the some value. But if I look on Characteristic 4 Declaration values (where I think need to put the Nfy) there iis "GATT_PERMIT_READ" (mark in red) value. So how it know it is use for Nty/Ind?
2. To know which permission is active in Nty/Ind use Characteristic 4 configuration where for notifications (writing 0x0001) or indications (writing 0x0002). I see the read & write values (in green) written there. What is mean (Nty AND Ind) ? What is the difference between those two? What I am write there if I only want Nty?
3. Which function in the example, update those attributes?