![]() |
AvrIO
1.4.5
Bibliothèque C modulaire pour ATMEL AVR
|
La configuration de la partie matérielle est effectuée dans le fichier avrio-board-afsk.h
Ce fichier doit se trouver dans le chemin de recherche des fichiers en-tête (répertoire du projet ou dossier board normalement).
Les fonctions de cette section doivent être implémentées par l'utilisateur en fonction du matériel utilisé soit sous forme de fonction inline, soit sous forme de fonction normales et dans ce cas, le fichier les contenant doit être ajouté à la compilation.
![]() |
Fonctions | |
int8_t | iAfskHwAdcRead (void) |
Lecture ADC. Plus de détails... | |
void | vAfskHwDacWrite (uint16_t usValue) |
Ecriture DAC. Plus de détails... | |
void | vAfskHwDcdOff (void) |
Détection absence porteuse. Plus de détails... | |
void | vAfskHwDcdOn (void) |
Détection de présence porteuse. Plus de détails... | |
void | vAfskHwInit (void) |
Initialisation du driver. Plus de détails... | |
void | vAfskHwTxDisable (void) |
Dévalidation transmetteur. Plus de détails... | |
void | vAfskHwTxEnable (void) |
Validation transmetteur. Plus de détails... | |
Macros | |
#define | AFSK_BAUDRATE 1200L |
Vitesse de modulation en baud. Plus de détails... | |
#define | AFSK_DAC_RESOLUTION 4 |
Nombre de bits du DAC utilisé pour la modulation. Plus de détails... | |
#define | AFSK_MARK_FREQ 1200L |
Fréquence de la tonalité MARK. Plus de détails... | |
#define | AFSK_SAMPLES_PER_BIT 8L |
Nombre d'échantillons de sinusoide par temps de bit. Plus de détails... | |
#define | AFSK_SPACE_FREQ 2200L |
Fréquence de la tonalité SPACE. Plus de détails... | |
#define | AFSK_TXONLY_vect |
Vecteur interruption du timer modulateur. Plus de détails... | |
#define AFSK_BAUDRATE 1200L |
#define AFSK_DAC_RESOLUTION 4 |
#define AFSK_MARK_FREQ 1200L |
#define AFSK_SAMPLES_PER_BIT 8L |
Nombre d'échantillons de sinusoide par temps de bit.
Il définit la finesse de la sinusoide mais aussi la cadence de l'interruption afin de maintenir une valeur moyenne nulle, ce nombre doit être une une puissance de 2 (2, 4,8 ,16...).
Si la réception est validée, cette valeur est fixée à 8 sans possibilité de la modifier.
#define AFSK_SPACE_FREQ 2200L |
#define AFSK_TXONLY_vect |
Vecteur interruption du timer modulateur.
A modifier en fonction de la source d'interruption par le modulateur. Ce vecteur ne sera utilisé que si la réception est dévalidée, dans le cas contraire c'est obligatoirement ADC_vect qui est utilisé par le module.
int8_t iAfskHwAdcRead | ( | void | ) |
Lecture ADC.
Cette fonction est utilisée par le module pour lire le convertisseur analogique-numérique pour la visualisation de la détection de porteuse.
Cette fonction devra être implémentée ou modifiée afin de correspondre au matériel utilisé.
void vAfskHwDacWrite | ( | uint16_t | usValue | ) |
Ecriture DAC.
Cette fonction écrit dans le convertisseur numérique-analogique. Le DAC est utilisé pour générer une sinusoide en sortie du modulateur.
Cette fonction devra être implémentée ou modifiée afin de correspondre au matériel utilisé.
usValue | Valeur à écrire en sortie du convertisseur numérique-analogique. |
void vAfskHwDcdOff | ( | void | ) |
Détection absence porteuse.
Cette fonction est utilisée pour la visualisation de l'absence de porteuse. Elle sera appelée dès que le module ne plus la porteuse. Dans le cas où cette fonction n'est pas utile, elle devra être implémentée sous forme d'une fonction inline vide.
void vAfskHwDcdOn | ( | void | ) |
Détection de présence porteuse.
Cette fonction est utilisée pour la visualisation de la détection de porteuse. Elle sera appelée dès que le module détecte le début d'une transmission à la bonne fréquence. Dans le cas où cette fonction n'est pas utile, elle devra être implémentée sous forme d'une fonction inline vide.
void vAfskHwInit | ( | void | ) |
Initialisation du driver.
Cette fonction initialise le driver et les éléments qu'il utilise.
Cette fonction devra être implémentée ou modifiée afin de correspondre au matériel utilisé.
void vAfskHwTxDisable | ( | void | ) |
Dévalidation transmetteur.
La transmission radio est généralement half-duplex. Cette fonction désactive la partie transmission (PTT). Dans le cas où cette fonction n'est pas utile, elle devra être implémentée sous forme d'une fonction inline vide.
void vAfskHwTxEnable | ( | void | ) |
Validation transmetteur.
La transmission radio est généralement half-duplex. Cette fonction active la partie transmission (PTT). Dans le cas où cette fonction n'est pas utile, elle devra être implémentée sous forme d'une fonction inline vide.