Trident IoT Z-Wave SDK
Loading...
Searching...
No Matches
CC_UserCode.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2018 Silicon Laboratories Inc. <https://www.silabs.com/>
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 */
7
31
32#ifndef _COMMANDCLASSUSERCODE_H_
33#define _COMMANDCLASSUSERCODE_H_
34
35/****************************************************************************/
36/* INCLUDE FILES */
37/****************************************************************************/
38#include <CC_Common.h>
39
46
47/****************************************************************************/
48/* EXPORTED TYPES and DEFINITIONS */
49/****************************************************************************/
50
64typedef enum {
69}
71
73
77#define USERCODE_MIN_LEN 4
78
82#define USERCODE_MAX_LEN 10
83
84// Used by application file system.
90
98
103
104#define CC_USER_CODE_EVENT_VALIDATE 1
105
106typedef struct {
107 uint8_t id;
108 uint8_t *data;
109 uint8_t length;
111
112#define CC_USER_CODE_EVENT_VALIDATE_VALID 2
113#define CC_USER_CODE_EVENT_VALIDATE_INVALID 3
114
118
119/****************************************************************************/
120/* EXPORTED DATA */
121/****************************************************************************/
122
123// Nothing here.
124
125/****************************************************************************/
126/* EXPORTED FUNCTIONS */
127/****************************************************************************/
128
140 uint8_t identifier,
142 uint8_t* pUserCode,
143 uint8_t len,
144 uint16_t modifierNodeId);
145
154 uint8_t identifier,
155 USER_ID_STATUS* pId,
156 uint8_t endpoint);
157
168 uint8_t identifier,
169 uint8_t* pUserCode,
170 size_t *pLen,
171 uint8_t endpoint);
172
181
187
201 AGI_PROFILE * pProfile,
202 uint8_t sourceEndpoint,
203 uint8_t userIdentifier,
204 uint8_t userIdStatus,
205 uint8_t * pUserCode,
206 uint8_t userCodeLen,
207 VOID_CALLBACKFUNC(pCallback)(TRANSMISSION_RESULT * pTransmissionResult));
208
210 uint8_t identifier,
211 const uint8_t *pCode,
212 uint8_t len
213 );
214
219
220#endif /* _COMMANDCLASSUSERCODE_H_ */
struct _RECEIVE_OPTIONS_TYPE_EX_ RECEIVE_OPTIONS_TYPE_EX
agi_profile_t AGI_PROFILE
Definition ZAF_types.h:134
e_cmd_handler_return_code_t
Definition ZAF_types.h:89
transmission_result_t TRANSMISSION_RESULT
Definition ZAF_types.h:178
job_status_t JOB_STATUS
Definition ZAF_types.h:149
struct s_CC_userCode_data_t_ s_CC_userCode_data_t
user_id_status_t USER_ID_STATUS
Definition CC_UserCode.h:72
bool CC_UserCode_Validate(uint8_t identifier, const uint8_t *pCode, uint8_t len)
bool CC_UserCode_Report_handler(uint8_t identifier, uint8_t *pUserCode, size_t *pLen, uint8_t endpoint)
The User Code Report Command can be used by e.g. a door lock device to send a report either unsolicit...
JOB_STATUS CC_UserCode_SupportReport(AGI_PROFILE *pProfile, uint8_t sourceEndpoint, uint8_t userIdentifier, uint8_t userIdStatus, uint8_t *pUserCode, uint8_t userCodeLen, void(*pCallback)(TRANSMISSION_RESULT *pTransmissionResult))
Send a Command Class User code support report.
uint8_t CC_UserCode_UsersNumberReport_handler(uint8_t endpoint)
The Users Number Report Command used to report the maximum number of USER CODES the given node suppor...
user_id_status_t
Definition CC_UserCode.h:64
#define USERCODE_MAX_LEN
Definition CC_UserCode.h:82
bool CC_UserCode_getId_handler(uint8_t identifier, USER_ID_STATUS *pId, uint8_t endpoint)
Determines the status of a User ID.
e_cmd_handler_return_code_t CC_UserCode_Set_handler(uint8_t identifier, USER_ID_STATUS id, uint8_t *pUserCode, uint8_t len, uint16_t modifierNodeId)
The User Code Set Command used to set a User Code in the device.
void CC_UserCode_reset_data(void)
Resets the data used by the command class.
@ USER_ID_RESERVED
Definition CC_UserCode.h:67
@ USER_ID_OCCUPIED
Definition CC_UserCode.h:66
@ USER_ID_AVAILABLE
Definition CC_UserCode.h:65
@ USER_ID_NO_STATUS
Definition CC_UserCode.h:68
#define VOID_CALLBACKFUNC(completedFunc)
Definition ZW_typedefs.h:46
Definition CC_UserCode.h:85
uint8_t userCode[USERCODE_MAX_LEN]
Definition CC_UserCode.h:87
USER_ID_STATUS user_id_status
Definition CC_UserCode.h:86
uint8_t userCodeLen
Definition CC_UserCode.h:88
Definition CC_UserCode.h:106
uint8_t * data
Definition CC_UserCode.h:108
uint8_t id
Definition CC_UserCode.h:107
uint8_t length
Definition CC_UserCode.h:109
Definition CC_UserCode.h:94
RECEIVE_OPTIONS_TYPE_EX rxOptions
Definition CC_UserCode.h:95
uint8_t userIdentifier
Definition CC_UserCode.h:96