AvrIO  1.4.5
Bibliothèque C modulaire pour ATMEL AVR
net/blyss/rx/demo_blyss_rx.c

Demo réception Blyss (module blyss) Ce programme allume et éteint une led à distance par liaison Blyss T0.

#include <avrio/led.h>
#include <avrio/delay.h>
#include <avrio/blyss.h>
/* constants ================================================================ */
// Canal Blyss (bouton télécommande)
#define MYCHAN 4
/* main ===================================================================== */
int
main (void) {
// Trame reçue et trame précédente
xBlyssFrame f, fprev;
// Init. des trames
vBlyssFrameInit (&f, NULL);
vBlyssFrameInit (&fprev, NULL);
// Init. du module Blyss
sei(); // le module Blyss utilise les interruptions
for (;;) {
if (bBlyssReceive (&f)) {
// Une trame a été reçue
if (!bBlyssFrameMatch (&f, &fprev)) { // c'est une nouvelle trame...
uint8_t c = ucBlyssFrameChannel (&f);
if ( (c == MYCHAN) || (c == BLYSS_BROADCAST)) {
// la trame correspond à notre canal (ou à l'appel général)
if (bBlyssFrameState (&f)) {
}
else {
}
}
// On copie la trame dans la précédente
vBlyssFrameCopy (&fprev, &f);
}
}
}
return 0;
}
/* ========================================================================== */