Jump to content
43oh

Recommended Posts

First, I'd like to say thanks for the implementation of EasyLink for the cc1310/cc1350 in Energia 18. Last year the community was invaluable in helping me develop some MSP430FR5949/BME280 dataloggers for my dissertation research.

 

I'm working on a new version based off the cc1310, because well, transmitting my data wirelessly sure beats having to recover the dataloggers. I have a couple questions that I have been unable to answer - 

 

1. The EMT documentation suggests that if you use delay, during compiling this is converted to a low power mode.  Is this only for the MSP430/432 variants?  

       

       The main reason I ask is because sleep(), sleepSeconds(), etc... do not appear to be available for the       cc1310/cc1350. Low power modes would be essential for this project.

 

2. As general advice, any opinions if I would be better off using Sensor Controller Studio, TI-RTOS, CCS for the development of this project and then simplify and port functionality back to Energia?  

 

As always, thanks for the help and insight.

 

 

Link to post
Share on other sites

EMT low power unfortunately is not well documented but quite simple. How low of a power the device goes into depends on what interfaces are open and what device the Sketch runs on.

 

The quick reference:

 

  • If all Sketches are in delay() the idle loop is entered. The idle loop is a TI-RTOS task that consults the power manager and then determines what level of low power it can go to.
  • Make sure that all unused pins are in the appropriate state according to the datasheet. Usually this is output high.
  • Make sure that sensors that are connected are put into sleep mode if you intend to go to low power.
  • Make sure that you call the .end() function on peripherals. e.g. Wire.end(), SPI.end(), Serial.end(), etc. This releases the constraint that the peripherals .begin() functions sets in the power manager.
  • Use inter task communication interfaces to communicate to other tasks when low power should commence. Examples of the low power intertask communication can be found in the Energia examples under File->Examples->10.MultiTasking. Typically you would want to go for semaphore of Event.
  • Pending on a semaphore also acts as low power mechanism. If you pend, the task stops becoming runnable and wont execute again unless the semaphore is posted.

Hope this helps.

 

I do have low power example Sketches in the pipeline but I won't be able to get to the in the next month or so.

 

Robert

Link to post
Share on other sites

@energia    Thanks for providing the detail on low power modes in EMT.  I have managed to pick up pieces of information on LPM here and there but didn't feel I had all the pieces of the puzzle.

 

I did forget to mention to the OP about shutting down peripherals before going into power down mode.

 

A little while back I did some quick experiments using EMT power down modes and Energy Trace.  Wasn't able to get data sheet numbers but it was pretty close.  Impressive.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...