Trident IoT Zigbee SDK
 
Loading...
Searching...
No Matches
tr_door_lock_server.h
Go to the documentation of this file.
1
10#ifndef TR_DOOR_LOCK_SERVER_H
11#define TR_DOOR_LOCK_SERVER_H
12
13#include "tr_af.h"
14
15// TODO: LCD 2/6/25 These structures will go away once zap generates them
16// door lock users structure
17typedef ZB_PACKED_PRE struct
18{
23
24// door lock server user pin code command arg struct
25typedef ZB_PACKED_PRE struct
26{
27 zb_uint16_t user_id;
28 zb_uint8_t user_status;
29 zb_uint8_t user_type;
30 zb_uint8_t pin_code[];
32
33// door lock server set/get user status command struct
34typedef ZB_PACKED_PRE struct
35{
36 zb_uint16_t user_id;
37 zb_uint8_t user_status;
39
40// door lock server set/get user type command struct
41typedef ZB_PACKED_PRE struct
42{
43 zb_uint16_t user_id;
44 zb_uint8_t user_type;
46
50#if defined(TR_DOOR_LOCK_SERVER_PLUGIN_PRINT_ENABLE) && (TR_DOOR_LOCK_SERVER_PLUGIN_PRINT_ENABLE == 1)
51#define tr_door_lock_server_printf(...) tr_zcl_printf(__VA_ARGS__)
52#define tr_door_lock_server_println(...) tr_zcl_println(__VA_ARGS__)
53#else
54#define tr_door_lock_server_printf(...)
55#define tr_door_lock_server_println(...)
56#endif
57
63
66
71zb_bool_t tr_door_lock_server_lock_door_cb(zb_zcl_parsed_hdr_t *cmd_info,
72 zb_uint8_t *pin_code);
73
78zb_bool_t tr_door_lock_server_unlock_door_cb(zb_zcl_parsed_hdr_t *cmd_info,
79 zb_uint8_t *pin_code);
80
88zb_bool_t tr_door_lock_server_set_pin_cb(zb_zcl_parsed_hdr_t *cmd_info,
89 zb_uint16_t user_id,
90 zb_uint8_t user_status,
91 zb_uint8_t user_type,
92 zb_uint8_t *pin_code);
93
98zb_bool_t tr_door_lock_server_get_pin_cb(zb_zcl_parsed_hdr_t *cmd_info,
99 zb_uint16_t user_id);
100
105zb_bool_t tr_door_lock_server_clear_pin_cb(zb_zcl_parsed_hdr_t *cmd_info,
106 zb_uint16_t user_id);
107
111zb_bool_t tr_door_lock_server_clear_all_pins_cb(zb_zcl_parsed_hdr_t *cmd_info);
112
118zb_bool_t tr_door_lock_server_set_user_status_cb(zb_zcl_parsed_hdr_t *cmd_info,
119 zb_uint16_t user_id,
120 zb_uint8_t user_status);
121
126zb_bool_t tr_door_lock_server_get_user_status_cb(zb_zcl_parsed_hdr_t *cmd_info,
127 zb_uint16_t user_id);
128
134zb_bool_t tr_door_lock_server_set_user_type_cb(zb_zcl_parsed_hdr_t *cmd_info,
135 zb_uint16_t user_id,
136 zb_uint8_t user_type);
137
142zb_bool_t tr_door_lock_server_get_user_type_cb(zb_zcl_parsed_hdr_t *cmd_info,
143 zb_uint16_t user_id);
144
151 zb_uint16_t attr_id,
152 zb_uint8_t *new_value,
153 zb_uint16_t manuf_code);
154
156
162
170 zb_uint8_t lock_state,
171 zb_uint8_t source,
172 zb_uint16_t user,
173 zb_uint8_t *pin_code);
174
183 zb_uint8_t source,
184 zb_uint8_t code,
185 zb_uint16_t user,
186 zb_uint8_t *pin,
187 zb_uint8_t mask_bit);
188
196 zb_bool_t rf_operation,
197 zb_char_t *pin_code,
198 zb_uint16_t *user);
199
209 zb_char_t *pin_code);
210
215zb_bool_t tr_door_lock_server_get_user(zb_uint16_t user,
217
221zb_bool_t tr_door_lock_server_delete_user(zb_uint16_t user);
222
225
230zb_bool_t tr_door_lock_server_set_user_status(zb_uint16_t user,
231 zb_uint8_t user_status);
232
237zb_bool_t tr_door_lock_server_get_user_status(zb_uint16_t user,
239
244zb_bool_t tr_door_lock_server_set_user_type(zb_uint16_t user,
245 zb_uint8_t user_type);
246
251zb_bool_t tr_door_lock_server_get_user_type(zb_uint16_t user,
253
256
258
263
264// user management functions
266
267#endif // TR_DOOR_LOCK_SERVER_H
#define TR_DOOR_LOCK_SERVER_MAX_PIN_LEN
Definition tr_plugin_config.h:84
tr_door_lock_user_status_t
Definition tr_zcl_type.h:702
tr_door_lock_user_type_t
Definition tr_zcl_type.h:710
tr_door_lock_set_pin_or_id_status_t
Definition tr_zcl_type.h:664
zb_bool_t tr_door_lock_server_verify_user(zb_uint8_t endpoint, zb_bool_t rf_operation, zb_char_t *pin_code, zb_uint16_t *user)
API used to verify a PIN code.
zb_bool_t tr_door_lock_server_get_user(zb_uint16_t user, tr_door_lock_server_pin_code_arg_t *user_info)
API used to get a user table entry.
void tr_door_lock_server_print_users(void)
API to print the user table.
tr_door_lock_set_pin_or_id_status_t tr_door_lock_server_add_user(zb_uint16_t user, tr_door_lock_user_status_t status, tr_door_lock_user_type_t type, zb_char_t *pin_code)
API used to add a user to the table.
void tr_door_lock_server_delete_all_pin_users(void)
API to delete ALL entries from the user table.
zb_bool_t tr_door_lock_server_delete_user(zb_uint16_t user)
API to delete an entry from the user table.
void tr_door_lock_server_update_lock_state(zb_uint8_t endpoint, zb_uint8_t lock_state, zb_uint8_t source, zb_uint16_t user, zb_uint8_t *pin_code)
API used to notify the door lock server plugin of lock state changes.
zb_bool_t tr_door_lock_server_get_user_status(zb_uint16_t user, tr_door_lock_server_user_status_arg_t *user_info)
API to get the status of a user in the user table.
zb_bool_t tr_door_lock_server_set_user_type(zb_uint16_t user, zb_uint8_t user_type)
API to set the type of a user in the user table.
void tr_door_lock_server_send_op_event_notification(zb_uint8_t endpoint, zb_uint8_t source, zb_uint8_t code, zb_uint16_t user, zb_uint8_t *pin, zb_uint8_t mask_bit)
API used to send an operation event notification.
zb_bool_t tr_door_lock_server_get_user_type(zb_uint16_t user, tr_door_lock_server_user_type_arg_t *user_info)
API to get the type of a user from the user table.
zb_bool_t tr_door_lock_server_set_user_status(zb_uint16_t user, zb_uint8_t user_status)
API to set the status for a user in the user able.
zb_bool_t tr_door_lock_server_clear_all_pins_cb(zb_zcl_parsed_hdr_t *cmd_info)
Callback that user can declare to handle door lock cluster clear all pins command.
zb_bool_t tr_door_lock_server_get_user_status_cb(zb_zcl_parsed_hdr_t *cmd_info, zb_uint16_t user_id)
Callback that user can declare to handle door lock cluster get user status command.
zb_bool_t tr_door_lock_server_set_user_type_cb(zb_zcl_parsed_hdr_t *cmd_info, zb_uint16_t user_id, zb_uint8_t user_type)
Callback that user can declare to handle door lock cluster set user type command.
zb_bool_t tr_door_lock_server_lock_door_cb(zb_zcl_parsed_hdr_t *cmd_info, zb_uint8_t *pin_code)
Callback that user can declare to handle door lock cluster lock door command.
zb_bool_t tr_door_lock_server_get_pin_cb(zb_zcl_parsed_hdr_t *cmd_info, zb_uint16_t user_id)
Callback that user can declare to handle door lock cluster get pin command.
zb_bool_t tr_door_lock_server_set_pin_cb(zb_zcl_parsed_hdr_t *cmd_info, zb_uint16_t user_id, zb_uint8_t user_status, zb_uint8_t user_type, zb_uint8_t *pin_code)
Callback that user can declare to handle door lock cluster set pin command.
void tr_door_lock_server_write_attr_cb(zb_uint8_t endpoint, zb_uint16_t attr_id, zb_uint8_t *new_value, zb_uint16_t manuf_code)
Callback fires when a door lock server attribute is about to be written.
zb_bool_t tr_door_lock_server_get_user_type_cb(zb_zcl_parsed_hdr_t *cmd_info, zb_uint16_t user_id)
Callback that user can declare to handle door lock cluster get user type command.
zb_bool_t tr_door_lock_server_set_user_status_cb(zb_zcl_parsed_hdr_t *cmd_info, zb_uint16_t user_id, zb_uint8_t user_status)
Callback that user can declare to handle door lock cluster set user status command.
zb_bool_t tr_door_lock_server_clear_pin_cb(zb_zcl_parsed_hdr_t *cmd_info, zb_uint16_t user_id)
Callback that user can declare to handle door lock cluster clear pin command.
void tr_door_lock_server_init_cb(void)
Callback fires when the door lock server cluster plugin is initialized.
zb_bool_t tr_door_lock_server_unlock_door_cb(zb_zcl_parsed_hdr_t *cmd_info, zb_uint8_t *pin_code)
Callback that user can declare to handle door lock cluster unlock door command.
Trident application framework include.
ZB_PACKED_PRE struct @2 tr_door_lock_server_user_status_arg_t
zb_uint8_t code[TR_DOOR_LOCK_SERVER_MAX_PIN_LEN+1]
Definition tr_door_lock_server.h:21
void tr_door_lock_server_init(void)
ZB_PACKED_PRE struct @1 tr_door_lock_server_pin_code_arg_t
zb_uint8_t pin_code[]
Definition tr_door_lock_server.h:30
void tr_door_lock_server_users_init(void)
zb_uint8_t user_status
Definition tr_door_lock_server.h:28
tr_door_lock_user_status_t status
Definition tr_door_lock_server.h:19
zb_uint16_t user_id
Definition tr_door_lock_server.h:27
ZB_PACKED_PRE struct @3 tr_door_lock_server_user_type_arg_t
ZB_PACKED_PRE struct @0 tr_door_lock_server_user_t
tr_door_lock_user_type_t type
Definition tr_door_lock_server.h:20
zb_uint8_t user_type
Definition tr_door_lock_server.h:29
zb_uint8_t endpoint
Definition tr_nvram_attr.h:23
zb_uint16_t manuf_code
Definition tr_nvram_attr.h:27
zb_uint16_t attr_id
Definition tr_nvram_attr.h:25