Clock out in Standby mode

Hi ,
I want to output clock on DIO in Standby mode(and Sleep mode).
I tried it using “peripheral_server_standby” but couldn’t.
・Clock Source : Standby clock(provided 32 kHz XTAL)
・Output pot : DIO1
I confirmed clock was output in run mode.
Is it possible that output clock in Standby mode ?
Please give me advise.

Hi,

It seems that the problem you are facing is caused by selection of DIO1. According to section 5.6 in RSL10_hardware_reference.pdf document from RSL10 Documentation Package, only DIO0 can be used to output the RTC clock to control external devices. The DIO0 is capable to output in both sleep and standby mode as the power supply of DIOs (VDDO) normally operates in standby mode.

Please refer to modified example of peripheral_server_standby below.
peripheral_server_standby.zip (871.6 KB)

Thank you for using our Community Forum.

Thank you for your help.
I missed section 5.6. I confirmed clock was output in standby mode using your example.
I have some questions.

  1. In the example you gave me, pads retention was enabled. If I don’t use RTC_CLOCK_DIO0_STOP_SRC, Can I disable it ? When I use clock output in standby mode, pads retention must be enabled ?

  2. Where code do set baseband timer as a wakeup source ?
    Other wakeup sources can be set in ACS_WAKEUP_CFG. But I can’t find it.

Hi,

You can disable pad retention in this sample and the DIO0 will still output RTC clock.
But it is needed to use DIO0_RTC_CLK_STOP_DIO3, otherwise, there will be no RTC clock at DIO0.

The advertising interval and connection interval use baseband timer. You can use RTC alarm or kernel timer to do the application wakeup.

Thank you for using our Community Forum.

Thank you.

The advertising interval and connection interval use baseband timer. You can use RTC alarm or kernel timer to do the application wakeup.

I want to know how to realize waking up from sleep mode using baseband timer.
When RSL10 advertise if it enter sleep mode, baseband timer is enabled automatically ?
Do BLE_CSCNT_IRQn, BLE_SLP_IRQn, BLE_EVENT_IRQn and so on have no relation to waking up due to baseband timer ?

There is SYS_WAIT_FOR_EVENT in the main function in the project you give me.
What event is it wanting for ?

Hi,

The baseband timer can’t be accessed directly. Only BLE stack can access it. The user can only enable and disable it. For example:

  1. BLE advertising mode - if the sleep is enabled, the device will enter into sleep between advertising.
  2. BLE connection mode - if the sleep is enabled, the device will enter into sleep between connection event.

If you need to use baseband timer to wake up from sleep, you need to use kernel timer which actually use baseband timer as well, but step (unit) is 10ms.

Yes.

Yes, those interrupts are related with baseband timer. You can find the definitions in rsl10_vectors.h. But you should not use them, those are used by BLE SW. It is recommended to use kernel timer for application sleep wakeup.

Any interrupt event will trigger it, if you don’t mask the interrupts. The intention to use this is to save power. If there is no event, the system will enter into power saving mode.

Thank you for using our Community Forum.

Thank you for your kind answer !

Hi,

You are welcome.

Thank you for using our Community Forum.