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.

Power modes with interruptions enabed for timer, external and when a messsage is received

Other Parts Discussed in Thread: SIMPLICITI

Hello I hope some one can help me on this problem of mine.

I am using a CC1110F32 chip on a development board (SmartRFCC1110-868) to build a system that communicates via wireless.

I managed to create a code to send and receive messages as I want I used pear to pear mode.

Now my question is about power management  low power, power consumption, and in the system that I am developing the slave it powered by batteries.
My system needs to receive messages from a master when this sends them and it has to send messages from time to time and when a external interrupt is activated.

So in order to do this what power mode should I use? Can I put the device to sleep and make it wake up to attend a external and timer interrupt as well as a message from master is received?

Is it a good practice to hold the code with a while(1)? Or is there a better way to hold the device?

I hope that some one can answer me.

  • Eduardo,

    I recommend that you download SimpliciTI and go thru the source code to learn what we do to achieve low power and various types of waits.

    http://www.ti.com/tool/simpliciti

    Regards,
    /TA 

  • Thanks for you answer but that was not the kind of answer I was looking for.

    I think that reading the code of simpliciti is not the answer to my problem. I think that simpliciti as every API/Framework it is made to make thing simple and have several methods/functions to abstract from the more complicated things. So reading the code of simpliciti might not be the best way to do it.

    As I mentioned in my previous post I am already using simpliciti and I managed to send, receive messages. I only have two main questions (none of them got a answer):

    Can I put the device to sleep and make it wake up to attend a external or timer interrupt as well as a reception of a message from the other device? What power mode must I enable in order for the uC wake up upon receiving a message (PM0 wakes up on a interruption but I am not shure if it wakes up upon receiving a message fomr the RF peripheral)? 

    Is it a good practice to hold the code with a while(1)? Or is there a better way to hold the device?

    I hope that the questions are clear this time and hope for a response.

    Thank you.

  • No news about this questions?

  • It seems that you want to do a two-way communication by yourself. However, the problem is the RX can not receive anything under any power saving mode. It is too power consuming if you keep RX always on. Simpliciti and Zigbee use polling mechanism to do this two way communication. If you do not want to use simpliciti  or Zigbee, you have to do that by yourself.

  • Than you for your answer that shed some light to my problem.
    Your answer is far better then read the "SimpliciiTI code".
    I still have some questions if you could help me a little bit more I would appreciate it. 

    "It seems that you want to do a two-way communication by yourself. "

    I was intending on using SimpliciTI.

    "However, the problem is the RX can not receive anything under any power saving mode. It is too power consuming if you keep RX always on. "

    Now this a answer for what I was looking for.

    "Simpliciti and Zigbee use polling mechanism to do this two way communication. If you do not want to use simpliciti  or Zigbee, you have to do that by yourself."

    Let me see if I understand this correctly. By polling you meant that the end device must ask from time to time to the Master if it has something to do? Does simpliciTI have methods that do this for me or It must be implemented by me?
    I noticed that in the examples there is the Simple_Peer_To_Peer example that I used to start developing my solution and there is a  Polling_with_AP example. Does this Polling example serve my needs?

    Once again thanks for all your help.

  • Yes, I mean that the end device must ask from time to time to the master if it has something to do by polling.

    Yes, Simpliciti has implemented polling on end device so you do not need to do that by yourself.

    Polling_with_AP would be a good start to serve your purpose.

  • Thank you once again for your precious help.

    I will check polling and see if I manage to do what I need...

  • I read some code and documentation and I have a few questions that I cannot answer by myself.

    In the system I am building there are two devices that communicate using simpliciTI. (I was making two end devices)
    Only one of them is battery powered (so only this has to have low power consumption) .

    If I want to use polling to save battery I see that the topology and-device <-> end-device will not work. Is this correct, or can I still use it?

    As I read the examples and the documentation they mentioned a topology end-device <-> Access Point <-> another end-device
    This topology is not what I had in mind.

    If a end-device <-> end-device is not possible, is it possible to implement a end-device <-> Access-Point were the access point can receive and send messages by himself as well as interface with timers and GPIO? 

    I am a little lost here.

  • Yes, you should implement it as a end-device <-> Access-Point . AP can receive and send messages by himself as well as interface with timers and GPIO.