|
#define
|
TOKEN_NEXT_ADDRESS
(region, address)
|
|
By default, tokens are automatically located after the previous token.
|
|
#define
|
CURRENT_STACK_TOKEN_VERSION
0x03FC
|
|
The current version number of the stack tokens. MSB is the version, LSB is a complement.
|
|
The following convenience macros are used to simplify the definition process for commonly specified parameters to the basic TOKEN_DEF macro. See
hal/micro/token.h
for a more complete explanation.
|
#define
|
DEFINE_BASIC_TOKEN
(name, type, ...)
TOKEN_DEF
(name, CREATOR_##name, 0, 0, type, 1, __VA_ARGS__)
|
|
#define
|
DEFINE_COUNTER_TOKEN
(name, type, ...)
TOKEN_DEF
(name, CREATOR_##name, 1, 0, type, 1, __VA_ARGS__)
|
|
#define
|
DEFINE_INDEXED_TOKEN
(name, type, arraysize, ...)
TOKEN_DEF
(name, CREATOR_##name, 0, 1, type, (arraysize), __VA_ARGS__)
|
|
#define
|
DEFINE_FIXED_BASIC_TOKEN
(name, type, address, ...)
|
|
#define
|
DEFINE_FIXED_COUNTER_TOKEN
(name, type, address, ...)
|
|
#define
|
DEFINE_FIXED_INDEXED_TOKEN
(name, type, arraysize, address, ...)
|
|
#define
|
DEFINE_MFG_TOKEN
(name, type, address, ...)
|
These tokens are divided into three sections (the three main types of tokens mentioned in token.h):
-
manufacturing
-
stack
-
application
For a full explanation of the tokens, see
hal/micro/token.h
. See
token-stack.h
for source code.
A set of tokens is predefined in the APPLICATION DATA section at the end of
token-stack.h
because these tokens are required by the stack, but they are classified as application tokens since they are sized by the application via its CONFIGURATION_HEADER.
The user application can include its own tokens in a header file similar to this one. The macro ::APPLICATION_TOKEN_HEADER should be defined to equal the name of the header file in which application tokens are defined. See the APPLICATION DATA section at the end of
token-stack.h
for examples of token definitions.
Since
token-stack.h
contains both the typedefs and the token defs, two #defines are used to select which one is needed when this file is included. #define DEFINETYPES is used to select the type definitions and #define DEFINETOKENS is used to select the token definitions. See token.h and token.c to see how these are used.
#define CREATOR_MULTI_NETWORK_STACK_ALTERNATE_KEY 0xE212
|
#define CREATOR_MULTI_NETWORK_STACK_KEYS 0xE210
|
#define CREATOR_MULTI_NETWORK_STACK_NETWORK_MANAGEMENT 0xE214
|
#define CREATOR_MULTI_NETWORK_STACK_NODE_DATA 0xE211
|
#define CREATOR_MULTI_NETWORK_STACK_NONCE_COUNTER 0xE220
|
#define CREATOR_MULTI_NETWORK_STACK_PARENT_ADDITIONAL_INFO 0xE221
|
#define CREATOR_MULTI_NETWORK_STACK_PARENT_INFO 0xE215
|
#define CREATOR_MULTI_NETWORK_STACK_TRUST_CENTER 0xE213
|
#define CREATOR_STACK_ADDITIONAL_CHILD_DATA 0xE503
|
#define CREATOR_STACK_ALTERNATE_KEY 0xE475
|
#define CREATOR_STACK_ANALYSIS_REBOOT 0xE162
|
#define CREATOR_STACK_APS_FRAME_COUNTER 0xE123
|
#define CREATOR_STACK_BINDING_TABLE 0xE274
|
#define CREATOR_STACK_BOOT_COUNTER 0xE263
|
#define CREATOR_STACK_CERTIFICATE_TABLE 0xE500
|
#define CREATOR_STACK_CHILD_TABLE 0xFF0D
|
#define CREATOR_STACK_CLASSIC_DATA 0xE364
|
#define CREATOR_STACK_GP_DATA 0xE258
|
#define CREATOR_STACK_GP_INCOMING_FC 0xE25B
|
#define CREATOR_STACK_GP_PROXY_TABLE 0xE259
|
#define CREATOR_STACK_GP_SINK_TABLE 0xE25A
|
#define CREATOR_STACK_KEY_TABLE 0xE456
|
#define CREATOR_STACK_KEYS 0xEB79
|
#define CREATOR_STACK_MIN_RECEIVED_RSSI 0xE129
|
#define CREATOR_STACK_MULTI_PHY_NWK_INFO 0xE128
|
#define CREATOR_STACK_NETWORK_MANAGEMENT 0xE125
|
#define CREATOR_STACK_NODE_DATA 0xEE64
|
#define CREATOR_STACK_NONCE_COUNTER 0xE563
|
#define CREATOR_STACK_NVDATA_VERSION 0xFF01
|
#define CREATOR_STACK_PARENT_ADDITIONAL_INFO 0xE127
|
#define CREATOR_STACK_PARENT_INFO 0xE126
|
#define CREATOR_STACK_TRUST_CENTER 0xE124
|
#define CREATOR_STACK_ZLL_DATA 0xE501
|
#define CREATOR_STACK_ZLL_SECURITY 0xE502
|
#define CURRENT_STACK_TOKEN_VERSION 0x03FC
|
The current version number of the stack tokens. MSB is the version, LSB is a complement.
See
hal/micro/token.h
for a more complete explanation.
#define DEFINE_BASIC_TOKEN
|
(
|
|
name,
|
|
|
|
type,
|
|
|
|
...
|
|
)
|
|
TOKEN_DEF
(name, CREATOR_##name, 0, 0, type, 1, __VA_ARGS__)
|
#define DEFINE_COUNTER_TOKEN
|
(
|
|
name,
|
|
|
|
type,
|
|
|
|
...
|
|
)
|
|
TOKEN_DEF
(name, CREATOR_##name, 1, 0, type, 1, __VA_ARGS__)
|
#define DEFINE_FIXED_BASIC_TOKEN
|
(
|
|
name,
|
|
|
|
type,
|
|
|
|
address,
|
|
|
|
...
|
|
)
|
|
|
Value:
TOKEN_DEF
(name, CREATOR_##name, 0, 0, type, 1, __VA_ARGS__)
TOKEN_DEF
#define TOKEN_DEF(name, creator, iscnt, isidx, type, arraysize,...)
Definition:
cortexm3/token.h:181
#define TOKEN_NEXT_ADDRESS(region, address)
By default, tokens are automatically located after the previous token.
Definition:
token-stack.h:58
#define DEFINE_FIXED_COUNTER_TOKEN
|
(
|
|
name,
|
|
|
|
type,
|
|
|
|
address,
|
|
|
|
...
|
|
)
|
|
|
Value:
TOKEN_DEF
(name, CREATOR_##name, 1, 0, type, 1, __VA_ARGS__)
TOKEN_DEF
#define TOKEN_DEF(name, creator, iscnt, isidx, type, arraysize,...)
Definition:
cortexm3/token.h:181
#define TOKEN_NEXT_ADDRESS(region, address)
By default, tokens are automatically located after the previous token.
Definition:
token-stack.h:58
#define DEFINE_FIXED_INDEXED_TOKEN
|
(
|
|
name,
|
|
|
|
type,
|
|
|
|
arraysize,
|
|
|
|
address,
|
|
|
|
...
|
|
)
|
|
|
Value:
TOKEN_DEF
(name, CREATOR_##name, 0, 1, type, (arraysize), __VA_ARGS__)
TOKEN_DEF
#define TOKEN_DEF(name, creator, iscnt, isidx, type, arraysize,...)
Definition:
cortexm3/token.h:181
#define TOKEN_NEXT_ADDRESS(region, address)
By default, tokens are automatically located after the previous token.
Definition:
token-stack.h:58
#define DEFINE_INDEXED_TOKEN
|
(
|
|
name,
|
|
|
|
type,
|
|
|
|
arraysize,
|
|
|
|
...
|
|
)
|
|
TOKEN_DEF
(name, CREATOR_##name, 0, 1, type, (arraysize), __VA_ARGS__)
|
#define DEFINE_MFG_TOKEN
|
(
|
|
name,
|
|
|
|
type,
|
|
|
|
address,
|
|
|
|
...
|
|
)
|
|
|
Value:
TOKEN_MFG(name, CREATOR_##name, 0, 0, type, 1, __VA_ARGS__)
#define TOKEN_NEXT_ADDRESS(region, address)
By default, tokens are automatically located after the previous token.
Definition:
token-stack.h:58
#define NVM3KEY_DOMAIN_COMMON 0x80000U
|
#define NVM3KEY_DOMAIN_USER 0x00000U
|
#define NVM3KEY_DOMAIN_ZIGBEE 0x10000U
|
#define TOKEN_NEXT_ADDRESS
|
(
|
|
region,
|
|
|
|
address
|
|
)
|
|
|
By default, tokens are automatically located after the previous token.
If a token needs to be placed at a specific location, one of the DEFINE_FIXED_* definitions should be used. This macro is inherently used in the DEFINE_FIXED_* definition to locate a token and under special circumstances (such as manufacturing tokens) it may be explicitly used.
-
Parameters
-
region
|
A name for the next region being located.
|
address
|
The address of the beginning of the next region.
|