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.

CC2650 Release Power Constraint

Other Parts Discussed in Thread: CC2650

I am having trouble controlling the power constraints (setting and releasing)

I have a PWM buzzer routine that plays a tune with a number of music notes

At the beginning of the play tune I set the power constraints to keep the processor alive

void playSound(uint16_t* ptr_Sound, uint8 repeats)
{	
     Power_setConstraint(Power_SB_DISALLOW);
     Power_setConstraint(Power_IDLE_PD_DISALLOW);

after the tune is done I shut down the buzzer and release the constraints

	Power_releaseConstraint(Power_SB_DISALLOW) ;
	Power_releaseConstraint(Power_IDLE_PD_DISALLOW) ;

If I do this (as shown above) the CC2650 will not return to low power mode

If I set the power constraint once in the main instead of at the beginning of the tune, the release at the end of the tune works fine

I have singled setup thru the releaseConstraint code and when it fails it has a constraint count of 2

If I set the constraint in the main then the end of tune release has a count of one and it works and the device enters low power mode at the end of the tune

I just need to keep the processor working to play the tune and then go back to low power mode

The attached figure shows going into the tune with SB disallowed (2 mamp),  the tune playing, then enter standby mode using the release command

Thanks


Brian Donlan

  • Hello Brian,

    Yes, the count must reach 0 for the TI-RTOS to allow the system to enter Standby. Have you placed a counter around your setConstraint calls to see if it's getting called more than the releaseContraint ?

    Best wishes