Infineon Logo AIROC BTSDK v4.9 - Documentation
 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
AIROC Sleep Configuration

Defines functions for using the AIROC Sleep Framework. More...

Data Structures

struct  wiced_sleep_config_t
 Sleep configuration parameters. More...
 

Macros

#define WICED_SLEEP_MAX_TIME_TO_SLEEP   ~0
 
#define WICED_SLEEP_WAKE_SOURCE_KEYSCAN   (1<<0)
 Wake sources. More...
 
#define WICED_SLEEP_WAKE_SOURCE_QUAD   (1<<1)
 Enable wake from quadrature sensor.
 
#define WICED_SLEEP_WAKE_SOURCE_GPIO   (1<<2)
 Enable wake from GPIO.
 
#define WICED_SLEEP_WAKE_SOURCE_MASK
 All wake sources. More...
 

Typedefs

typedef uint32_t(* wiced_sleep_allow_check_callback )(wiced_sleep_poll_type_t type)
 Application implements call back of this type to allow or disallow the chip to go to sleep. More...
 

Enumerations

enum  wiced_sleep_boot_type_t { WICED_SLEEP_COLD_BOOT, WICED_SLEEP_FAST_BOOT }
 Boot mode. More...
 
enum  wiced_sleep_mode_type_t { WICED_SLEEP_MODE_NO_TRANSPORT, WICED_SLEEP_MODE_TRANSPORT }
 Sleep modes. More...
 
enum  wiced_sleep_wake_type_t { WICED_SLEEP_WAKE_ACTIVE_LOW, WICED_SLEEP_WAKE_ACTIVE_HIGH }
 Active interrupt level for Wake through GPIO. More...
 
enum  wiced_sleep_poll_type_t { WICED_SLEEP_POLL_TIME_TO_SLEEP, WICED_SLEEP_POLL_SLEEP_PERMISSION }
 Sleep poll type. More...
 
enum  wiced_sleep_permission_type_t { WICED_SLEEP_NOT_ALLOWED, WICED_SLEEP_ALLOWED_WITHOUT_SHUTDOWN, WICED_SLEEP_ALLOWED_WITH_SHUTDOWN }
 Sleep permission Note: SHUTDOWN mode sleep puts the chip in the lowest power saving sleep mode. More...
 

Functions

wiced_result_t wiced_sleep_configure (wiced_sleep_config_t *p_sleep_config)
 API to configure sleep mode parameters. More...
 
wiced_sleep_boot_type_t wiced_sleep_get_boot_mode (void)
 API to request reboot type. More...
 
wiced_result_t wiced_hal_set_external_lpo_oscillator_bias (uint8_t bias)
 Function wiced_hal_set_external_lpo_oscillator_bias. More...
 

Detailed Description

Defines functions for using the AIROC Sleep Framework.

Macro Definition Documentation

#define WICED_SLEEP_WAKE_SOURCE_KEYSCAN   (1<<0)

Wake sources.

Enable wake from keyscan

#define WICED_SLEEP_WAKE_SOURCE_MASK
Value:
#define WICED_SLEEP_WAKE_SOURCE_GPIO
Enable wake from GPIO.
Definition: wiced_sleep.h:54
#define WICED_SLEEP_WAKE_SOURCE_QUAD
Enable wake from quadrature sensor.
Definition: wiced_sleep.h:53
#define WICED_SLEEP_WAKE_SOURCE_KEYSCAN
Wake sources.
Definition: wiced_sleep.h:52

All wake sources.

Typedef Documentation

typedef uint32_t(* wiced_sleep_allow_check_callback)(wiced_sleep_poll_type_t type)

Application implements call back of this type to allow or disallow the chip to go to sleep.

Parameters
[in]typePoll type (see wiced_sleep_poll_type_t)
Returns
if type == WICED_SLEEP_POLL_TIME_TO_SLEEP, application should return the maximum time allowed to sleep in micro seconds. WICED_SLEEP_MAX_TIME_TO_SLEEP allows the Firmware to determine the duration it can sleep. Note: When allowing SDS sleep, always return WICED_SLEEP_MAX_TIME_TO_SLEEP. if type == WICED_SLEEP_POLL_SLEEP_PERMISSION, application should return one of the values in wiced_sleep_permission_type_t

Note:- Application shall return immediately, with the return value specifying whether it allows/disallows sleep. Immediate return is required to allow the maximum time to sleep. Applications shall ensure that all peripheral activity (on PUART, SPI, .. ) is paused before allowing sleep. Any pending activity on the peripherals is lost when the device goes into sleep.

Enumeration Type Documentation

Boot mode.

Enumerator
WICED_SLEEP_COLD_BOOT 

Cold boot.

WICED_SLEEP_FAST_BOOT 

Fast boot.

Sleep modes.

Enumerator
WICED_SLEEP_MODE_NO_TRANSPORT 

Used for HID use cases.

When a transport is connected, sleep is always disallowed

WICED_SLEEP_MODE_TRANSPORT 

This mode allows sleep when transport is connected and uses device wake line to wake up.

Sleep permission Note: SHUTDOWN mode sleep puts the chip in the lowest power saving sleep mode.

This turns off most hardware including parts of SRAM. Hence, if the application requires to preserve some context data for it to resume normal operation after wake up, app should store this context data in Always On Memory (the part that is not turned off). This is done by declaring the context variable with the attribute attribute ((section(".data_in_retention_ram"))). The memory in AON available is limited, the maximum that application can use are 256 bytes. When mode WICED_SLEEP_ALLOWED_WITH_SHUTDOWN is selected, the FW puts the chip in Shutdown sleep mode if that is possible, else the chip will be put in a non-shutdown sleep mode. To prevent FW from attempting to put the chip in Shutdown sleep mode, select WICED_SLEEP_ALLOWED_WITHOUT_SHUTDOWN.

Enumerator
WICED_SLEEP_NOT_ALLOWED 

Sleep is not allowed.

WICED_SLEEP_ALLOWED_WITHOUT_SHUTDOWN 

Sleep is allowed, but shutdown mode sleep is not allowed.

WICED_SLEEP_ALLOWED_WITH_SHUTDOWN 

Slepp allowed, including shutdown mode sleep.

Sleep poll type.

Enumerator
WICED_SLEEP_POLL_TIME_TO_SLEEP 

Polling for maximum allowed sleep duration.

WICED_SLEEP_POLL_SLEEP_PERMISSION 

Polling for permission to sleep.

Active interrupt level for Wake through GPIO.

Enumerator
WICED_SLEEP_WAKE_ACTIVE_LOW 

Active low interrupt wakes the chip.

WICED_SLEEP_WAKE_ACTIVE_HIGH 

Active high interrupt wakes the chip.

Function Documentation

wiced_result_t wiced_hal_set_external_lpo_oscillator_bias ( uint8_t  bias)

Function wiced_hal_set_external_lpo_oscillator_bias.

Set external LPO oscillator bias. Default 0 = 50nA.

Parameters
[in]biasmax allowed value is 3 (0=50nA, 1=100nA, 2=150nA, 3=200nA)
Returns
WICED_SUCCESS if bias is set successfully, WICED_ERROR otherwise.
wiced_result_t wiced_sleep_configure ( wiced_sleep_config_t p_sleep_config)

API to configure sleep mode parameters.

Parameters
[in]p_sleep_configsee
Returns
WICED_SUCCESS or WICED_ERROR
wiced_sleep_boot_type_t wiced_sleep_get_boot_mode ( void  )

API to request reboot type.

Returns Cold boot or Warm/Fast boot.

Returns
wiced_sleep_boot_type_t