SysIo  1.9.0
Embedded Library and tools
blyss.h
1 
8 #ifndef _SYSIO_BLYSS_H_
9 #define _SYSIO_BLYSS_H_
10 
11 #include <sysio/defs.h>
12 #ifdef __cplusplus
13  extern "C" {
14 #endif
15 /* ========================================================================== */
16 #include <stdio.h>
17 
72 /* macros =================================================================== */
78 #define vBlyssFramePrint(f) vBlyssFramePrintToFile (f, stdout)
79 
80 /* constants ================================================================ */
81 
82 /* structures =============================================================== */
88 struct xBlyss;
89 
107 struct xBlyssFrame {
108 
109  uint8_t raw[7];
110 };
111 
112 
113 /* types ==================================================================== */
117 typedef struct xBlyss xBlyss;
118 
122 typedef struct xBlyssFrame xBlyssFrame;
123 
124 /* internal public functions ================================================ */
132 xBlyss * xBlyssNew (int iOutPin, int iInPin);
133 
140 int iBlyssDelete (xBlyss * b);
141 
150 int iBlyssSend (xBlyss * b, xBlyssFrame * frame, uint8_t repeat);
151 
161 xBlyssFrame * xBlyssFrameNew (const uint8_t * tx_id);
162 
180 void vBlyssFramePrintToFile (const xBlyssFrame * frame, FILE * out);
181 
190 void vBlyssFrameSetTxId (xBlyssFrame * frame, const uint8_t * tx_id);
191 
200 void vBlyssFrameSetChannel (xBlyssFrame * frame, uint8_t channel);
201 
208 void vBlyssFrameSetState (xBlyssFrame * frame, bool state);
209 
218 uint8_t ucBlyssFrameChannel (const xBlyssFrame * frame);
219 
226 bool bBlyssFrameState (const xBlyssFrame * frame);
227 
234 void vBlyssFrameSetGlobalChannel (xBlyssFrame * frame, uint8_t global_channel);
235 
242 void vBlyssFrameSetAddress (xBlyssFrame * frame, uint16_t address);
243 
250 uint8_t ucBlyssFrameGlobalChannel (const xBlyssFrame * frame);
251 
258 uint16_t usBlyssFrameAddress (const xBlyssFrame * frame);
259 
266 bool bBlyssFrameIsValid (const void * buffer);
267 
274 bool bBlyssChannelIsValid (uint8_t channel);
275 
280 /* ========================================================================== */
281 #ifdef __cplusplus
282  }
283 #endif
284 #endif /*_SYSIO_BLYSS_H_ defined */
struct xBlyss xBlyss
xBlyss
Definition: blyss.h:117
void vBlyssFrameSetChannel(xBlyssFrame *frame, uint8_t channel)
Modification du canal destinataire d&#39;une trame.
xBlyss * xBlyssNew(int iOutPin, int iInPin)
Création d&#39;une liaison LiveEz.
int iBlyssSend(xBlyss *b, xBlyssFrame *frame, uint8_t repeat)
Envoi d&#39;une trame.
uint16_t usBlyssFrameAddress(const xBlyssFrame *frame)
Adresse source d&#39;une trame.
int iBlyssDelete(xBlyss *b)
Fermeture et destruction d&#39;une liaison LiveEz.
bool bBlyssFrameIsValid(const void *buffer)
Test si un buffer contient une trame LiveEz valide.
uint8_t ucBlyssFrameChannel(const xBlyssFrame *frame)
Canal destinataire de la trame.
void vBlyssFrameSetGlobalChannel(xBlyssFrame *frame, uint8_t global_channel)
Modification du canal global d&#39;une trame.
Classe permettant de manipuler une liaison LiveEz Classe opaque pour l&#39;utilisateur.
Definition: blyss.h:107
void vBlyssFrameSetTxId(xBlyssFrame *frame, const uint8_t *tx_id)
Modification de l&#39;identifiant de l&#39;émetteur d&#39;une trame.
uint8_t ucBlyssFrameGlobalChannel(const xBlyssFrame *frame)
Canal global d&#39;une trame.
bool bBlyssFrameState(const xBlyssFrame *frame)
Etat du destinataire de la trame.
void vBlyssFrameSetState(xBlyssFrame *frame, bool state)
Modification de l&#39;état du destinataire.
xBlyssFrame * xBlyssFrameNew(const uint8_t *tx_id)
Création et initialisation d&#39;une trame LiveEz.
void vBlyssFrameSetAddress(xBlyssFrame *frame, uint16_t address)
Modification de l&#39;adresse source d&#39;une trame.
bool bBlyssChannelIsValid(uint8_t channel)
Test si un canal est valide.
void vBlyssFramePrintToFile(const xBlyssFrame *frame, FILE *out)
Imprime le contenu d&#39;une trame dans un fichier.