Header file for Serial API implementation.

Contains various application definitions and SerialAPI functionality support definitions.

  • 2019 Silicon Laboratories Inc.

Macros#

#define
SERIAL_API_VER 10
#define
MAX_SERIAL_RETRY 3
#define
HOMEID_LENGTH 4
#define
MAX_GROUP_NODES 64
#define
BYTE_GET_HIGH_BYTE_IN_WORD (wVar)
#define
BYTE_GET_LOW_BYTE_IN_WORD (wVar)
#define
WORD_SET_HIGH_LOW_BYTES (wVar, bHIGHByte, bLOWByte)
#define
APPL_NODEPARM_MAX 35
#define
APPL_SLAVENODEPARM_MAX APPL_NODEPARM_MAX
#define
SUPPORT_SEND_DATA_TIMING 1
#define
SUPPORT_ZW_PORT_STATUS 0
#define
SUPPORT_ZW_SET_SECURITY_S0_NETWORK_KEY 0 /*deprecated*/
#define
SUPPORT_SERIAL_API_STARTUP_NOTIFICATION 1
#define
SUPPORT_SERIAL_API_APPL_NODE_INFORMATION_CMD_CLASSES 0
#define
SUPPORT_ZW_SECURITY_SETUP 0
#define
SUPPORT_APPLICATION_SECURITY_EVENT 0
#define
SUPPORT_SERIAL_API_APPL_NODE_INFORMATION 1
#define
SUPPORT_SERIAL_API_GET_CAPABILITIES 1
#define
SUPPORT_SERIAL_API_SOFT_RESET 1
#define
SUPPORT_SERIAL_API_EXT 1
#define
SUPPORT_SERIAL_API_APPL_NODE_INFORMATION_CMD_CLASSES 0
#define
SUPPORT_CLOCK_SET 0
#define
SUPPORT_CLOCK_GET 0
#define
SUPPORT_CLOCK_CMP 0
#define
SUPPORT_RTC_TIMER_CREATE 0
#define
SUPPORT_RTC_TIMER_READ 0
#define
SUPPORT_RTC_TIMER_DELETE 0
#define
SUPPORT_RTC_TIMER_CALL 0
#define
SUPPORT_ZW_AUTO_PROGRAMMING 1
#define
SUPPORT_TIMER_START 0
#define
SUPPORT_TIMER_RESTART 0
#define
SUPPORT_TIMER_CANCEL 0
#define
SUPPORT_TIMER_CALL 0
#define
SUPPORT_ZW_PORT_STATUS 0
#define
BUF_SIZE_RX 168
#define
BUF_SIZE_TX 168

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)

 

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