The flags for notifications and indications are stored in the associated client characteristic configuration (descriptor) (CCCD). Note that you will need to check the flags before sending notifications/indications for it to work properly, as I believe the BLE stack does not prevent notifications/indications based on the flag status itself.
I've attached images of what the attribute you are looking for should look like.
Thanks for the response. Are there API's in PSoC Creator that can be called to check/set these flags? I'm using custom uuid's which seems to make the whole job a lot harder...
I do not believe there are APIs specific to the client characteristic configuration values, but if you use the CyBle_GattsWriteAttributeValue(CYBLE_GATT_HANDLE_VALUE_PAIR_T, 0,cyBle_connHandle,flags);, CyBle_GattsReadAttributeValue(cyble_gatt_handle_value_pair_t,cyBle_connHandle,flags);
Then, all you need to do is define the CYBLE_GATT_HANDLE_VALUE_PAIR_T structure, and change the associated buffer value when you want to write to the server value. You will generally want to use the UUID to get the handle from the server, otherwise changes to one side of the BLE connection software will cause mismatching handle-to-UUID mapping. For my own code, I declare the UUIDs as a constant in code, and then refer to the constant when checking responses from the BLE or when writing values to the service.
The only "easy" way to set them is with the TopDesign.cysch, but that is initialization, not runtime.
Thanks for you assistance. I've got the system up and running using the custom UUID's that I set in the server side. Having read some other posts and looking at various projects from the 100 projects in 100 days, I have used the CyBle_GattcDiscoverAllPrimaryServices(), CyBle_GattcDiscoverAllCharacteristics() and CyBle_GattcWriteCharacteristicDescriptors() APIs to gather all info and set the flags needed to enable notifications and hence send data from the server to the client.