PADS retention at wakeup

PADS retention allows to maintain the states (+ properties) of your DIO when the RSL10 enters sleep mode (at the cost of a slightly higher consumption).

In practice, this property is set by Sys_PowerModes_Sleep_Init or Sys_PowerModes_Sleep_Init_2Mbps via the member wakeup_ctrl of the structure passed as argument.

This property is then applied when calling:

BLE_Power_Mode_Enter(&sleep_mode_env, POWER_MODE_SLEEP);

At next wakeup, there is a tricky thing to be aware of: some DIO may toggle as described by the RSL10 Hardware Reference at §5.4.5:

To make things explicit, after wakeup the registers controlling DIO are reset to no I/O with a weak pull-up resistor enabled but their external states are still frozen by the PADS retention. Any change you make to the DIO registers will be applied only once bit PAD_RETENTION_EN is reset (and the DIO you forgot to change will become no I/O with a weak pull-up!).

3 Likes

Hi @rvs,

Thank you for your contribution to our Community Forum.