Sistema Embarcado LockWise
Sistema de fechadura inteligente com autenticação por voz, controle MQTT e aplicativo móvel
Carregando...
Procurando...
Nenhuma entrada encontrada
lock.h
Ir para a documentação deste ficheiro.
1
/* Lock Control Header */
2
3
#pragma once
4
#ifndef LOCK_H
5
#define LOCK_H
6
7
#include <stdint.h>
8
10
#define LOCK_INDICATOR_LED_GPIO 22
11
13
#define LOCK_ACTUATOR_GPIO CONFIG_LOCK_GPIO
14
18
typedef
enum
{
19
LOCK_STATE_LOCKED
,
20
LOCK_STATE_UNLOCKED
,
21
LOCK_STATE_AUTHENTICATING
22
}
lock_state_t
;
23
27
typedef
enum
{
28
DOOR_REASON_BUTTON
,
29
DOOR_REASON_TIMEOUT
,
30
DOOR_REASON_MQTT
,
31
DOOR_REASON_VOICE
,
32
DOOR_REASON_REBOOT
,
33
DOOR_REASON_LOCKDOWN
,
34
DOOR_REASON_SERIAL
35
}
door_reason_t
;
36
40
typedef
struct
{
41
uint16_t
period_ms
;
42
uint16_t
on_time_ms
;
43
}
blink_params_t
;
44
50
void
lock_init
(
void
);
51
59
void
unlock_door
(
door_reason_t
reason);
60
68
void
lock_door
(
door_reason_t
reason);
69
77
void
toggle_door
(
door_reason_t
reason);
78
84
lock_state_t
get_lock_state
(
void
);
85
93
void
blink
(
void
*param);
94
95
#endif
/* LOCK_H */
lock_state_t
lock_state_t
Estados possíveis da fechadura.
Definição
lock.h:18
LOCK_STATE_AUTHENTICATING
@ LOCK_STATE_AUTHENTICATING
Fechadura está em processo de autenticação.
Definição
lock.h:21
LOCK_STATE_LOCKED
@ LOCK_STATE_LOCKED
Fechadura está trancada.
Definição
lock.h:19
LOCK_STATE_UNLOCKED
@ LOCK_STATE_UNLOCKED
Fechadura está destrancada.
Definição
lock.h:20
blink
void blink(void *param)
Tarefa para fazer o LED piscar continuamente.
Definição
lock.c:55
toggle_door
void toggle_door(door_reason_t reason)
Alterna o estado da fechadura.
Definição
lock.c:127
lock_door
void lock_door(door_reason_t reason)
Tranca a fechadura.
Definição
lock.c:98
door_reason_t
door_reason_t
Razões para mudança de estado da fechadura.
Definição
lock.h:27
DOOR_REASON_VOICE
@ DOOR_REASON_VOICE
Autenticação por voz.
Definição
lock.h:31
DOOR_REASON_MQTT
@ DOOR_REASON_MQTT
Comando via MQTT.
Definição
lock.h:30
DOOR_REASON_REBOOT
@ DOOR_REASON_REBOOT
Reinicialização do sistema.
Definição
lock.h:32
DOOR_REASON_LOCKDOWN
@ DOOR_REASON_LOCKDOWN
Bloqueio de emergência.
Definição
lock.h:33
DOOR_REASON_BUTTON
@ DOOR_REASON_BUTTON
Ação manual via botão de toque.
Definição
lock.h:28
DOOR_REASON_SERIAL
@ DOOR_REASON_SERIAL
Comando via interface serial.
Definição
lock.h:34
DOOR_REASON_TIMEOUT
@ DOOR_REASON_TIMEOUT
Trancamento automático por timeout.
Definição
lock.h:29
get_lock_state
lock_state_t get_lock_state(void)
Retorna o estado atual da fechadura.
Definição
lock.c:135
lock_init
void lock_init(void)
Inicializa o controle da fechadura.
Definição
lock.c:29
unlock_door
void unlock_door(door_reason_t reason)
Destranca a fechadura.
Definição
lock.c:70
blink_params_t
Parâmetros para controle do piscar do LED.
Definição
lock.h:40
blink_params_t::on_time_ms
uint16_t on_time_ms
Tempo em que o LED fica aceso em ms.
Definição
lock.h:42
blink_params_t::period_ms
uint16_t period_ms
Período total do ciclo de piscar em ms.
Definição
lock.h:41
lock.h
Gerado em Quinta, 18 de Dezembro de 2025 16:24:24 para Sistema Embarcado LockWise por
1.9.8