Trident IoT Z-Wave SDK
 
Loading...
Searching...
No Matches
Zpal-retention-register

Defines a platform abstraction layer for the Z-Wave retention register. More...

+ Collaboration diagram for Zpal-retention-register:

Macros

#define ZPAL_RETENTION_REGISTER_SMARTSTART   0
 Reserved for Smart Start.
 
#define ZPAL_RETENTION_REGISTER_RESPONSEROUTE_1   1
 Reserved for response route 1.
 
#define ZPAL_RETENTION_REGISTER_RESPONSEROUTE_2   2
 Reserved for response route 2.
 
#define ZPAL_RETENTION_REGISTER_RESPONSEROUTE_3   3
 Reserved for response route 3.
 
#define ZPAL_RETENTION_REGISTER_RESPONSEROUTE_4   4
 Reserved for response route 4.
 
#define ZPAL_RETENTION_REGISTER_TXPOWER_RSSI_LR   5
 Reserved for Long Range transmit power and RSSI.
 
#define ZPAL_RETENTION_REGISTER_RESET_INFO   6
 Reserved for reset information.
 
#define ZPAL_RETENTION_REGISTER_PROTOCOL_RESERVED_COUNT   16
 Number of registers reserved for the stack.
 

Functions

zpal_status_t zpal_retention_register_read (uint32_t index, uint32_t *data)
 Reads a 32-bit value from the specified retention register.
 
zpal_status_t zpal_retention_register_write (uint32_t index, uint32_t value)
 Write a 32-bit value to the specified retention register.
 
size_t zpal_retention_register_count (void)
 Get number of available retention registers.
 

Detailed Description

Defines a platform abstraction layer for the Z-Wave retention register.

How to use the retention register API

The retention register should support at least 32 x 32 bit registers which can be retained in deep sleep.

The following outlines an example of use:

  1. Store value in retention register using zpal_retention_register_write().
  2. Read value from retention register using zpal_retention_register_read().

Note:

Macro Definition Documentation

◆ ZPAL_RETENTION_REGISTER_PROTOCOL_RESERVED_COUNT

#define ZPAL_RETENTION_REGISTER_PROTOCOL_RESERVED_COUNT   16

Number of registers reserved for the stack.

◆ ZPAL_RETENTION_REGISTER_RESET_INFO

#define ZPAL_RETENTION_REGISTER_RESET_INFO   6

Reserved for reset information.

◆ ZPAL_RETENTION_REGISTER_RESPONSEROUTE_1

#define ZPAL_RETENTION_REGISTER_RESPONSEROUTE_1   1

Reserved for response route 1.

◆ ZPAL_RETENTION_REGISTER_RESPONSEROUTE_2

#define ZPAL_RETENTION_REGISTER_RESPONSEROUTE_2   2

Reserved for response route 2.

◆ ZPAL_RETENTION_REGISTER_RESPONSEROUTE_3

#define ZPAL_RETENTION_REGISTER_RESPONSEROUTE_3   3

Reserved for response route 3.

◆ ZPAL_RETENTION_REGISTER_RESPONSEROUTE_4

#define ZPAL_RETENTION_REGISTER_RESPONSEROUTE_4   4

Reserved for response route 4.

◆ ZPAL_RETENTION_REGISTER_SMARTSTART

#define ZPAL_RETENTION_REGISTER_SMARTSTART   0

Reserved for Smart Start.

◆ ZPAL_RETENTION_REGISTER_TXPOWER_RSSI_LR

#define ZPAL_RETENTION_REGISTER_TXPOWER_RSSI_LR   5

Reserved for Long Range transmit power and RSSI.

Function Documentation

◆ zpal_retention_register_count()

size_t zpal_retention_register_count ( void )

Get number of available retention registers.

Returns
number of retention registers.

◆ zpal_retention_register_read()

zpal_status_t zpal_retention_register_read ( uint32_t index,
uint32_t * data )

Reads a 32-bit value from the specified retention register.

Parameters
[in]indexRetention register number (zero-based).
[out]dataPointer to a 32-bit variable where the value can be stored.
Returns
ZPAL_STATUS_OK on success, ZPAL_STATUS_INVALID_ARGUMENT on invalid index or data and ZPAL_STATUS_FAIL otherwise.
Note
Retention Register should support at least 32 objects.

◆ zpal_retention_register_write()

zpal_status_t zpal_retention_register_write ( uint32_t index,
uint32_t value )

Write a 32-bit value to the specified retention register.

Parameters
[in]indexRetention register number (zero-based).
[in]value32-bit value to save in retention register.
Returns
ZPAL_STATUS_OK on success, ZPAL_STATUS_INVALID_ARGUMENT on invalid index and ZPAL_STATUS_FAIL otherwise.
Note
Retention Register should support at least 32 objects.