10#ifndef TR_DOOR_LOCK_SERVER_H
11#define TR_DOOR_LOCK_SERVER_H
15#ifndef TR_DOOR_LOCK_SERVER_MAX_PIN_LEN
16#define TR_DOOR_LOCK_SERVER_MAX_PIN_LEN 4
19#ifndef TR_DOOR_LOCK_SERVER_MAX_NUM_USERS
20#define TR_DOOR_LOCK_SERVER_MAX_NUM_USERS 8
24typedef ZB_PACKED_PRE
struct
31typedef ZB_PACKED_PRE
struct
46#if defined(TR_DOOR_LOCK_SERVER_PLUGIN_PRINT_ENABLE) && (TR_DOOR_LOCK_SERVER_PLUGIN_PRINT_ENABLE == 1)
47#define tr_door_lock_server_printf(...) tr_zcl_printf(__VA_ARGS__)
48#define tr_door_lock_server_println(...) tr_zcl_println(__VA_ARGS__)
50#define tr_door_lock_server_printf(...)
51#define tr_door_lock_server_println(...)
76 zb_uint8_t *new_value,
231 zb_uint8_t lock_state,
248 zb_uint8_t mask_bit);
262 zb_bool_t rf_operation,
zb_uint8_t source
Definition tr_zcl_cmd_structs.h:1308
ZB_PACKED_PRE struct @230352277160234014126115015046053366070207175050 tr_door_lock_set_user_status_cmd_t
ZB_PACKED_PRE struct @317051132137360126051152045163316165266273202152 tr_door_lock_set_user_type_cmd_t
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_event_source_t
Definition tr_zcl_type.h:589
tr_door_lock_set_pin_or_id_status_t
Definition tr_zcl_type.h:664
zb_bool_t tr_door_lock_server_get_user(zb_uint16_t user, tr_door_lock_get_pin_resp_t *user_info)
API used to get a user table entry.
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_uint8_t *pin)
API used to add a user to the table.
void tr_door_lock_server_unlock(zb_uint8_t endpoint, tr_door_lock_event_source_t event_source, zb_uint8_t *pin)
API that can be used to unlock the door.
zb_uint32_t tr_get_auto_relock_time_seconds(zb_uint8_t endpoint)
API for getting the auto-relock time.
zb_bool_t tr_door_lock_server_get_user_status(zb_uint16_t user, tr_door_lock_get_user_status_resp_t *user_info)
API to get the status of a user in the user table.
zb_bool_t tr_door_lock_server_get_user_type(zb_uint16_t user, tr_door_lock_get_user_type_resp_t *user_info)
API to get the type of a user from the user table.
void tr_door_lock_server_print_users(void)
API to print the user 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)
API used to notify the door lock server plugin of lock state changes.
zb_bool_t tr_door_lock_server_set_user_type(zb_uint16_t user, tr_door_lock_user_type_t user_type)
API to set the type of a user in the user table.
zb_bool_t tr_door_lock_server_set_user_status(zb_uint16_t user, tr_door_lock_user_status_t user_status)
API to set the status for a user in the user able.
void tr_door_lock_server_lock(zb_uint8_t endpoint, tr_door_lock_event_source_t event_source, zb_uint8_t *pin)
API that can be used to lock the door.
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_verify_user(zb_uint8_t endpoint, zb_bool_t rf_operation, zb_uint8_t *pin, zb_uint16_t *user)
API used to verify a PIN code.
zb_bool_t tr_door_lock_server_set_user_type_cb(zb_zcl_parsed_hdr_t *cmd_info, zb_uint8_t endpoint, zb_uint16_t user_id, tr_door_lock_user_type_t user_type)
Callback that user can declare to handle door lock cluster set user type command.
zb_bool_t tr_door_lock_server_clear_all_pins_cb(zb_zcl_parsed_hdr_t *cmd_info, zb_uint8_t endpoint)
Callback that user can declare to handle door lock cluster clear all pins command.
zb_bool_t tr_door_lock_server_set_pin_cb(zb_zcl_parsed_hdr_t *cmd_info, zb_uint8_t endpoint, zb_uint16_t user_id, tr_door_lock_user_status_t user_status, tr_door_lock_user_type_t user_type, zb_uint8_t *pin)
Callback that user can declare to handle door lock cluster set pin command.
zb_bool_t tr_door_lock_server_set_user_status_cb(zb_zcl_parsed_hdr_t *cmd_info, zb_uint8_t endpoint, zb_uint16_t user_id, tr_door_lock_user_status_t user_status)
Callback that user can declare to handle door lock cluster set user status command.
zb_bool_t tr_door_lock_server_get_pin_cb(zb_zcl_parsed_hdr_t *cmd_info, zb_uint8_t endpoint, 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_get_user_status_cb(zb_zcl_parsed_hdr_t *cmd_info, zb_uint8_t endpoint, zb_uint16_t user_id)
Callback that user can declare to handle door lock cluster get user status 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 an Door Lock server attribute is about to be written.
zb_bool_t tr_door_lock_server_lock_door_cb(zb_zcl_parsed_hdr_t *cmd_info, zb_uint8_t endpoint, tr_door_lock_event_source_t event_source, zb_uint8_t *pin)
Callback that user can declare to handle door lock cluster lock door command.
void tr_door_lock_server_init_cb(zb_uint8_t endpoint)
Callback fires when the Door Lock server cluster plugin is initialized.
zb_bool_t tr_door_lock_server_get_user_type_cb(zb_zcl_parsed_hdr_t *cmd_info, zb_uint8_t endpoint, zb_uint16_t user_id)
Callback that user can declare to handle door lock cluster get user type command.
void tr_door_lock_server_resp_sent_cb(zb_bufid_t param)
Callback fires when door lock server response completes.
zb_bool_t tr_door_lock_server_unlock_door_cb(zb_zcl_parsed_hdr_t *cmd_info, zb_uint8_t endpoint, tr_door_lock_event_source_t event_source, zb_uint8_t *pin)
Callback that user can declare to handle door lock cluster unlock door command.
zb_bool_t tr_door_lock_server_clear_pin_cb(zb_zcl_parsed_hdr_t *cmd_info, zb_uint8_t endpoint, zb_uint16_t user_id)
Callback that user can declare to handle door lock cluster clear pin command.
zb_bool_t tr_door_lock_server_command_received_cb(zb_zcl_parsed_hdr_t *cmd_info)
Callback that user can declare to handle any Door Lock server commands.
Trident application framework include.
tr_door_lock_set_user_status_cmd_t tr_door_lock_get_user_status_resp_t
Definition tr_door_lock_server.h:40
ZB_PACKED_PRE struct @265321142051225235110073250073321023271044264372 tr_door_lock_server_user_t
void tr_door_lock_server_init(void)
void tr_door_lock_server_register_nv(void)
zb_uint8_t pin[TR_DOOR_LOCK_SERVER_MAX_PIN_LEN+1]
Definition tr_door_lock_server.h:28
tr_door_lock_user_status_t user_status
Definition tr_door_lock_server.h:34
void tr_door_lock_server_users_init(void)
ZB_PACKED_PRE struct @252154042364136055144166255356366064117021346146 tr_door_lock_get_pin_resp_t
tr_door_lock_user_status_t status
Definition tr_door_lock_server.h:26
tr_door_lock_user_type_t user_type
Definition tr_door_lock_server.h:35
zb_uint16_t user_id
Definition tr_door_lock_server.h:33
tr_door_lock_user_type_t type
Definition tr_door_lock_server.h:27
tr_door_lock_set_user_type_cmd_t tr_door_lock_get_user_type_resp_t
Definition tr_door_lock_server.h:41
#define TR_DOOR_LOCK_SERVER_MAX_PIN_LEN
Definition tr_door_lock_server.h:16
zb_uint8_t endpoint
Definition tr_nvram_attr.h:176
zb_uint16_t manuf_code
Definition tr_nvram_attr.h:180
zb_uint16_t attr_id
Definition tr_nvram_attr.h:178