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 app.c
#include "app.h"
#include <stdio.h>
#include "peripheral/adc/plib_adc.h"
#include "peripheral/reset/plib_reset.h"
#include "sound.h"
#include "RF.h"
#include "led.h"
#include "Pairing.h"
#include "management.h"
Graphe des dépendances par inclusion de app.c:

Fonctions

uint16_t ReadBatVoltage (void)
 Lit la tension mesurée sur l'entrée analogique AN1.
void SetDoor (void)
 Détermine si le CPU est à la porte (Door) ou à la sonnette intérieure (Bell).
void APP_UpdateState (APP_STATES newState)
 Met à jour l'état de l'application.
bool APP_GetIsDoor (void)
 Vérifie si l'entité courante est une porte.
void APP_Initialize (void)
 Initialise l'application.
void APP_Tasks (void)
 Tâche principale de l'application.

Variables

APP_DATA appData
S_SwitchDescriptor swEnter
S_SwitchDescriptor swBusy
S_SwitchDescriptor swRing
S_SwitchDescriptor swWait
uint32_t appPairedSerial = 0
uint32_t mySerial

Documentation des fonctions

◆ APP_GetIsDoor()

bool APP_GetIsDoor ( void )

Vérifie si l'entité courante est une porte.

Renvoie
true si l'entité est une porte, false sinon.

Cette fonction retourne la valeur du champ isDoor de la structure appData.

◆ APP_Initialize()

void APP_Initialize ( void )

Initialise l'application.

Cette fonction configure l'état initial de l'application, initialise les broches matérielles, la logique d'antirebond pour les boutons, ainsi que les périphériques tels que les LEDs, le module sonore et la RF.

Renvoie
void

◆ APP_Tasks()

void APP_Tasks ( void )

Tâche principale de l'application.

Cette fonction gère la machine à états principale de l'application. Elle est appelée de manière répétée dans la boucle principale du programme.

Remarques
Voir le prototype dans app.h.

◆ APP_UpdateState()

void APP_UpdateState ( APP_STATES newState)

Met à jour l'état de l'application.

Paramètres
newStateLe nouvel état à appliquer à l'application.

Cette fonction assigne la valeur de newState à la variable d'état de l'application.

◆ ReadBatVoltage()

uint16_t ReadBatVoltage ( void )

Lit la tension mesurée sur l'entrée analogique AN1.

Cette fonction lit la valeur convertie par l'ADC sur AN1.

  • Si le montage est un bouton à la porte, elle retourne la tension de la pile (diviseur résistif 2/3).
  • Si c'est une sonnerie distante, elle retourne 0 (pull-down).
Renvoie
uint16_t Valeur brute ADC mesurée sur AN1.

◆ SetDoor()

void SetDoor ( void )

Détermine si le CPU est à la porte (Door) ou à la sonnette intérieure (Bell).

Cette fonction met à jour le champ appData.isDoor selon la position du CPU. Si le CPU est à la porte (isDoor), elle lit la tension de la pile, met à jour appData.batVoltage (tension pile en mV) et appData.isLowBat (indication de batterie faible).

Note
Utilise l'ADC pour effectuer les mesures nécessaires.
Désactive l'ADC à la fin pour économiser la batterie.

Documentation des variables

◆ appData

APP_DATA appData

◆ appPairedSerial

uint32_t appPairedSerial = 0

◆ mySerial

uint32_t mySerial
extern

◆ swBusy

◆ swEnter

◆ swRing

◆ swWait