CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

CCS ZigBee/ Ember board- sleepy mode current draw

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
bruin
Guest







CCS ZigBee/ Ember board- sleepy mode current draw
PostPosted: Fri Jul 03, 2009 8:38 pm     Reply with quote

I'm trying to reduce the average current draw of the "sleepy" sensor portion of the CCS ZigBee development kit. Right now it's drawing around 7-10mA on average, even if I stop calling any of the ember functions. I suspect the chip itself has some timer which calls the coordinator periodically. How do I change this?

Am I supposed to do something in particular to put the EM260 to sleep? The EM260 chip is supposed to draw very little current in sleep, so I suspect I have to do something besides #define this is a sleepy sensor.

Thanks!
bruin
Guest







getting closer... still not there
PostPosted: Mon Jul 06, 2009 8:05 am     Reply with quote

I've figured out if I make NO_SLEEP 1 (make the device sleep after each command), I can make the device sleep - but the wireless connection no longer works (push the button to make the display increment). NO_SLEEP is used in EM260SendCommand.

If I make a new function such that EZSP_FRAME_CONTROL_INDEX is 1 only when the button is pressed, as below, but is 0 for sensorApplicationTick() and EM260Tick() commands, I don't get any current savings, but the button pushed/ increment function works.

Any help/ examples out there?

Thanks!
Code:
      while(TRUE)
      {
         sensorApplicationTick();
         EM260Tick();
         
         if(!input(PUSH_BUTTON1))
         {
            i++;
            messagedata[0]=i;
            ezspSendUnicastSleep(EMBER_OUTGOING_DIRECT,indexOrDestination,&apsframe,messagetag,messageLength,&messagedata[0]);
            delay_ms(1000);
         }
         if(!input(PUSH_BUTTON2))
         {
            i--;
            messagedata[0]=i;
            ezspSendUnicastSleep(EMBER_OUTGOING_DIRECT,indexOrDestination,&apsframe,messagetag,messageLength,&messagedata[0]);
            //delay_ms(200);
         }
      }
bruin
Guest







modified... still not there
PostPosted: Mon Jul 06, 2009 10:49 am     Reply with quote

I have modified the code, where I send a NOP command and that NOP calls the EM260SendCommand with the EM260SpiBuffer[EZSP_FRAME_CONTROL_INDEX]= 0x01;

The current on the Ember board is 3.8mA, which seems awfully high considering the deep sleep mode is supposed to draw 1uA.

Thanks!
Code:

      while(true)
      {   
         for(ii=0;ii<1;++ii)
         {
            sensorApplicationTick();
            EM260Tick();
               
            i++;
            messagedata[0]=i;
            ezspSendUnicast(EMBER_OUTGOING_DIRECT,indexOrDestination,&apsframe,messagetag,messageLength,&messagedata[0]);
            ezsp_response();
            delay_ms(500);   
         } 

         
         ezspNop();       
         while(input(PUSH_BUTTON1));
      }
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group