This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Something about ICALL enroll the BLE protocol stack service

Other Parts Discussed in Thread: CC2640, BLE-STACK

In the CC2640 Software Developer’s Guide 4.2.4 ICall Initialization and Registration,there're some words as follows:
"Prior to using ICall protocol services, both the server and client must enroll and register with ICall. The server enrolls a service which is enumerated at build time."
So,if I want to use the service provided by BLE-stack via ICALL,I need to enroll the service first.But in the SenorTagStack project,I only find two places using ICall_enrollService function to enroll the service:
1. ICall_enrollService(ICALL_SERVICE_CLASS_BLE, NULL, &entity, &sem);
2. ICall_enrollService(ICALL_SERVICE_CLASS_BLE_MSG,(ICall_ServiceFunc) osal_service_entry,&osal_entity,&osal_semaphore)
My questions are:
1. In the first ICall_enrollService,why does it omit the second parameter? what's the function of the service?
2. I can't understand "the BLE protocol stack service",for example, if i read a Characteristic Value,is it a BLE protocol stack service? If yes,it should be enrolled,but i can't find it.

  • Hello,

    If you need to call any of the Stack APIs in ICAllBleAPI.c, you'll need to make the task ICall aware. This is done for you in the simpleBLEPeripheral task (Application). If you need to add a new task and make ICall API calls (generally not recommended), take a look at the PTM example on the TI BLE wiki. This shows the steps to add a new ICall aware task.

    Best wishes
  • Hi,JXS:

    I want to know in which file the services are enrolled, can you tell me? Is it " ICall_enrollService(ICALL_SERVICE_CLASS_BLE_MSG,(ICall_ServiceFunc) osal_service_entry,&osal_entity,&osal_semaphore)" in OSAL_ICallBle.c?

    Or, my understanding is wrong. "Read a Characteristic Value" doesn't regard as "service" here. The communication between Application and Stack use messaging service, so it's enough to enroll ICALL_SERVICE_CLASS_BLE_MSG. Is it right?