![]() |
AvrIO
1.4.5
Bibliothèque C modulaire pour ATMEL AVR
|
Couche matérielle - OSI1 Physical Layer.
![]() |
Structures de données | |
struct | xWDevConfig |
Structure de stockage de la configuration du module. Plus de détails... | |
struct | xWDevRegister |
Structure de stockage d'un registre du module. Plus de détails... | |
struct | xWDevRegisterTable |
Structure de stockage d'un tableau de registres du module. Plus de détails... | |
Fonctions | |
eWDevDataRate | eWDevGetDataRate (void) |
Renvoie la vitesse de transmission. | |
eWDevStatus | eWDevGetStatus (void) |
Renvoie l'état du module. | |
int | iWDevReceive (uint8_t *ucUserPacket, uint8_t *ucUserValid, int iUserBufferSize, int usTimeout) |
Réception d'un message. Plus de détails... | |
int8_t | iWDevRssi (void) |
Evaluation de la qualité de la transmission La valeur renvoyée, entre 0 et 31 permet d'évaluer le bruit présent sur le canal utilisé pour la transmission. Une valeur inférieure à 10 indique un canal relativement calme, entre 10 et 20 un canal probablement déjà utilisé et une valeur supérieure à 28 indique la présence d'un brouillage. Plus de détails... | |
const uint8_t * | pucWDevGetPnCode (void) |
Lecture du PN Code courant. | |
const uint8_t * | pucWDevMid (void) |
Lecture des 4 octets de l'identifiant de fabrication (REG_MID) | |
uint8_t | ucWDevGetChannel (void) |
Lecture du canal de réception (REG_CHANNEL) | |
uint8_t | ucWDevGetCrystal (void) |
Lecture de la capacité d'ajustement de la fréquence du quartz (REG_CRYSTAL_ADJ) Plus de détails... | |
uint8_t | ucWDevGetPaBias (void) |
Lecture du niveau d'amplification à l'emission (REG_PA) | |
uint8_t | ucWDevGetReg (uint8_t Address) |
Lecture d'un registre octet du module radio. Plus de détails... | |
uint8_t | ucWDevGetSynthLockCount (void) |
Lecture du délai de verrouillage du synthetiseur par pas de 2 us(REG_SYN_LOCK_CNT) | |
uint8_t | ucWDevGetThresholdHigh (void) |
Lecture du seuil de réception du niveau haut (REG_THRESHOLD_H) | |
uint8_t | ucWDevGetThresholdLow (void) |
Lecture du seuil de réception du niveau bas (REG_THRESHOLD_L) | |
uint8_t | ucWDevGetX13Out (void) |
Lecture de l'activation de la broche X13OUT (REG_PA) Plus de détails... | |
uint8_t | ucWDevRevId (void) |
Lecture de l'identifiant de revision (REG_ID) | |
void | vWDevDisable (void) |
Arrête la transmission ou la réception. | |
void | vWDevEnable (uint8_t Tx) |
Passe le module en attente de réception ou de transmission. Plus de détails... | |
void | vWDevInit (eWDevDataRate DataRate) |
Initialise le module radio L'initialisation se fait avec les valeurs par défaut correspondants à la vitesse de transmission DataRate passée en paramètre. Plus de détails... | |
void | vWDevRxCB (uint8_t *Data) |
Gestionnaire de réception radio Renvoie l'information reçue à la couche supérieure. Plus de détails... | |
void | vWDevSaveConfigToEEPROM (void) |
Sauvegarde la configuration courante en EEPROM. Plus de détails... | |
void | vWDevSetChannel (uint8_t Value) |
Modification du canal de réception (REG_CHANNEL) | |
void | vWDevSetCrystal (uint8_t Capacitance) |
Ajustement de la fréquence du quartz (REG_CRYSTAL_ADJ) Permet d'ajuster la capacité parallèle du quartz 13 Mhz afin de le régler précisement la fréquence à 13 MHz. La capacité peut être ajustée par pas de 0.135 pF entre 8.65 et 17.15 pF. Plus de détails... | |
void | vWDevSetDataRate (eWDevDataRate DataRate) |
Réinitialise le module radio avec une nouvelle vitesse de transmission. Plus de détails... | |
void | vWDevSetMid (const uint8_t *Mid) |
Modifie les 4 octets de l'identifiant de fabrication La modificiation se fait en RAM. Elle est perdue lors d'un RESET. Attention, normalement le MID est fourni par le fabricant du module et n'est pas accessible en écriture. La modification du MID risque de provoquer des conflits sur le réseau (si un autre node a le même MID) Plus de détails... | |
void | vWDevSetPaBias (uint8_t Value) |
Modification du niveau d'amplification à l'emission (REG_PA) | |
void | vWDevSetPnCode (const uint8_t *PnCode) |
Modification du PN Code. Plus de détails... | |
void | vWDevSetPnCode_P (const uint8_t *PnCode) |
Modification du PN Code. Plus de détails... | |
void | vWDevSetReg (uint8_t Address, uint8_t Value) |
Ecriture dans un registre octet du module radio. Plus de détails... | |
void | vWDevSetSynthLockCount (uint8_t Value) |
Modification du délai de verrouillage du synthetiseur par pas de 2 us(REG_SYN_LOCK_CNT) | |
void | vWDevSetThresholdHigh (uint8_t Value) |
Modification du seuil de réception du niveau haut (REG_THRESHOLD_H) | |
void | vWDevSetThresholdLow (uint8_t Value) |
Modification du seuil de réception du niveau bas (REG_THRESHOLD_L) | |
void | vWDevSetup (const xWDevRegister *Regs, uint8_t Size) |
Charge les registres du module radio à partir d'un tableau en RAM. Plus de détails... | |
void | vWDevSetup_P (const xWDevRegister *Regs, uint8_t Size) |
Charge les registres du module radio à partir d'un tableau en FLASH. Plus de détails... | |
void | vWDevSetupFromTable_P (const xWDevRegisterTable *SetupTable, uint8_t Index) |
Charge les registres du module radio à partir d'un tableau de configuration en FLASH. Plus de détails... | |
void | vWDevSetX13Out (uint8_t flag) |
Active ou désactive la broche X13OUT du module radio. Plus de détails... | |
void | vWDevSleep (bool Sleep) |
Endort ou réveille le module afin d'économiser de l'énergie Le module est à l'état statique. Les registres du module ne sont pas modifiés. Plus de détails... | |
void | vWDevTransmit (const uint8_t *Data, uint8_t Length) |
Transmission d'un message. Plus de détails... | |
void | vWDevWaitStatus (eWDevStatus eStatus) |
Attends que le module passe à l'état Status . | |
Macros | |
#define | WDEV_MID_SIZEOF 4 |
#define | WDEV_REGTABLE_SIZEOF(r) (sizeof(r)/sizeof(xWDevRegister)) |
Cacul du nombre de registres dans un tableau de registres xWDevRegister . | |
#define | WDEV_RXDATA 1 |
#define | WDEV_RXSTAT 0 |
#define | WDEV_RXVALID 2 |
Définitions de type | |
typedef struct xWDevConfig | xWDevConfig |
Structure de stockage de la configuration du module. | |
typedef struct xWDevRegister | xWDevRegister |
Structure de stockage d'un registre du module. | |
typedef struct xWDevRegisterTable | xWDevRegisterTable |
Structure de stockage d'un tableau de registres du module. | |
Énumérations | |
enum | eWDevDataRate { WDEV_RATE_EEPROM = 0, WDEV_RATE_16KBPS = 1, WDEV_RATE_64KBPS = 2 } |
Différentes vitesse de transmission. | |
enum | eWDevStatus { WDEV_IDLE = 0x00, WDEV_TX = 0x01, WDEV_RX = 0x02, WDEV_BUSY = 0x04, WDEV_TXBUSY = (WDEV_TX | WDEV_BUSY) } |
Différents états du module. Plus de détails... | |
enum eWDevStatus |
Différents états du module.
Valeurs énumérées | |
---|---|
WDEV_IDLE |
Disponible |
WDEV_TX |
Transmission validée |
WDEV_RX |
Réception validée |
WDEV_BUSY |
Occupé |
WDEV_TXBUSY |
Transmission en cours |
Définition à la ligne 62 du fichier device.h.
int iWDevReceive | ( | uint8_t * | ucUserPacket, |
uint8_t * | ucUserValid, | ||
int | iUserBufferSize, | ||
int | usTimeout | ||
) |
Réception d'un message.
ucUserPacket | Buffer pour stocker les octets reçus |
ucUserValid | Buffer pour stocker les octets de validation |
iUserBufferSize | Taille des buffers ucUserPacket et ucUserValid |
usTimeout | Temps d'attente avant sortie. -1 attente infinie |
int8_t iWDevRssi | ( | void | ) |
Evaluation de la qualité de la transmission La valeur renvoyée, entre 0 et 31 permet d'évaluer le bruit présent sur le canal utilisé pour la transmission.
Une valeur inférieure à 10 indique un canal relativement calme, entre 10 et 20 un canal probablement déjà utilisé et une valeur supérieure à 28 indique la présence d'un brouillage.
|
inline |
Lecture de la capacité d'ajustement de la fréquence du quartz (REG_CRYSTAL_ADJ)
|
inline |
Lecture d'un registre octet du module radio.
Address | adresse du registre |
|
inline |
Lecture de l'activation de la broche X13OUT (REG_PA)
void vWDevEnable | ( | uint8_t | Tx | ) |
Passe le module en attente de réception ou de transmission.
rxOrTx | bTX_ENABLE pour valider la transmission, bRX_ENABLE pour la réception |
void vWDevInit | ( | eWDevDataRate | DataRate | ) |
Initialise le module radio L'initialisation se fait avec les valeurs par défaut correspondants à la vitesse de transmission DataRate
passée en paramètre.
DataRate | vitesse de transmission. 0 pour initialiser à partir de la config en EEPROM. |
void vWDevRxCB | ( | uint8_t * | Data | ) |
Gestionnaire de réception radio Renvoie l'information reçue à la couche supérieure.
Data | Le pointeur désigne 3 octets qui sont dans l'ordre le contenu des registres REG_RX_INT_STAT, REG_RX_DATA_A et REG_RX_VALID_A. |
void vWDevSaveConfigToEEPROM | ( | void | ) |
Sauvegarde la configuration courante en EEPROM.
void vWDevSetCrystal | ( | uint8_t | Capacitance | ) |
Ajustement de la fréquence du quartz (REG_CRYSTAL_ADJ) Permet d'ajuster la capacité parallèle du quartz 13 Mhz afin de le régler précisement la fréquence à 13 MHz. La capacité peut être ajustée par pas de 0.135 pF entre 8.65 et 17.15 pF.
Valeur | de la capacité à ajouter entre 0 et 63. 0 correspond à 8.65 pf, 63 à 17.15 pF. |
|
inline |
Réinitialise le module radio avec une nouvelle vitesse de transmission.
DataRate | vitesse de transmission |
|
inline |
Modifie les 4 octets de l'identifiant de fabrication La modificiation se fait en RAM. Elle est perdue lors d'un RESET. Attention, normalement le MID est fourni par le fabricant du module et n'est pas accessible en écriture. La modification du MID risque de provoquer des conflits sur le réseau (si un autre node a le même MID)
Mid | les 4 octets du nouveau MID rangés en little endian |
|
inline |
Modification du PN Code.
PnCode | pointeur sur les 8 octets en RAM du PN Code (octet de poids faible en premier) |
|
inline |
Modification du PN Code.
PnCode | pointeur sur les 8 octets en FLASH du PN Code (octet de poids faible en premier) |
|
inline |
Ecriture dans un registre octet du module radio.
Address | adresse du registre |
Value | valeur du registre |
void vWDevSetup | ( | const xWDevRegister * | Regs, |
uint8_t | Size | ||
) |
Charge les registres du module radio à partir d'un tableau en RAM.
Regs | pointeur sur le tableau des registres |
Size | nombre de registres contenus dans le tableau |
void vWDevSetup_P | ( | const xWDevRegister * | Regs, |
uint8_t | Size | ||
) |
Charge les registres du module radio à partir d'un tableau en FLASH.
Regs | pointeur sur le tableau des registres |
Size | nombre de registres contenus dans le tableau |
void vWDevSetupFromTable_P | ( | const xWDevRegisterTable * | SetupTable, |
uint8_t | Index | ||
) |
Charge les registres du module radio à partir d'un tableau de configuration en FLASH.
SetupTable | pointeur sur le tableau de structures xWDevRegisterTable |
Index | Index 1 correspond au premier élément du tableau |
void vWDevSetX13Out | ( | uint8_t | flag | ) |
Active ou désactive la broche X13OUT du module radio.
flag | bCLOCK_DISABLE pour désactiver, bCLOCK_ENABLE pour activer |
void vWDevSleep | ( | bool | Sleep | ) |
Endort ou réveille le module afin d'économiser de l'énergie Le module est à l'état statique. Les registres du module ne sont pas modifiés.
Sleep | true pour endormir, false pour réveiller |
void vWDevTransmit | ( | const uint8_t * | Data, |
uint8_t | Length | ||
) |
Transmission d'un message.
Data | pointeur sur les octets |
Length | nombre d'octets |