CyBle_GetBleSsState API will return CYBLE_BLESS_STATE_EVENT_CLOSE continuously if the BLE block is not configured in low power mode. In which case, you can update the advertisement payload any time.
The reason for updating the advertisement payload at CYBLE_BLESS_STATE_ACTIVE is to make sure we don't update the radio registers when the BLE block is not active (saves power).
Details of each of these states and how to use them to build a low power system will be explained in an application note that is scheduled to be released by next week or so.
Ok, that makes sense. Thanks for clarifying that for me :-)