npmx  1.0.0
 
Loading...
Searching...
No Matches

Ship and hibernate modes peripheral driver. More...

Data Structures

struct  npmx_ship_t
 Data structure of the SHIP driver instance. More...
 
struct  npmx_ship_config_t
 Configuration structure for ship hold. More...
 
struct  npmx_ship_reset_config_t
 Configuration structure for reset button. More...
 

Enumerations

enum  npmx_ship_task_t {
  NPMX_SHIP_TASK_HIBERNATE ,
  NPMX_SHIP_TASK_CONFIG_SHIPHOLD ,
  NPMX_SHIP_TASK_SHIPMODE ,
  NPMX_SHIP_TASK_CONFIG_RESET ,
  NPMX_SHIP_TASK_COUNT
}
 Ship and hibernate tasks. More...
 
enum  npmx_ship_time_t {
  NPMX_SHIP_TIME_16_MS = SHPHLD_SHPHLDCONFIG_SHPHLDTIM_16ms ,
  NPMX_SHIP_TIME_32_MS = SHPHLD_SHPHLDCONFIG_SHPHLDTIM_32ms ,
  NPMX_SHIP_TIME_64_MS = SHPHLD_SHPHLDCONFIG_SHPHLDTIM_64ms ,
  NPMX_SHIP_TIME_96_MS = SHPHLD_SHPHLDCONFIG_SHPHLDTIM_96ms ,
  NPMX_SHIP_TIME_304_MS = SHPHLD_SHPHLDCONFIG_SHPHLDTIM_304ms ,
  NPMX_SHIP_TIME_608_MS = SHPHLD_SHPHLDCONFIG_SHPHLDTIM_608ms ,
  NPMX_SHIP_TIME_1008_MS = SHPHLD_SHPHLDCONFIG_SHPHLDTIM_1008ms ,
  NPMX_SHIP_TIME_3008_MS = SHPHLD_SHPHLDCONFIG_SHPHLDTIM_3008ms ,
  NPMX_SHIP_TIME_COUNT ,
  NPMX_SHIP_TIME_MIN = NPMX_SHIP_TIME_16_MS ,
  NPMX_SHIP_TIME_DEFAULT = NPMX_SHIP_TIME_96_MS ,
  NPMX_SHIP_TIME_MAX = NPMX_SHIP_TIME_3008_MS ,
  NPMX_SHIP_TIME_INVALID = NPMX_INVALID_ENUM_VALUE
}
 SHPHLD duration button must be pressed to exit ship or hibernate mode. More...
 

Functions

npmx_ship_tnpmx_ship_get (npmx_instance_t *p_pmic, uint8_t idx)
 Function for returning SHIP instance based on index.
 
npmx_ship_time_t npmx_ship_time_convert (uint32_t time_ms)
 Function for converting milliseconds to npmx_ship_time_t enumeration.
 
bool npmx_ship_time_convert_to_ms (npmx_ship_time_t enum_value, uint32_t *p_val)
 Function for converting npmx_ship_time_t enumeration to milliseconds.
 
npmx_error_t npmx_ship_task_trigger (npmx_ship_t const *p_instance, npmx_ship_task_t task)
 Function for activating the specified SHIP task.
 
npmx_error_t npmx_ship_config_set (npmx_ship_t *p_instance, npmx_ship_config_t const *p_config)
 Function for setting the ship hold configuration.
 
npmx_error_t npmx_ship_config_get (npmx_ship_t *p_instance, npmx_ship_config_t *p_config)
 Function for reading the ship hold configuration.
 
npmx_error_t npmx_ship_gpio_status_check (npmx_ship_t const *p_instance, bool *p_active)
 Function for checking whether the ship button is active.
 
npmx_error_t npmx_ship_reset_config_set (npmx_ship_t const *p_instance, npmx_ship_reset_config_t const *p_config)
 Function for setting long press reset button configuration.
 
npmx_error_t npmx_ship_reset_config_get (npmx_ship_t const *p_instance, npmx_ship_reset_config_t *p_config)
 Function for reading the long press reset button configuration.
 

Detailed Description

Ship and hibernate modes peripheral driver.

Enumeration Type Documentation

◆ npmx_ship_task_t

Ship and hibernate tasks.

Enumerator
NPMX_SHIP_TASK_HIBERNATE 

Task enter hibernate.

NPMX_SHIP_TASK_CONFIG_SHIPHOLD 

Task ship hold configuration.

NPMX_SHIP_TASK_SHIPMODE 

Task enter ship mode.

NPMX_SHIP_TASK_CONFIG_RESET 

Task request reset configuration.

NPMX_SHIP_TASK_COUNT 

Tasks count.

◆ npmx_ship_time_t

SHPHLD duration button must be pressed to exit ship or hibernate mode.

Enumerator
NPMX_SHIP_TIME_16_MS 

16 ms.

NPMX_SHIP_TIME_32_MS 

32 ms.

NPMX_SHIP_TIME_64_MS 

64 ms.

NPMX_SHIP_TIME_96_MS 

96 ms.

NPMX_SHIP_TIME_304_MS 

304 ms.

NPMX_SHIP_TIME_608_MS 

608 ms.

NPMX_SHIP_TIME_1008_MS 

1008 ms.

NPMX_SHIP_TIME_3008_MS 

3008 ms.

NPMX_SHIP_TIME_COUNT 

Possible durations count.

NPMX_SHIP_TIME_MIN 

Minimum time.

NPMX_SHIP_TIME_DEFAULT 

Default time.

NPMX_SHIP_TIME_MAX 

Maximum time.

NPMX_SHIP_TIME_INVALID 

Invalid time.

Function Documentation

◆ npmx_ship_config_get()

npmx_error_t npmx_ship_config_get ( npmx_ship_t * p_instance,
npmx_ship_config_t * p_config )

Function for reading the ship hold configuration.

Parameters
[in]p_instancePointer to the SHIP instance.
[out]p_configPointer to the SHIP configuration structure.
Return values
NPMX_SUCCESSOperation performed successfully.
NPMX_ERROR_IOError using IO bus line.

◆ npmx_ship_config_set()

npmx_error_t npmx_ship_config_set ( npmx_ship_t * p_instance,
npmx_ship_config_t const * p_config )

Function for setting the ship hold configuration.

Parameters
[in]p_instancePointer to the SHIP instance.
[in]p_configPointer to the configuration of the SHIP to be applied.
Return values
NPMX_SUCCESSOperation performed successfully.
NPMX_ERROR_IOError using IO bus line.

◆ npmx_ship_get()

npmx_ship_t * npmx_ship_get ( npmx_instance_t * p_pmic,
uint8_t idx )

Function for returning SHIP instance based on index.

Parameters
[in]p_pmicPointer to the SHIP instance.
[in]idxIndex of the SHIP instance.
Returns
Pointer to the SHIP instance.

◆ npmx_ship_gpio_status_check()

npmx_error_t npmx_ship_gpio_status_check ( npmx_ship_t const * p_instance,
bool * p_active )

Function for checking whether the ship button is active.

Parameters
[in]p_instancePointer to the SHIP instance.
[out]p_activePointer to the variable to be filled with ship button status. True if button is active, false otherwise.
Return values
NPMX_SUCCESSOperation performed successfully.
NPMX_ERROR_IOError using IO bus line.

◆ npmx_ship_reset_config_get()

npmx_error_t npmx_ship_reset_config_get ( npmx_ship_t const * p_instance,
npmx_ship_reset_config_t * p_config )

Function for reading the long press reset button configuration.

Parameters
[in]p_instancePointer to the SHIP instance.
[out]p_configPointer to the reset button configuration structure.
Return values
NPMX_SUCCESSOperation performed successfully.
NPMX_ERROR_IOError using IO bus line.

◆ npmx_ship_reset_config_set()

npmx_error_t npmx_ship_reset_config_set ( npmx_ship_t const * p_instance,
npmx_ship_reset_config_t const * p_config )

Function for setting long press reset button configuration.

Parameters
[in]p_instancePointer to the SHIP instance.
[in]p_configPointer to the configuration of the reset button to be applied.
Return values
NPMX_SUCCESSOperation performed successfully.
NPMX_ERROR_IOError using IO bus line.

◆ npmx_ship_task_trigger()

npmx_error_t npmx_ship_task_trigger ( npmx_ship_t const * p_instance,
npmx_ship_task_t task )

Function for activating the specified SHIP task.

Note
The wakeup timer needs to be configured before entering the hibernate mode.
Parameters
p_instancePointer to the SHIP instance.
taskTask to be activated.
Return values
NPMX_SUCCESSOperation performed successfully.
NPMX_ERROR_IOError using IO bus line.

◆ npmx_ship_time_convert()

npmx_ship_time_t npmx_ship_time_convert ( uint32_t time_ms)

Function for converting milliseconds to npmx_ship_time_t enumeration.

Parameters
[in]time_msTime in milliseconds to be converted into npmx_ship_time_t enumeration.
Returns
Result of conversion. NPMX_SHIP_TIME_INVALID if given time is not represented in enumeration.

◆ npmx_ship_time_convert_to_ms()

bool npmx_ship_time_convert_to_ms ( npmx_ship_time_t enum_value,
uint32_t * p_val )

Function for converting npmx_ship_time_t enumeration to milliseconds.

Parameters
[in]enum_valueTime defined as npmx_ship_time_t enumeration to be converted into milliseconds.
[out]p_valPointer to the variable that stores the conversion result.
Return values
trueConversion is valid.
falseConversion is invalid - an invalid argument was passed to the function.