le_ulpm_interface.h File Reference

#include "legato.h"

Go to the source code of this file.

Macros

#define LE_ULPM_MAX_VERS_LEN   8
 

Enumerations

enum  le_ulpm_GpioState_t {
  LE_ULPM_GPIO_LOW = 0, LE_ULPM_GPIO_HIGH = 1, LE_ULPM_GPIO_RISING = 2, LE_ULPM_GPIO_FALLING = 3,
  LE_ULPM_GPIO_BOTH = 4, LE_ULPM_GPIO_OFF = 5
}
 

Functions

void le_ulpm_ConnectService (void)
 
le_result_t le_ulpm_TryConnectService (void)
 
void le_ulpm_DisconnectService (void)
 
le_result_t le_ulpm_BootOnGpio (uint32_t gpioNum, le_ulpm_GpioState_t state)
 
le_result_t le_ulpm_BootOnTimer (uint32_t expiryVal)
 
le_result_t le_ulpm_GetFirmwareVersion (char *version, size_t versionNumElements)
 
le_result_t le_ulpm_ShutDown (void)
 

Detailed Description

Legato Ultra Low Power Mode include file.

Macro Definition Documentation

#define LE_ULPM_MAX_VERS_LEN   8

Maximum version length of mcu firmware.

Enumeration Type Documentation

State of gpio pin. This state will be used to exit from low power state.

Enumerator
LE_ULPM_GPIO_LOW 

Gpio voltage level low.

LE_ULPM_GPIO_HIGH 

Gpio voltage level high.

LE_ULPM_GPIO_RISING 

Gpio edge rising.

LE_ULPM_GPIO_FALLING 

Gpio edge falling.

LE_ULPM_GPIO_BOTH 

Gpio edge either rising or falling.

LE_ULPM_GPIO_OFF 

Gpio off.

Function Documentation

le_result_t le_ulpm_BootOnGpio ( uint32_t  gpioNum,
le_ulpm_GpioState_t  state 
)

Boot on changing of a gpio state. Gpio number is specified as parameter.

Returns
  • LE_OK if specified gpio is configured as boot source.
  • LE_FAULT if failed to configure.
Note
The process exits if invalid gpio number is passed. Check corresponding device documents for valid list of gpio.
Parameters
[in]gpioNumGpio number to boot.
[in]stateState which should cause boot.
le_result_t le_ulpm_BootOnTimer ( uint32_t  expiryVal)

Boot after expiration of timer interval.

Returns
  • LE_OK if specified timer is configured as boot source.
  • LE_FAULT if failed to configure.
Parameters
[in]expiryValExpiration time(in second) to boot. This is relative time from modem/app processor shutdown.
void le_ulpm_ConnectService ( void  )

Connect the current client thread to the service providing this API. Block until the service is available.

For each thread that wants to use this API, either ConnectService or TryConnectService must be called before any other functions in this API. Normally, ConnectService is automatically called for the main thread, but not for any other thread. For details, see Client-specific Functions.

This function is created automatically.

void le_ulpm_DisconnectService ( void  )

Disconnect the current client thread from the service providing this API.

Normally, this function doesn't need to be called. After this function is called, there's no longer a connection to the service, and the functions in this API can't be used. For details, see Client-specific Functions.

This function is created automatically.

le_result_t le_ulpm_GetFirmwareVersion ( char *  version,
size_t  versionNumElements 
)

Get the ultra low power manager firmware version.

Returns
  • LE_OK on success
  • LE_OVERFLOW if version string to big to fit in provided buffer
  • LE_FAULT for any other errors
Parameters
[out]versionFirmware version string
[in]versionNumElements
le_result_t le_ulpm_ShutDown ( void  )

Initiate shutting down of app processor/modem etc.

Returns
  • LE_OK if entry to ultra low power mode initiates properly.
  • LE_NOT_POSSIBLE if shutting is not possible now. Try again.
  • LE_FAULT if failed to initiate.
le_result_t le_ulpm_TryConnectService ( void  )

Try to connect the current client thread to the service providing this API. Return with an error if the service is not available.

For each thread that wants to use this API, either ConnectService or TryConnectService must be called before any other functions in this API. Normally, ConnectService is automatically called for the main thread, but not for any other thread. For details, see Client-specific Functions.

This function is created automatically.

Returns
  • LE_OK if the client connected successfully to the service.
  • LE_UNAVAILABLE if the server is not currently offering the service to which the client is bound.
  • LE_NOT_PERMITTED if the client interface is not bound to any service (doesn't have a binding).
  • LE_COMM_ERROR if the Service Directory cannot be reached.