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
23
36
40typedef struct {
41 uint16_t period_ms;
42 uint16_t on_time_ms;
44
50void lock_init(void);
51
59void unlock_door(door_reason_t reason);
60
68void lock_door(door_reason_t reason);
69
77void toggle_door(door_reason_t reason);
78
85
93void blink(void *param);
94
95#endif /* LOCK_H */
lock_state_t
Estados possíveis da fechadura.
Definição lock.h:18
@ LOCK_STATE_AUTHENTICATING
Fechadura está em processo de autenticação.
Definição lock.h:21
@ LOCK_STATE_LOCKED
Fechadura está trancada.
Definição lock.h:19
@ LOCK_STATE_UNLOCKED
Fechadura está destrancada.
Definição lock.h:20
void blink(void *param)
Tarefa para fazer o LED piscar continuamente.
Definição lock.c:55
void toggle_door(door_reason_t reason)
Alterna o estado da fechadura.
Definição lock.c:127
void lock_door(door_reason_t reason)
Tranca a fechadura.
Definição lock.c:98
door_reason_t
Razões para mudança de estado da fechadura.
Definição lock.h:27
@ DOOR_REASON_VOICE
Autenticação por voz.
Definição lock.h:31
@ DOOR_REASON_MQTT
Comando via MQTT.
Definição lock.h:30
@ DOOR_REASON_REBOOT
Reinicialização do sistema.
Definição lock.h:32
@ DOOR_REASON_LOCKDOWN
Bloqueio de emergência.
Definição lock.h:33
@ DOOR_REASON_BUTTON
Ação manual via botão de toque.
Definição lock.h:28
@ DOOR_REASON_SERIAL
Comando via interface serial.
Definição lock.h:34
@ DOOR_REASON_TIMEOUT
Trancamento automático por timeout.
Definição lock.h:29
lock_state_t get_lock_state(void)
Retorna o estado atual da fechadura.
Definição lock.c:135
void lock_init(void)
Inicializa o controle da fechadura.
Definição lock.c:29
void unlock_door(door_reason_t reason)
Destranca a fechadura.
Definição lock.c:70