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.

CC2652RSIP: BDB reporting compromise sleep mode?

Part Number: CC2652RSIP
Other Parts Discussed in Thread: TDC1000, TDC7200, Z-STACK

Hi everyone,

i'm trying to implement a solution in which a custom board (acting as a end device) communicate with a LP-CC2652 (acting as coordinator). The end device should send periodically some measurements taken thanks to a TDC1000 and a TDC7200. I've started from example code (zed_temperaturesensor) from SimpleLink CC13xx CC26xx SDK, version 6.20.00.29. Everything works well but i'm not able to reach the desired cosumption: my goal is to take some measurements, send data to coordinator (thanks to bdb reporting attributes), go into sleep mode, wake up and repeat the loop. During the sleep mode interval (e.g. 100s), however, the consumption is ~400uA but periodically (~10s) increase up to ~1.5mA.

Premising that:

  • I checked that custom hardware doensn't have components that can lead to this consumption increment
  • tdc1000 and tdc7200 are shutdown before entering in sleep mode, as well all GPIO are disabled too
  • no custom functions are executed during sleep time

My question is:

  • can bdb reporting prevent entering in sleep mode and lead to this abnormal consumption, sending data also  during the sleep time?
  • is there a way to be sure that attributes are reported only after function call (Zstackapi_bdbRepChangedAttrValueReq)?

Thanks in advance

Regards

  • Hi Frederico,

    It is not likely that BDB reporting is preventing sleep mode on the SimpleLink device.  You should evaluate the gpiostandby and zed_temperaturesensor examples to confirm that you are able to achieve the ~1 µA specified in the datasheet with your custom board.  You can also compare against a LaunchPad to ensure that your measurement system and tools are accurate.  When evaluating Z-Stack examples, make sure that CUI_DISABLE is defined and BOARD_DISPLAY_USE_UART is removed to capitalize on power savings, consult the Power Configuration section of the Z-Stack User's Guide for more information.  You can also increase the Poll Period in SysConfig->Z-Stack->Power Management to reduce the data poll frequency.  If you don't want periodic reporting then just set maxReportInt to zero 0xFFFF.  Then you can use Zstackapi_bdbRepChangedAttrValueReq whenever you want an attribute to be reported.

    Regards,
    Ryan

  • Hi Ryan, thanks for your answer.

    I've already removed CUI_DISABLED and BOARD_DISPLAY_USE_UART and read the Power Configuration section. I didn't evaluate my board with the examples provided, i'll try in the next days. Thanks also for your feedback about setting maxReportInt to zero to prevent periodic reporting.

    Regards

  • Just for clarification, make sure that if you are defining CUI_DISABLED so that the CUI is not used.  This will require either performing auto-commissioning or adding back in pushbutton functionality from your application in order to trigger the commissioning process.

    Regards,
    Ryan

  • Yes sure, i defined CUI_DISABLED and perform automissioning, thanks for the clarification. Actually if I set maxReportInt to zero i don't receive any data on coordinator, while setting different value makes the things work. Any idea about this behaviour? There is a minReportInt value that can be set to let the zed send data any timeas soon as Zstackapi_bdbRepChangedAttrValueReq function is called?

    Thanks

  • My previous response was incorrect, a maxReportInt value of ZCL_REPORTING_OFF/0xFFFF turns off periodic reports.  Setting maxReportInt will turn off automatic attribute reports, whereas any value will ensure that the attribute is reported within at least that amount of seconds.  The minReportInt limits too many reports from being sent consecutively in a short amount of time.  The reportableChange is how much the value must change before it is reported within the interval limitations.  Zstackapi_bdbRepChangedAttrValueReq can be used to report attributes within the report parameters provided (if available).

    Regards,
    Ryan

  • Ok thank you. So to recap, if i want to send a value only through function calling (Zstackapi_bdbRepChangedAttrValueReq ) i need to:

    • set maxReportInt to ZCL_REPORTING_OFF
    • set minReportInt to zero
    • set reportableChange = {0x00, 0x00, ...} to let any changed to be valid

    Is it correct?

  • Only setting maxReportInt to ZCL_REPORTING_OFF should be required, however the other settings should not hinder what you are trying to achieve.

    Regards,
    Ryan