![]() |
AvrIO
1.4.5
Bibliothèque C modulaire pour ATMEL AVR
|
Implémente l'interface logicielle (API) permettant de gérer un capteur WirelessUSB. Cette interface se résume essentiellement à 4 fonctions de gestion que l'utilisateur doit implémenté lui-même :
Une fois l'initialisation effectuée à l'aide de rfInit(), l'utilisateur doit enregistrer ses fonctions de gestion à l'aide des fonctions d'enregistrement ci-dessous puis appeler le plus régulièrement possible rfProcessAll() dans la boucle infinie du programme principal.
![]() |
typedef void(* | CBUSERCONFIGFORSLEEP) (U16 *) |
Type de fonction de gestion de mise en sommeil. Plus de détails... | |
typedef void(* | CBUSEREXITFROMSLEEP) (void) |
Type de fonction de gestion de réveil. Plus de détails... | |
typedef void(* | CBUSERBACKCHANNELPROCESS) (U8, U8 *, U8) |
Type de fonction de gestion de réception. Plus de détails... | |
typedef U8(* | CBUSERTXPROCESS) (volatile U8 *) |
Type de fonction de gestion de transmission. Plus de détails... | |
void | cbConfigForSleep (U16 *sampleInterval) |
Exemple de fonction utilisateur de gestion du passage en sommeil. Plus de détails... | |
void | cbExitFromSleep (void) |
Exemple de fonction utilisateur de gestion du reveil. Plus de détails... | |
void | cbBackchannelProcess (U8 userdata, U8 *buf, U8 length) |
Exemple de fonction utilisateur de gestion des données reçues du hub. Plus de détails... | |
U8 | cbTxProcess (volatile U8 *pTxData) |
Exemple de fonction utilisateur de transmission de données. Plus de détails... | |
void | rfRegisterCBUserConfigForSleep (CBUSERCONFIGFORSLEEP cbcfs) |
Enregistre la fonction de gestion de mise en sommeil. Plus de détails... | |
void | rfRegisterCBUserExitFromSleep (CBUSEREXITFROMSLEEP cbefs) |
Enregistre la fonction de gestion de reveil. Plus de détails... | |
void | rfRegisterCBUserBackchannelProcess (CBUSERBACKCHANNELPROCESS cbbcp) |
Enregistre la fonction de gestion de réception. Plus de détails... | |
void | rfRegisterCBUserTxProcess (CBUSERTXPROCESS cbtxp) |
Enregistre la fonction de gestion de transmission. Plus de détails... | |
void | rfPowerDown (void) |
Endors le circuit CYPRESS WirelessUSB. Plus de détails... | |
Type de fonction de gestion de réception.
Permet de simplifier la déclaration de la fonction d'enregistrement.
Définition à la ligne 153 du fichier idwarf/sensor.h.
typedef void(* CBUSERCONFIGFORSLEEP) (U16 *) |
Type de fonction de gestion de mise en sommeil.
Permet de simplifier la déclaration de la fonction d'enregistrement.
Définition à la ligne 137 du fichier idwarf/sensor.h.
typedef void(* CBUSEREXITFROMSLEEP) (void) |
Type de fonction de gestion de réveil.
Permet de simplifier la déclaration de la fonction d'enregistrement.
Définition à la ligne 145 du fichier idwarf/sensor.h.
Type de fonction de gestion de transmission.
Permet de simplifier la déclaration de la fonction d'enregistrement.
Définition à la ligne 161 du fichier idwarf/sensor.h.
Exemple de fonction utilisateur de gestion des données reçues du hub.
Appelée lorsque des données provenant du hub ont été reçues dans le canal de retour. Ces données servent par exemple à modifier un signal E/S dans le capteur ou à engendrer une tension analogique par PWM.
L'exemple "terminal" allume la LED quand des données sont reçues. Cette fonction doit être enregistrée avec rfRegisterCBUserBackchannelProcess().
userdata | Une valeur entre 0 et 31 envoyée par le hub |
buf | Pointeur sur le buffer où sont les données reçues du hub |
length | Nombre d'octets stockés dans le buffer |
void cbConfigForSleep | ( | U16 * | sampleInterval | ) |
Exemple de fonction utilisateur de gestion du passage en sommeil.
Appelée juste avant que le capteur passe en mode PowerDown. Cette fonction permet par exemple de désactiver des capteurs locaux pour réduire la consommation durant la période PowerDown.
Cette fonction doit être enregistrée avec rfRegisterCBUserConfigForSleep().
sampleInterval | Pointeur sur le nombre de tranches de temps de 125 ms de sommeil que le firmware va effectuer. Cette valeur peut être modifiée pour réduire ou augmenter le temps de sommeil. Il est possible de désactiver le sommeil en mettant sampleInterval à zéro. |
void cbExitFromSleep | ( | void | ) |
Exemple de fonction utilisateur de gestion du reveil.
Appelée après le retour du capteur du mode PowerDown. Cette fonction permet par exemple de réactiver des capteurs locaux.
Cette fonction doit être enregistrée avec rfRegisterCBUserExitFromSleep()
Exemple de fonction utilisateur de transmission de données.
Assemble les données à envoyer au hub. Cette fonction permet par exemple de lire les valeurs de capteurs et de les placer dans le tampon global d'émission. Les données sont alors envoyées automatiquement au hub dans le paquet actuel.
Le nombre maximal d'octets pouvant être transmis est défini par IDWARF_PAYLOAD_SIZE.
Cette fonction doit être enregistrée avec rfRegisterCBUserTxProcess().
pTxData | Pointeur sur le buffer où stocker les données à transmettre au hub |
void rfPowerDown | ( | void | ) |
Endors le circuit CYPRESS WirelessUSB.
Cette fonction de la bibliothèque devrait être utilisé conjointement avec avrSleep() et seulement à l'intérieur de la fonction de mise en sommeil de l'utilisateur ( cbConfigForSleep() ).
Elle passe la puce RF en powerdown. Elle peut être utilisé pour économiser l'énergie, mais seulement si l'utilisateur souhaite gérer lui même la mise en sommeil et mets donc sampleInterval à 0 dans cbConfigForSleep().
Si vous utilisez le firmware du sommeil et pas avrSleep() cette fonction n'est pas nécessaire.
void rfRegisterCBUserBackchannelProcess | ( | CBUSERBACKCHANNELPROCESS | cbbcp | ) |
Enregistre la fonction de gestion de réception.
cbbcp | Nom de la fonction implémentée par l'utilisateur |
void rfRegisterCBUserConfigForSleep | ( | CBUSERCONFIGFORSLEEP | cbcfs | ) |
Enregistre la fonction de gestion de mise en sommeil.
cbcfs | Nom de la fonction implémentée par l'utilisateur |
void rfRegisterCBUserExitFromSleep | ( | CBUSEREXITFROMSLEEP | cbefs | ) |
Enregistre la fonction de gestion de reveil.
cbefs | Nom de la fonction implémentée par l'utilisateur |
void rfRegisterCBUserTxProcess | ( | CBUSERTXPROCESS | cbtxp | ) |
Enregistre la fonction de gestion de transmission.
cbtxp | Nom de la fonction implémentée par l'utilisateur |