Part Number: CC1352R
Tool/software: Code Composer Studio
Dear Support,
I have been working lately in a DMM application with BLE and SubGHz interfaces. I used the dmm_wsnnode_ble_sp_app as starting point (SDK 4.30) and also checked available documentation regarding DMM and its integration to the project. However, it is still confusing how some things are done.
I understand the DMM uses the GPT and optionally the application policy table defined in syscfg. I suppose I can tweak the default tables and add different application states to basically control the DMM scheduling adding weights dynamically. I have tested this and it seems to work, so I keep it as an option. However, I find it more adequate to modify the GPT and leave the application policy table for exceptions (like OAD in the example).
For this, I still have not found in the documentation how the .appliedActivity is linked to any of those activities defined in the policy file (e.g. dmm_priority_ble_wsn.c). The DMMPOLICY_APPLIED_ACTIVITY_XXXX constants seem to be a simple bitmask, but it is not clear if those correspond to the activities listed in GPT or how are they linked (This will help developers to link custom activities for instance). SDK Examples often use the DMMPOLICY_APPLIED_ACTIVITY_BLE_CONNECTION with no alter to the constant value, which makes me think it is kind of a bitmask. Could you please shed a light on this?
Furthermore, modifying the GPT and increasing the normal priorities of SUGBHZ activities besides de BLE advertisements (as explained in Dynamic Multi-protocol Manager Integration) it seems advertisements are not being scheduled. Modifying the application policy table to apply an extra weight and find out the causing activity, it turns that advertisements have more priority only when the policy sets .appliedActivity to ALL or DMMPOLICY_APPLIED_ACTIVITY_BLE_LINK_EST.
I am simply using a commercial iOS app to see the advertising intervals, not really connecting. Is responding to scan requests already considered as an “establishing connection” state? Or is there a mismatch between those DMMPOLICY_APPLIED_ACTIVITY constant values and the actual activities? Is there any information available regarding this application states transitions for a ble peripheral? The source code only exposes the application-level activities e.g. CONNECTED or ADV.
I hope I was clear enough, maybe I am missing something simple here. Any ideas would be helpful. Thanks in advance.
Best Regards,
Angel