18 #ifndef _AVRIO_BLYSS_H_ 19 #define _AVRIO_BLYSS_H_ 21 #include <avrio/defs.h> 25 #include <avr/interrupt.h> 76 #define BLYSS_BROADCAST 0 84 #define vBlyssPrintFrame(f) vBlyssPrintFrameToFile (f, stdout) 225 #if defined(__DOXYGEN__) 294 #define BLYSS_IDX_FLAG 0 295 #define BLYSS_IDX_GCHAN 8 296 #define BLYSS_IDX_ADDR 12 297 #define BLYSS_IDX_CHAN 28 298 #define BLYSS_IDX_STATE 32 299 #define BLYSS_IDX_ROLL 36 300 #define BLYSS_IDX_TOKEN 44 303 void vBlyssFrameSetBits (
xBlyssFrame * f, uint8_t index, uint8_t len, uint16_t value);
304 uint16_t vBlyssFrameGetBits (
const xBlyssFrame * f, uint8_t index, uint8_t len);
311 vBlyssFrameSetBits (f, BLYSS_IDX_STATE, 4, ! state);
318 return vBlyssFrameGetBits (f, BLYSS_IDX_GCHAN, 4);
325 return vBlyssFrameGetBits (f, BLYSS_IDX_ADDR, 16);
332 return ! vBlyssFrameGetBits (f, BLYSS_IDX_STATE, 4);
struct xBlyss xBlyss
xBlyss
void vBlyssFrameSetChannel(xBlyssFrame *frame, uint8_t channel)
Modification du canal destinataire d'une trame.
void vBlyssPrintFrameToFile(const xBlyssFrame *frame, FILE *out)
Imprime le contenu d'une trame dans un fichier.
void vBlyssFrameInit(xBlyssFrame *frame, const uint8_t *tx_id)
Initialisation d'une trame LiveEz.
bool bBlyssReceive(xBlyssFrame *frame)
Réception d'une trame.
bool bBlyssIsValidChannel(uint8_t channel)
Test si un canal est valide.
uint8_t ucBlyssFrameChannel(const xBlyssFrame *frame)
Canal destinataire de la trame.
static bool bBlyssFrameMatch(const xBlyssFrame *f1, const xBlyssFrame *f2)
Compare deux trames.
bool bBlyssIsValidFrame(const void *buffer)
Test si un buffer contient une trame LiveEz valide.
static void vBlyssFrameCopy(xBlyssFrame *dest, const xBlyssFrame *src)
Copie d'une trame.
static void vBlyssFrameSetState(xBlyssFrame *frame, bool state)
Modification de l'état du destinataire.
static bool bBlyssFrameState(const xBlyssFrame *frame)
Etat du destinataire de la trame.
static uint16_t usBlyssFrameAddress(const xBlyssFrame *frame)
Adresse source d'une trame.
static uint8_t ucBlyssFrameGlobalChannel(const xBlyssFrame *frame)
Canal global d'une trame.
void vBlyssInit(void)
Initialisation du module Blyss.
void vBlyssSend(xBlyssFrame *frame, uint8_t repeat)
Envoi d'une trame.