Other Parts Discussed in Thread: SYSCONFIG, Z-STACK,
CCS: Version: 10.3.1.00003
SDK: simplelink_cc13x2_26x2_sdk_5_10_00_48
HW: CC2652R1F launchpad
My project is based on zed_genericapp_CC26X2R1_LAUNCHXL_tirtos_ccs
The task is simple, when the button is pressed, a report is sent from the multistate_input cluster and a report is sent from the battery cluster once an hour.
Average current consumption in standby mode is 1 μA. That's fine for me.
But, periodically (after 10-30 button presses), my device does not go into standby mode. Consumption remains at about 3.2 mA. I need to press the button several times for the device to go into standby. There is no dependence, it happens by chance.
If I do not touch the device for 5 minutes, then one press of the button is enough for the device to go back to standby.
The receiver appears to remain on. Internal DC/DC at this time works constantly.
The set flags prevent entering standby: PowerCC26XX_DISALLOW_SHUTDOWN and PowerCC26XX_DISALLOW_STANDBY.
Power_getConstraintMask() returns 6.
When entering sleep mode correctly (with 1 μA consumption), the OsalPort_pwrmgrTaskState() function is called and the condition
if(pwrContraint == 1) { Power_releaseConstraint(PowerCC26XX_SD_DISALLOW); Power_releaseConstraint(PowerCC26XX_SB_DISALLOW); pwrContraint--; }
if a problem occurs and the consumption becomes 3.2 mA, then before trying to go to standby, the OsalPort_pwrmgrTaskState() function is called and only the condition is met
if(pwrContraint == 0) { Power_setConstraint(PowerCC26XX_SD_DISALLOW); Power_setConstraint(PowerCC26XX_SB_DISALLOW); pwrContraint++; }
The screenshot shows the moment of the problem. From about 6 seconds the device should have been asleep, but this did not happen.
Is there a solution to this problem?