Portier Wireless Le portier sans fil est un système bidirectionnel basé sur un microcontrôleur PIC32MX130F064B-I/SS et un module radio 868 MHz, permettant à un visiteur d’envoyer une requête depuis l’extérieur via un bouton alimenté par piles, et à l’occupant du bureau de répondre par des signaux lumineux et sonores grâce à une unité intérieure alimentée en USB, le tout avec appairage sécurisé et gestion autonome de l’énergie.
Chargement...
Recherche...
Aucune correspondance
Référence du fichier Pairing.c
#include "app.h"
#include <stdio.h>
#include <string.h>
#include "driver/nvm/drv_nvm.h"
#include "led.h"
#include "Mc32Debounce.h"
#include "Mc32Delays.h"
#include "Pairing.h"
#include "RF.h"
#include "sound.h"
Graphe des dépendances par inclusion de Pairing.c:

Énumérations

enum  BellState {
  BELL_IDLE , BELL_SEND_P0 , BELL_SEND_P1 , BELL_WAIT_ACK ,
  BELL_DONE
}
enum  DoorState {
  DOOR_IDLE , DOOR_WAIT_P , DOOR_SEND_A0 , DOOR_SEND_A1 ,
  DOOR_DONE
}

Fonctions

Serial_IsPairingRunning

Indique si une procédure d'appairage est en cours.

Renvoie
true si l'appairage est en cours, false sinon.
bool Serial_IsPairingRunning (void)
NVM_OpenDriver

Ouvre le driver NVM si ce n'est pas déjà fait.

SaveSerialHarmony

Sauvegarde le numéro de série appairé en mémoire non volatile (NVM).

Paramètres
serialNuméro de série à sauvegarder.
LoadSerialHarmony

Charge le numéro de série appairé depuis la mémoire non volatile (NVM).

Renvoie
Le numéro de série chargé, ou 0 si non valide.
SavePairedSerialToFlash

Sauvegarde le numéro de série appairé courant en mémoire flash.

void SavePairedSerialToFlash (void)
LoadPairedSerialAndApply

Charge le numéro de série appairé depuis la flash et l'applique à l'application.

void LoadPairedSerialAndApply (void)
GetActifSerialNbr

Retourne le numéro de série actuellement actif (appairé).

Renvoie
Le numéro de série appairé.
uint32_t GetActifSerialNbr (void)
ResetSerialList

Réinitialise la liste des numéros de série et l'état d'appairage.

void ResetSerialList (void)
ShowPairingSuccess

Indique visuellement et auditivement le succès de l'appairage.

void ShowPairingSuccess (void)
PairingReset_DoReset

Effectue la réinitialisation de l'appairage.

Cette fonction réinitialise la liste des numéros de série appairés, efface la mémoire flash correspondante, remet l'état d'appairage à zéro, et effectue une indication visuelle et sonore de la réinitialisation.

Renvoie
void
PairingReset_DoorTask

Tâche de surveillance du bouton d'appairage pour la porte (Door).

Déclenche une réinitialisation de l'appairage si le bouton swRing est maintenu appuyé suffisamment longtemps (appui long).

Renvoie
void
void PairingReset_DoorTask (void)
PairingReset_BellTask

Tâche de surveillance des boutons d'appairage pour la sonnette (Bell).

Déclenche une réinitialisation de l'appairage si les trois boutons (swEnter, swWait, swBusy) sont maintenus appuyés simultanément suffisamment longtemps (appui long).

Renvoie
void
void PairingReset_BellTask (void)
void RF_SendWithSerial (uint8_t *payload)
 Envoie une trame RF avec le numéro de série, en utilisant P0 et P1.
bool Serial_CheckIfFromPaired (uint8_t *msg)
 Vérifie si le message RF reçu provient du périphérique appairé.
uint32_t PairingManagement (void)
 Gère la procédure complète d'appairage côté Door ou Bell.

Documentation du type de l'énumération

◆ BellState

enum BellState
Valeurs énumérées
BELL_IDLE 
BELL_SEND_P0 
BELL_SEND_P1 
BELL_WAIT_ACK 
BELL_DONE 

◆ DoorState

enum DoorState
Valeurs énumérées
DOOR_IDLE 
DOOR_WAIT_P 
DOOR_SEND_A0 
DOOR_SEND_A1 
DOOR_DONE 

Documentation des fonctions

◆ GetActifSerialNbr()

uint32_t GetActifSerialNbr ( void )

◆ LoadPairedSerialAndApply()

void LoadPairedSerialAndApply ( void )

◆ PairingManagement()

uint32_t PairingManagement ( void )

Gère la procédure complète d'appairage côté Door ou Bell.

Cette fonction implémente la machine d'état d'appairage pour les deux rôles (Door/Bell). Elle pilote l'envoi/réception des trames, la sauvegarde du numéro de série appairé, l'affichage du succès, et la sortie de la procédure.

Renvoie
Le numéro de série appairé si l'appairage est terminé, 0 sinon.

◆ PairingReset_BellTask()

void PairingReset_BellTask ( void )

◆ PairingReset_DoorTask()

void PairingReset_DoorTask ( void )

◆ ResetSerialList()

void ResetSerialList ( void )

◆ RF_SendWithSerial()

void RF_SendWithSerial ( uint8_t * payload)

Envoie une trame RF avec le numéro de série, en utilisant P0 et P1.

Paramètres
payloadPointeur vers la charge utile à envoyer.

◆ SavePairedSerialToFlash()

void SavePairedSerialToFlash ( void )

◆ Serial_CheckIfFromPaired()

bool Serial_CheckIfFromPaired ( uint8_t * msg)

Vérifie si le message RF reçu provient du périphérique appairé.

Paramètres
msgPointeur vers le message RF reçu.
Renvoie
true si le message provient du périphérique appairé, false sinon.

◆ Serial_IsPairingRunning()

bool Serial_IsPairingRunning ( void )

◆ ShowPairingSuccess()

void ShowPairingSuccess ( void )