Trident IoT Z-Wave SDK
Loading...
Searching...
No Matches
CC_DoorLock.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
13
14#ifndef _CC_DOORLOCK_H_
15#define _CC_DOORLOCK_H_
16
17/****************************************************************************/
18/* INCLUDE FILES */
19/****************************************************************************/
20#include <ZW_typedefs.h>
21#include <ZW_classcmd.h>
22#include <CC_Common.h>
24#include <ZAF_types.h>
25#include "ZAF_CC_Invoker.h"
26
33
34/****************************************************************************/
35/* EXPORTED TYPES and DEFINITIONS */
36/****************************************************************************/
45typedef enum {
46 DOOR_MODE_UNSECURE = DOOR_LOCK_OPERATION_SET_DOOR_UNSECURED_V2,
47 DOOR_MODE_UNSECURE_TIMEOUT = DOOR_LOCK_OPERATION_SET_DOOR_UNSECURED_WITH_TIMEOUT_V2,
48 DOOR_MODE_UNSECURE_INSIDE = DOOR_LOCK_OPERATION_SET_DOOR_UNSECURED_FOR_INSIDE_DOOR_HANDLES_V2,
49 DOOR_MODE_UNSECURE_INSIDE_TIMEOUT = DOOR_LOCK_OPERATION_SET_DOOR_UNSECURED_FOR_INSIDE_DOOR_HANDLES_WITH_TIMEOUT_V2,
50 DOOR_MODE_UNSECURE_OUTSIDE = DOOR_LOCK_OPERATION_SET_DOOR_UNSECURED_FOR_OUTSIDE_DOOR_HANDLES_V2,
51 DOOR_MODE_UNSECURE_OUTSIDE_TIMEOUT = DOOR_LOCK_OPERATION_SET_DOOR_UNSECURED_FOR_OUTSIDE_DOOR_HANDLES_WITH_TIMEOUT_V2,
52 DOOR_MODE_UNKNOWN = DOOR_LOCK_OPERATION_REPORT_DOOR_MODE_UNKNOWN_V4,
53 DOOR_MODE_SECURED = DOOR_LOCK_OPERATION_SET_DOOR_SECURED_V2
55
68
78
90
160
191
251
257typedef struct _door_lock_hw_data_t{
258 // bool door_closed; /// true for Closed, false for Open
265
269#define DOOR_LOCK_OPERATION_SET_TIMEOUT_NOT_SUPPORTED 0xFE
270
275
276#define CC_DOOR_LOCK_CODE_EVENT_TOGGLE 1
277#define CC_DOOR_LOCK_EVENT_OPERATION_SET_DONE 2
278#define CC_DOOR_LOCK_EVENT_HW_OPERATION_DONE 3
280
281/****************************************************************************/
282/* EXPORTED DATA */
283/****************************************************************************/
284
285/****************************************************************************/
286/* EXPORTED FUNCTIONS */
287/****************************************************************************/
288
294void cc_door_lock_latch_set(bool opened);
295
300void cc_door_lock_handle_set(bool opened);
301
307void cc_door_lock_bolt_set(bool locked);
308
315
322
333
339
345
351
356
357#endif /* _CC_DOORLOCK_H_ */
Transport layer for Multi Channel endpoint functionality.
cc_door_lock_handle_t
Definition CC_DoorLock.h:83
void CC_DoorLock_ClearOutsideDoorHandleState(cc_door_lock_handle_t handle)
bool door_lock_hw_handle_is_pressed(void)
struct _door_lock_hw_data_t door_lock_hw_data_t
void CC_DoorLock_SetOutsideDoorHandleState(cc_door_lock_handle_t handle)
bool door_lock_hw_bolt_is_unlocked(void)
cc_door_lock_operation_type_t
Definition CC_DoorLock.h:62
door_lock_mode_t
Definition CC_DoorLock.h:45
void cc_door_lock_latch_set(bool opened)
uint8_t cc_door_lock_mode_hw_change(door_lock_mode_t mode)
void cc_door_lock_handle_set(bool opened)
cc_door_lock_door_component_t
Definition CC_DoorLock.h:73
bool door_lock_hw_latch_is_closed(void)
void cc_door_lock_bolt_set(bool locked)
@ DOOR_HANDLE_4
Definition CC_DoorLock.h:88
@ DOOR_HANDLE_1
Definition CC_DoorLock.h:85
@ DOOR_HANDLE_3
Definition CC_DoorLock.h:87
@ DOOR_HANDLE_2
Definition CC_DoorLock.h:86
@ DOOR_HANDLE_DISABLED
Definition CC_DoorLock.h:84
@ DOOR_OPERATION_CONST
Definition CC_DoorLock.h:63
@ DOOR_OPERATION_TIMED
Definition CC_DoorLock.h:64
@ DOOR_OPERATION_RESERVED
Definition CC_DoorLock.h:65
@ DOOR_MODE_UNSECURE_INSIDE_TIMEOUT
DOOR_MODE_UNSECURE_INSIDE_TIMEOUT.
Definition CC_DoorLock.h:49
@ DOOR_MODE_UNSECURE
DOOR_MODE_UNSECURE.
Definition CC_DoorLock.h:46
@ DOOR_MODE_UNSECURE_OUTSIDE_TIMEOUT
DOOR_MODE_UNSECURE_OUTSIDE_TIMEOUT.
Definition CC_DoorLock.h:51
@ DOOR_MODE_UNSECURE_OUTSIDE
DOOR_MODE_UNSECURE_OUTSIDE.
Definition CC_DoorLock.h:50
@ DOOR_MODE_UNKNOWN
DOOR_MODE_UNKNOWN.
Definition CC_DoorLock.h:52
@ DOOR_MODE_SECURED
DOOR_MODE_SECURED.
Definition CC_DoorLock.h:53
@ DOOR_MODE_UNSECURE_INSIDE
DOOR_MODE_UNSECURE_INSIDE.
Definition CC_DoorLock.h:48
@ DOOR_MODE_UNSECURE_TIMEOUT
DOOR_MODE_UNSECURE_TIMEOUT.
Definition CC_DoorLock.h:47
@ DOOR_COMPONENT_LATCH
Definition CC_DoorLock.h:76
@ DOOR_COMPONENT_BOLT
Definition CC_DoorLock.h:75
@ DOOR_COMPONENT_DOOR
Definition CC_DoorLock.h:74
Definition CC_DoorLock.h:257
bool bolt_unlocked
Definition CC_DoorLock.h:259
bool latch_closed
True for unlocked, false for locked.
Definition CC_DoorLock.h:260
bool handle_pressed
True for Closed, false for Open.
Definition CC_DoorLock.h:261
Definition CC_DoorLock.h:146
uint8_t supportedDoorLockModeList[8]
Definition CC_DoorLock.h:151
uint8_t lengthSupportedOperationType
Definition CC_DoorLock.h:148
uint8_t autoRelockSupport
Definition CC_DoorLock.h:155
uint8_t reserved
Definition CC_DoorLock.h:147
uint8_t supportedDoorComponents
Definition CC_DoorLock.h:154
uint8_t blockToBlockSupport
Definition CC_DoorLock.h:158
uint8_t lengthSupportedDoorLockModeList
Definition CC_DoorLock.h:150
uint8_t supportedOperationTypeBitmask
Definition CC_DoorLock.h:149
uint8_t supportedOutsideHandleModes
Definition CC_DoorLock.h:152
uint8_t supportedInsideHandleModes
Definition CC_DoorLock.h:153
uint8_t holdAndReleaseSupport
Definition CC_DoorLock.h:156
uint8_t twistAssistSupport
Definition CC_DoorLock.h:157
Definition CC_DoorLock.h:179
uint8_t reservedOptionsFlags
Definition CC_DoorLock.h:189
uint8_t insideDoorHandleMode
Definition CC_DoorLock.h:181
uint8_t autoRelockTime1
Definition CC_DoorLock.h:185
uint8_t holdAndReleaseTime1
Definition CC_DoorLock.h:187
uint8_t holdAndReleaseTime2
Definition CC_DoorLock.h:188
uint8_t lockTimeoutMin
Definition CC_DoorLock.h:183
uint8_t outsideDoorHandleMode
Definition CC_DoorLock.h:182
uint8_t autoRelockTime2
Definition CC_DoorLock.h:186
uint8_t type
Definition CC_DoorLock.h:180
uint8_t lockTimeoutSec
Definition CC_DoorLock.h:184
Definition CC_DoorLock.h:240
uint8_t insideDoorHandleState
Definition CC_DoorLock.h:245
uint8_t condition
Definition CC_DoorLock.h:247
uint8_t outsideDoorHandleMode
Definition CC_DoorLock.h:244
uint8_t outsideDoorHandleState
Definition CC_DoorLock.h:246
door_lock_mode_t mode
Definition CC_DoorLock.h:241
cc_door_lock_operation_type_t type
Definition CC_DoorLock.h:242
uint8_t lockTimeoutSec
Definition CC_DoorLock.h:249
uint8_t lockTimeoutMin
Definition CC_DoorLock.h:248
uint8_t insideDoorHandleMode
Definition CC_DoorLock.h:243