![]() |
SysIo
1.9.0
Embedded Library and tools
|
Ce module permet de gérer la transmission vers des modules domotiques Blyss™ commerciailisés par Castorama (protocole LiveEz™ 433.92 MHz).
La plateforme doit disposer d'un GPIO.
Ce code est basé sur le travail de « reverse engineering » de 7 membres du forum arduino.cc: SkyWodd, Artouste, Al1fch, Barbudor, Bunyman, Trigger et Bidle (https://skyduino.wordpress.com/2012/07/19/hack-partie-2-reverse-engineering-des-interrupteurs-domotique-blyss)
Classes | |
| class | xBlyssFrame |
| Classe permettant de manipuler une liaison LiveEz Classe opaque pour l'utilisateur. More... | |
Functions | |
| bool | bBlyssChannelIsValid (uint8_t channel) |
| Test si un canal est valide. More... | |
| bool | bBlyssFrameIsValid (const void *buffer) |
| Test si un buffer contient une trame LiveEz valide. More... | |
| bool | bBlyssFrameState (const xBlyssFrame *frame) |
| Etat du destinataire de la trame. More... | |
| int | iBlyssDelete (xBlyss *b) |
| Fermeture et destruction d'une liaison LiveEz. More... | |
| int | iBlyssSend (xBlyss *b, xBlyssFrame *frame, uint8_t repeat) |
| Envoi d'une trame. More... | |
| uint8_t | ucBlyssFrameChannel (const xBlyssFrame *frame) |
| Canal destinataire de la trame. More... | |
| uint8_t | ucBlyssFrameGlobalChannel (const xBlyssFrame *frame) |
| Canal global d'une trame. More... | |
| uint16_t | usBlyssFrameAddress (const xBlyssFrame *frame) |
| Adresse source d'une trame. More... | |
| void | vBlyssFramePrintToFile (const xBlyssFrame *frame, FILE *out) |
| Imprime le contenu d'une trame dans un fichier. More... | |
| void | vBlyssFrameSetAddress (xBlyssFrame *frame, uint16_t address) |
| Modification de l'adresse source d'une trame. More... | |
| void | vBlyssFrameSetChannel (xBlyssFrame *frame, uint8_t channel) |
| Modification du canal destinataire d'une trame. More... | |
| void | vBlyssFrameSetGlobalChannel (xBlyssFrame *frame, uint8_t global_channel) |
| Modification du canal global d'une trame. More... | |
| void | vBlyssFrameSetState (xBlyssFrame *frame, bool state) |
| Modification de l'état du destinataire. More... | |
| void | vBlyssFrameSetTxId (xBlyssFrame *frame, const uint8_t *tx_id) |
| Modification de l'identifiant de l'émetteur d'une trame. More... | |
| xBlyssFrame * | xBlyssFrameNew (const uint8_t *tx_id) |
| Création et initialisation d'une trame LiveEz. More... | |
| xBlyss * | xBlyssNew (int iOutPin, int iInPin) |
| Création d'une liaison LiveEz. More... | |
Macros | |
| #define | vBlyssFramePrint(f) vBlyssFramePrintToFile (f, stdout) |
| Affiche le contenu de la trame pointée par f sur stdout. More... | |
Typedefs | |
| typedef struct xBlyss | xBlyss |
| xBlyss | |
| typedef struct xBlyssFrame | xBlyssFrame |
| xBlyssFrame | |
| #define vBlyssFramePrint | ( | f | ) | vBlyssFramePrintToFile (f, stdout) |
#include <blyss.h>
Affiche le contenu de la trame pointée par f sur stdout.
| f | pointeur sur une trame de type xBlyssFrame |
| bool bBlyssChannelIsValid | ( | uint8_t | channel | ) |
#include <blyss.h>
Test si un canal est valide.
| channel | canal à tester |
| bool bBlyssFrameIsValid | ( | const void * | buffer | ) |
#include <blyss.h>
Test si un buffer contient une trame LiveEz valide.
| buffer | pointeur sur une zone contenant les octets |
| bool bBlyssFrameState | ( | const xBlyssFrame * | frame | ) |
#include <blyss.h>
Etat du destinataire de la trame.
| frame | pointeur sur la trame |
| int iBlyssDelete | ( | xBlyss * | b | ) |
#include <blyss.h>
Fermeture et destruction d'une liaison LiveEz.
| b | pointeur sur la liaison |
| int iBlyssSend | ( | xBlyss * | b, |
| xBlyssFrame * | frame, | ||
| uint8_t | repeat | ||
| ) |
#include <blyss.h>
Envoi d'une trame.
| b | pointeur sur la liaison |
| frame | pointeur sur la trame |
| repeat | nombre de répétition d'nevoi |
| uint8_t ucBlyssFrameChannel | ( | const xBlyssFrame * | frame | ) |
#include <blyss.h>
Canal destinataire de la trame.
| frame | pointeur sur la trame |
| uint8_t ucBlyssFrameGlobalChannel | ( | const xBlyssFrame * | frame | ) |
#include <blyss.h>
Canal global d'une trame.
| frame | pointeur sur la trame |
| uint16_t usBlyssFrameAddress | ( | const xBlyssFrame * | frame | ) |
#include <blyss.h>
Adresse source d'une trame.
| frame | pointeur sur la trame |
| void vBlyssFramePrintToFile | ( | const xBlyssFrame * | frame, |
| FILE * | out | ||
| ) |
#include <blyss.h>
Imprime le contenu d'une trame dans un fichier.
Le contenu imprimé pour chaque trame est formaté comme ci-dessous:
| frame | pointeur sur la trame |
| out | pointeur sur le fichier ouvert en écriture |
| void vBlyssFrameSetAddress | ( | xBlyssFrame * | frame, |
| uint16_t | address | ||
| ) |
#include <blyss.h>
Modification de l'adresse source d'une trame.
| frame | pointeur sur la trame |
| address | adresse de l'émetteur de la trame sur 16 bits |
| void vBlyssFrameSetChannel | ( | xBlyssFrame * | frame, |
| uint8_t | channel | ||
| ) |
#include <blyss.h>
Modification du canal destinataire d'une trame.
| frame | pointeur sur la trame |
| channel | canal destinataire codé sur les 4 bits de poids faible uniquement, valeur comprise entre 0 et 8, 0 correspondant à tous les canaux (broadcast), 1 au canal 1, 2 au canal 2 ... |
| void vBlyssFrameSetGlobalChannel | ( | xBlyssFrame * | frame, |
| uint8_t | global_channel | ||
| ) |
#include <blyss.h>
Modification du canal global d'une trame.
| frame | pointeur sur la trame |
| global_channel | canal global (4 bits de poids faible) |
| void vBlyssFrameSetState | ( | xBlyssFrame * | frame, |
| bool | state | ||
| ) |
#include <blyss.h>
Modification de l'état du destinataire.
| frame | pointeur sur la trame |
| state | état du destinataire ON = true |
| void vBlyssFrameSetTxId | ( | xBlyssFrame * | frame, |
| const uint8_t * | tx_id | ||
| ) |
#include <blyss.h>
Modification de l'identifiant de l'émetteur d'une trame.
| frame | pointeur sur la trame |
| tx_id | pointeur sur un tableau de 3 octets contenant dans l'ordre le canal global (4 bits de poids faible), le poids fort de l'adresse et le poids faible de l'adresse identifiant l'emetteur. |
| xBlyssFrame* xBlyssFrameNew | ( | const uint8_t * | tx_id | ) |
#include <blyss.h>
Création et initialisation d'une trame LiveEz.
La trame devra être libérée avec free()
| tx_id | pointeur sur un tableau de 3 octets contenant dans l'ordre le canal global, le poids fort de l'adresse et le poids faible de l'adresse identifiant l'emetteur. |
| xBlyss* xBlyssNew | ( | int | iOutPin, |
| int | iInPin | ||
| ) |
#include <blyss.h>
Création d'une liaison LiveEz.
| iOutPin | Numéro de la broche reliée à l'émetteur, -1 si pas d'émetteur |
| iInPin | Numéro de la broche reliée au récepteur, -1 si pas de récepteur |