Header file for Serial API implementation.

Contains various application definitions and SerialAPI functionality support definitions.

  • 2019 Silicon Laboratories Inc.

Enumerations#

enum
@1 {
stateStartup
stateIdle
stateTxSerial
stateFrameParse
stateCallbackTxSerial
stateCommandTxSerial
stateAppSuspend
}
enum
NVMBackupRestoreOperationOpen
NVMBackupRestoreOperationRead
NVMBackupRestoreOperationWrite
NVMBackupRestoreOperationClose
}
enum
NVMBackupRestoreReturnValueOK = false
NVMBackupRestoreReturnValueError = true
NVMBackupRestoreReturnValueOperationMismatch
NVMBackupRestoreReturnValueOperationDisturbed
NVMBackupRestoreReturnValueEOF = EOF
}
enum
SERIALPI_SET_LEARN_MODE_ZW_SET_LEARN_MODE_DISABLE = ZW_SET_LEARN_MODE_DISABLE
SERIALPI_SET_LEARN_MODE_ZW_SET_LEARN_MODE_CLASSIC = ZW_SET_LEARN_MODE_CLASSIC
SERIALPI_SET_LEARN_MODE_ZW_SET_LEARN_MODE_NWI = ZW_SET_LEARN_MODE_NWI
SERIALPI_SET_LEARN_MODE_ZW_SET_LEARN_MODE_NWE = ZW_SET_LEARN_MODE_NWE
SERIALPI_SET_LEARN_MODE_ZW_SET_LEARN_MODE_MAX = SERIALPI_SET_LEARN_MODE_ZW_SET_LEARN_MODE_NWE
SERIALPI_SET_LEARN_MODE_LEARN_PLUS_OFFSET = 0x80
}
enum
SERIALAPI_CONFIG_STARTUP_NOTIFICATION_ENABLED = 1
SERIALAPI_CONFIG_UNDEFINED = 0xFE
}
enum
EAPPLICATIONEVENT_TIMER = 0
EAPPLICATIONEVENT_ZWRX
EAPPLICATIONEVENT_ZWCOMMANDSTATUS
EAPPLICATIONEVENT_APP
EAPPLICATIONEVENT_CC
EAPPLICATIONEVENT_ZWRX = 0
EAPPLICATIONEVENT_ZWCOMMANDSTATUS
EAPPLICATIONEVENT_STATECHANGE
EAPPLICATIONEVENT_SERIALDATARX
EAPPLICATIONEVENT_SERIALTIMEOUT
EAPPLICATIONEVENT_TIMER
}
enum
SERIAL_API_STARTED_CAPABILITIES_L0NG_RANGE = 1 << 0
}

Variables#

Functions#

void
DoRespond_workbuf(uint8_t cnt)
void
void
set_state(uint8_t st)
bool
Request(uint8_t cmd, uint8_t *pData, uint8_t len)
bool
RequestUnsolicited(uint8_t cmd, uint8_t *pData, uint8_t len)
void
Respond(uint8_t cmd, uint8_t const *pData, uint8_t len)
void
DoRespond(uint8_t retVal)
void
uint8_t
void
ApplicationNodeUpdate(uint8_t bStatus, uint16_t nodeID, uint8_t *pCmd, uint8_t bLen)

Macro Definition Documentation#

SERIAL_API_VER#

#define SERIAL_API_VER
Value:
10

MAX_SERIAL_RETRY#

#define MAX_SERIAL_RETRY
Value:
3

HOMEID_LENGTH#

#define HOMEID_LENGTH
Value:
4

MAX_GROUP_NODES#

#define MAX_GROUP_NODES
Value:
64

BYTE_GET_HIGH_BYTE_IN_WORD#

#define BYTE_GET_HIGH_BYTE_IN_WORD
Value:
(wVar)

BYTE_GET_LOW_BYTE_IN_WORD#

#define BYTE_GET_LOW_BYTE_IN_WORD
Value:
(wVar)

WORD_SET_HIGH_LOW_BYTES#

#define WORD_SET_HIGH_LOW_BYTES
Value:
BYTE_GET_HIGH_BYTE_IN_WORD(wVar) = bHIGHByte; \
BYTE_GET_LOW_BYTE_IN_WORD(wVar) = bLOWByte

APPL_NODEPARM_MAX#

#define APPL_NODEPARM_MAX
Value:
35

APPL_SLAVENODEPARM_MAX#

#define APPL_SLAVENODEPARM_MAX
Value:
APPL_NODEPARM_MAX

SUPPORT_SEND_DATA_TIMING#

#define SUPPORT_SEND_DATA_TIMING
Value:
1

SUPPORT_ZW_PORT_STATUS#

#define SUPPORT_ZW_PORT_STATUS
Value:
0

SUPPORT_ZW_SET_SECURITY_S0_NETWORK_KEY#

#define SUPPORT_ZW_SET_SECURITY_S0_NETWORK_KEY
Value:
0  /*deprecated*/

SUPPORT_SERIAL_API_STARTUP_NOTIFICATION#

#define SUPPORT_SERIAL_API_STARTUP_NOTIFICATION
Value:
1

SUPPORT_SERIAL_API_APPL_NODE_INFORMATION_CMD_CLASSES#

#define SUPPORT_SERIAL_API_APPL_NODE_INFORMATION_CMD_CLASSES
Value:
0

SUPPORT_ZW_SECURITY_SETUP#

#define SUPPORT_ZW_SECURITY_SETUP
Value:
0

SUPPORT_APPLICATION_SECURITY_EVENT#

#define SUPPORT_APPLICATION_SECURITY_EVENT
Value:
0

SUPPORT_SERIAL_API_APPL_NODE_INFORMATION#

#define SUPPORT_SERIAL_API_APPL_NODE_INFORMATION
Value:
1

SUPPORT_SERIAL_API_GET_CAPABILITIES#

#define SUPPORT_SERIAL_API_GET_CAPABILITIES
Value:
1

SUPPORT_SERIAL_API_SOFT_RESET#

#define SUPPORT_SERIAL_API_SOFT_RESET
Value:
1

SUPPORT_SERIAL_API_EXT#

#define SUPPORT_SERIAL_API_EXT
Value:
1

SUPPORT_SERIAL_API_APPL_NODE_INFORMATION_CMD_CLASSES#

#define SUPPORT_SERIAL_API_APPL_NODE_INFORMATION_CMD_CLASSES
Value:
0

SUPPORT_CLOCK_SET#

#define SUPPORT_CLOCK_SET
Value:
0

SUPPORT_CLOCK_GET#

#define SUPPORT_CLOCK_GET
Value:
0

SUPPORT_CLOCK_CMP#

#define SUPPORT_CLOCK_CMP
Value:
0

SUPPORT_RTC_TIMER_CREATE#

#define SUPPORT_RTC_TIMER_CREATE
Value:
0

SUPPORT_RTC_TIMER_READ#

#define SUPPORT_RTC_TIMER_READ
Value:
0

SUPPORT_RTC_TIMER_DELETE#

#define SUPPORT_RTC_TIMER_DELETE
Value:
0

SUPPORT_RTC_TIMER_CALL#

#define SUPPORT_RTC_TIMER_CALL
Value:
0

SUPPORT_ZW_AUTO_PROGRAMMING#

#define SUPPORT_ZW_AUTO_PROGRAMMING
Value:
1

SUPPORT_TIMER_START#

#define SUPPORT_TIMER_START
Value:
0

SUPPORT_TIMER_RESTART#

#define SUPPORT_TIMER_RESTART
Value:
0

SUPPORT_TIMER_CANCEL#

#define SUPPORT_TIMER_CANCEL
Value:
0

SUPPORT_TIMER_CALL#

#define SUPPORT_TIMER_CALL
Value:
0

SUPPORT_ZW_PORT_STATUS#

#define SUPPORT_ZW_PORT_STATUS
Value:
0

BUF_SIZE_RX#

#define BUF_SIZE_RX
Value:
168

BUF_SIZE_TX#

#define BUF_SIZE_TX
Value:
168

Enumeration Documentation#

@1#

@1
Enumerator
stateStartup
stateIdle
stateTxSerial
stateFrameParse
stateCallbackTxSerial
stateCommandTxSerial
stateAppSuspend

eNVMBackupRestoreOperation#

eNVMBackupRestoreOperation
Enumerator
NVMBackupRestoreOperationOpen
NVMBackupRestoreOperationRead
NVMBackupRestoreOperationWrite
NVMBackupRestoreOperationClose

eNVMBackupRestoreReturnValue#

eNVMBackupRestoreReturnValue
Enumerator
NVMBackupRestoreReturnValueOK
NVMBackupRestoreReturnValueError
NVMBackupRestoreReturnValueOperationMismatch
NVMBackupRestoreReturnValueOperationDisturbed
NVMBackupRestoreReturnValueEOF

_E_SERIALAPI_SET_LEARN_MODE_#

_E_SERIALAPI_SET_LEARN_MODE_
Enumerator
SERIALPI_SET_LEARN_MODE_ZW_SET_LEARN_MODE_DISABLE
SERIALPI_SET_LEARN_MODE_ZW_SET_LEARN_MODE_CLASSIC
SERIALPI_SET_LEARN_MODE_ZW_SET_LEARN_MODE_NWI
SERIALPI_SET_LEARN_MODE_ZW_SET_LEARN_MODE_NWE
SERIALPI_SET_LEARN_MODE_ZW_SET_LEARN_MODE_MAX
SERIALPI_SET_LEARN_MODE_LEARN_PLUS_OFFSET

SERIALAPI_CONFIG_T#

SERIALAPI_CONFIG_T
Enumerator
SERIALAPI_CONFIG_STARTUP_NOTIFICATION_ENABLED
SERIALAPI_CONFIG_UNDEFINED

EApplicationEvent#

EApplicationEvent
Enumerator
EAPPLICATIONEVENT_TIMER
EAPPLICATIONEVENT_ZWRX
EAPPLICATIONEVENT_ZWCOMMANDSTATUS
EAPPLICATIONEVENT_APP
EAPPLICATIONEVENT_CC
EAPPLICATIONEVENT_ZWRX
EAPPLICATIONEVENT_ZWCOMMANDSTATUS
EAPPLICATIONEVENT_STATECHANGE
EAPPLICATIONEVENT_SERIALDATARX
EAPPLICATIONEVENT_SERIALTIMEOUT
EAPPLICATIONEVENT_TIMER

eSerialAPIStartedCapabilities#

eSerialAPIStartedCapabilities
Enumerator
SERIAL_API_STARTED_CAPABILITIES_L0NG_RANGE

Typedef Documentation#

E_SERIALAPI_SET_LEARN_MODE#

typedef enum _E_SERIALAPI_SET_LEARN_MODE_ E_SERIALAPI_SET_LEARN_MODE

EApplicationEvent#

typedef enum EApplicationEvent EApplicationEvent

Variable Documentation#

compl_workbuf#

uint8_t compl_workbuf[BUF_SIZE_TX]

Function Documentation#

DoRespond_workbuf#

void DoRespond_workbuf (uint8_t cnt)
Parameters
TypeDirectionArgument NameDescription
uint8_tN/Acnt

set_state_and_notify#

void set_state_and_notify (uint8_t st)
Parameters
TypeDirectionArgument NameDescription
uint8_tN/Ast

set_state#

void set_state (uint8_t st)
Parameters
TypeDirectionArgument NameDescription
uint8_tN/Ast

Request#

bool Request (uint8_t cmd, uint8_t * pData, uint8_t len)
Parameters
TypeDirectionArgument NameDescription
uint8_tN/Acmd
uint8_t *N/ApData
uint8_tN/Alen

RequestUnsolicited#

bool RequestUnsolicited (uint8_t cmd, uint8_t * pData, uint8_t len)
Parameters
TypeDirectionArgument NameDescription
uint8_tN/Acmd
uint8_t *N/ApData
uint8_tN/Alen

Respond#

void Respond (uint8_t cmd, uint8_t const * pData, uint8_t len)
Parameters
TypeDirectionArgument NameDescription
uint8_tN/Acmd
uint8_t const *N/ApData
uint8_tN/Alen

DoRespond#

void DoRespond (uint8_t retVal)
Parameters
TypeDirectionArgument NameDescription
uint8_tN/AretVal

PopCallBackQueue#

void PopCallBackQueue (void )
Parameters
TypeDirectionArgument NameDescription
voidN/A

PopCommandQueue#

void PopCommandQueue (void )
Parameters
TypeDirectionArgument NameDescription
voidN/A

GetCallbackCnt#

uint8_t GetCallbackCnt (void )
Parameters
TypeDirectionArgument NameDescription
voidN/A

ZW_GetMfgTokenDataCountryFreq#

void ZW_GetMfgTokenDataCountryFreq (void * data)
Parameters
TypeDirectionArgument NameDescription
void *N/Adata

ApplicationNodeUpdate#

void ApplicationNodeUpdate (uint8_t bStatus, uint16_t nodeID, uint8_t * pCmd, uint8_t bLen)
Parameters
TypeDirectionArgument NameDescription
uint8_tN/AbStatus
uint16_tN/AnodeID
uint8_t *N/ApCmd
uint8_tN/AbLen