Trident IoT SDK
 
Loading...
Searching...
No Matches
MFG Tokens
+ Collaboration diagram for MFG Tokens:

Macros

#define tr_get_mfg_token_len(token)    sizeof(((tr_mfg_token_struct_t*)0)->token)
 gets the size of a MFG token
 
#define tr_get_mfg_token_offset(token)    ((uint32_t)(&((tr_mfg_token_struct_t*)0)->token))
 gets the address offset to a specific MFG token
 
#define tr_get_mfg_token(data, token)
 copies the token data to the location pointed to by data
 
#define tr_mfg_token_check_erased(token)
 checks if a specific MFG token is erased
 
#define tr_set_mfg_token(data, data_len, token)
 write token data to a specific MFG token
 

Detailed Description



Macro Definition Documentation

◆ tr_get_mfg_token

#define tr_get_mfg_token ( data,
token )
Value:
tr_platform_token_read((uint8_t*)data, \
(uint8_t)tr_get_mfg_token_len(token), \
(uint32_t)(TR_MFG_TOKEN_BASE + tr_get_mfg_token_offset(token)))
#define tr_get_mfg_token_offset(token)
gets the address offset to a specific MFG token
Definition tr_mfg_tokens.h:48
#define tr_get_mfg_token_len(token)
gets the size of a MFG token
Definition tr_mfg_tokens.h:42
void tr_platform_token_read(void *buffer, uint8_t buf_size, uint32_t token_addr)

copies the token data to the location pointed to by data

Parameters
datapointer to buffer to store the token data
tokenname of MFG token to read (ex. TR_MFG_TOKEN_VERSION)

◆ tr_get_mfg_token_len

#define tr_get_mfg_token_len ( token)     sizeof(((tr_mfg_token_struct_t*)0)->token)

gets the size of a MFG token

Parameters
tokenname of MFG token (ex. TR_MFG_TOKEN_VERSION)
Returns
returns the size of a specific element in the token structure

◆ tr_get_mfg_token_offset

#define tr_get_mfg_token_offset ( token)     ((uint32_t)(&((tr_mfg_token_struct_t*)0)->token))

gets the address offset to a specific MFG token

Parameters
tokenname of MFG token (ex. TR_MFG_TOKEN_VERSION)
Returns
returns the address of the structure element referenced to 0

◆ tr_mfg_token_check_erased

#define tr_mfg_token_check_erased ( token)
Value:
({ \
bool is_erased = true; \
uint8_t count = 0; \
uint8_t data[200]; \
tr_get_mfg_token(data, token); \
for (size_t i = 0 ; i < tr_get_mfg_token_len(token) ; i++) { \
if (data[i] == 0xFF) { \
count++; \
} \
} \
if (count != tr_get_mfg_token_len(token)) { \
is_erased = false; \
} \
is_erased; \
})

checks if a specific MFG token is erased

Parameters
tokenname of MFG token (ex. TR_MFG_TOKEN_VERSION)
Returns
returns true if erased, false otherwise

◆ tr_set_mfg_token

#define tr_set_mfg_token ( data,
data_len,
token )
Value:
do { \
if (tr_mfg_token_check_erased(token)) { \
tr_platform_token_write((uint8_t*)data, \
(uint8_t)data_len, \
(uint32_t)(TR_MFG_TOKEN_BASE + tr_get_mfg_token_offset(token))); \
} \
} while (0)
#define tr_mfg_token_check_erased(token)
checks if a specific MFG token is erased
Definition tr_mfg_tokens.h:62

write token data to a specific MFG token

Parameters
datapointer to buffer with the token data
data_lennumber of bytes to write
tokenname of MFG token to write (ex. TR_MFG_TOKEN_VERSION)