![]() |
AvrIO
1.4.5
Bibliothèque C modulaire pour ATMEL AVR
|
Ce module permet d'utiliser des modules XBee Série 1 et 2
Copyright © 2006-2008 Tymm Twillman tymm@ booy aka.c om
![]() |
Modules | |
Commandes XBee | |
Fonctions | |
bool | bXBeePktAddressIsEqual (const uint8_t *a1, const uint8_t *a2, uint8_t len) |
Vérifie l'égalité de 2 adresses réseau de len octets. | |
eXBeeSeries | eXBeeGetSeries (const xXBee *xbee) |
Retourne la série du module fournie à l'ouverture. Plus de détails... | |
eXBeeDeviceType | eXBeePktDeviceType (xXBeePkt *pkt) |
Type de noeud (Série 2) Plus de détails... | |
eXBeeSourceEvent | eXBeePktSourceEvent (xXBeePkt *pkt) |
Source de l'événement (Série 2) Plus de détails... | |
int | iXBeeClose (xXBee *xbee) |
Fermeture d'un module XBee. Plus de détails... | |
int | iXBeeOpen (xXBee *xbee, const char *pcDevice, xSerialIos *xIos) |
Ouverture d'un module XBee. Plus de détails... | |
int | iXBeePktApply (xXBeePkt *pkt) |
Champs apply du paquet. Plus de détails... | |
int | iXBeePktDataLen (xXBeePkt *pkt) |
Nombre d'octet de données (CRC exclu) Plus de détails... | |
int | iXBeePktDiscovery (xXBeePkt *pkt) |
Status de découverte de paquet (Série 2) Plus de détails... | |
uint8_t * | iXBeePktDst16 (xXBeePkt *pkt) |
Adresse réseau 16-bits destination du paquet (Série 2) Plus de détails... | |
int | iXBeePktFrameId (xXBeePkt *pkt) |
Identifiant de paquet. Plus de détails... | |
int | iXBeePktIsBroadcast (xXBeePkt *pkt) |
Indique si le paquet est un broadcast. Plus de détails... | |
int | iXBeePktManufacturerId (xXBeePkt *pkt) |
Identification du fabricant du module (Série 2) Plus de détails... | |
int | iXBeePktOptions (xXBeePkt *pkt) |
Champs option du paquet. Plus de détails... | |
int | iXBeePktParamGetStr (char *pcDest, xXBeePkt *pkt, int iDestSize) |
Copie les paramètres de commande AT. Plus de détails... | |
int | iXBeePktParamGetUByte (uint8_t *ucDest, xXBeePkt *pkt, int iOffset) |
Copie d'un octet des paramètres de commande AT. Plus de détails... | |
int | iXBeePktParamGetULong (uint32_t *ulDest, xXBeePkt *pkt, int iOffset) |
Copie d'un mot long des paramètres de commande AT. Plus de détails... | |
int | iXBeePktParamGetULongLong (uint64_t *ullDest, xXBeePkt *pkt, int iOffset) |
Copie d'un très long mot des paramètres de commande AT. Plus de détails... | |
int | iXBeePktParamGetUShort (uint16_t *usDest, xXBeePkt *pkt, int iOffset) |
Copie d'un mot des paramètres de commande AT. Plus de détails... | |
int | iXBeePktParamLen (xXBeePkt *pkt) |
Longueur des paramètres de la commande AT. Plus de détails... | |
int | iXBeePktProfileId (xXBeePkt *pkt) |
Identifiant du profile Digi (Série 2) Plus de détails... | |
int | iXBeePktRadius (xXBeePkt *pkt) |
Champs radius du paquet (Série 2) Plus de détails... | |
int | iXBeePktRetry (xXBeePkt *pkt) |
Nombre de tentatives de paquet (Série 2) Plus de détails... | |
int | iXBeePktRssi (xXBeePkt *pkt) |
Champs rssi du paquet (Série 1) Plus de détails... | |
int | iXBeePktStatus (xXBeePkt *pkt) |
Status de paquet. Plus de détails... | |
int | iXBeePoll (xXBee *xbee, int timeout) |
Scrute le flux relié au module en attente de réception d'octet. Plus de détails... | |
int | iXBeeSend16 (xXBee *xbee, const void *data, uint8_t len, const uint8_t addr[2], uint8_t opt) |
Envoi d'un paquet de données à un module distant par son adresse 16-bit. Plus de détails... | |
int | iXBeeSend64 (xXBee *xbee, const void *data, uint8_t len, const uint8_t addr[8], uint8_t opt) |
Envoi d'un paquet de données à un module distant par son adresse 64-bit. Plus de détails... | |
int | iXBeeSendAt (xXBee *xbee, const char cmd[], const uint8_t *params, uint8_t param_len) |
Envoi une commande AT locale. Plus de détails... | |
int | iXBeeSendRemoteAt (xXBee *xbee, const char cmd[], const uint8_t params[], uint8_t param_len, const uint8_t addr64[8], const uint8_t addr16[2], uint8_t apply) |
Envoi une commande AT à un module distant. Plus de détails... | |
int | iXBeeZbSend (xXBee *xbee, const void *data, uint8_t len, const uint8_t addr64[8], const uint8_t addr16[2], uint8_t opt, uint8_t radius) |
Envoi d'un paquet de données à un module distant. Plus de détails... | |
int | iXBeeZbSendBroadcast (xXBee *xbee, const void *data, uint8_t len) |
Envoi d'un paquet de données de diffusion sur le réseau. Plus de détails... | |
int | iXBeeZbSendToCoordinator (xXBee *xbee, const void *data, uint8_t len) |
Envoi d'un paquet de données au coordinateur du réseau. Plus de détails... | |
char * | pcXBeePktCommand (xXBeePkt *pkt) |
Nom de la commande AT. Plus de détails... | |
char * | pcXBeePktNiString (xXBeePkt *pkt) |
Identifiant texte du noeud (Série 2) Plus de détails... | |
const uint8_t * | pucXBeeAddr16Unknown (void) |
Adresse 16-bits inconnue (0xFFFE) Plus de détails... | |
const uint8_t * | pucXBeeAddr64Broadcast (void) |
Adresse 64-bits de broadcast (0x000000000000FFFF) Plus de détails... | |
const uint8_t * | pucXBeeAddr64Coordinator (void) |
Adresse 64-bits du cordinateur Zigbee (0x0000000000000000) Plus de détails... | |
const uint8_t * | pucXBeeAddr64Unknown (void) |
Adresse 64-bits inconnue (0xFFFFFFFFFFFFFFFF) Plus de détails... | |
uint8_t * | pucXBeePktAddrParent16 (xXBeePkt *pkt) |
Adresse réseau 16-bits parent du paquet (Série 2) Plus de détails... | |
uint8_t * | pucXBeePktAddrRemote16 (xXBeePkt *pkt) |
Adresse réseau 16-bits distante du paquet (Série 2) Plus de détails... | |
uint8_t * | pucXBeePktAddrRemote64 (xXBeePkt *pkt) |
Adresse 64-bits distante du paquet (Série 2) Plus de détails... | |
uint8_t * | pucXBeePktAddrSrc16 (xXBeePkt *pkt) |
Adresse réseau 16-bits source du paquet. Plus de détails... | |
uint8_t * | pucXBeePktAddrSrc64 (xXBeePkt *pkt) |
Adresse 64-bits source du paquet. Plus de détails... | |
uint8_t * | pucXBeePktData (xXBeePkt *pkt) |
Pointeur sur les données du paquet. Plus de détails... | |
uint8_t * | pucXBeePktParam (xXBeePkt *pkt) |
Paramètres de la commande AT. Plus de détails... | |
void * | pvXBeeAllocPkt (xXBee *xbee, uint8_t direction, uint8_t len) |
Alloue la mémoire pour un paquet. Plus de détails... | |
void * | pvXBeeGetUserContext (xXBee *xbee) |
Renvoie le pointeur contexte utilisateur. Plus de détails... | |
uint8_t | ucXBeePktType (xXBeePkt *pkt) |
Lecture du type de paquet. Plus de détails... | |
uint16_t | usXBeePktLength (xXBeePkt *pkt) |
Taille du paquet en octets. Plus de détails... | |
void | vXBeeFreePkt (xXBee *xbee, xXBeePkt *pkt) |
Libère un paquet alloué avec pvXBeeAllocPkt() Plus de détails... | |
void | vXBeeSetCB (xXBee *xbee, eXBeeCbType cb_type, iXBeeRxCB cb) |
Modifie un gestionnaire de réception. Plus de détails... | |
void | vXBeeSetUserContext (xXBee *xbee, void *pvContext) |
Modifie le contexte utilisateur. Plus de détails... | |
xXBee * | xXBeeNew (eXBeeSeries eSeries, xDPin *xResetPin) |
Création d'un nouvel objet XBee Si xResetPin est fournie, la broche RESET est affirmée à l'état bas. Plus de détails... | |
Définitions de type | |
typedef int(* | iXBeeRxCB) (xXBee *xbee, xXBeePkt *pkt, uint8_t len) |
Prototype d'un gestionnaire de réception. Plus de détails... | |
typedef struct _xXBee | xXBee |
Contexte d'un module XBee. Plus de détails... | |
typedef struct _xXBeePkt | xXBeePkt |
Paquet XBee générique. Plus de détails... | |
Énumérations | |
enum | eXBeeCbType { XBEE_CB_AT_LOCAL = 0, XBEE_CB_AT_REMOTE = 1, XBEE_CB_DATA = 2, XBEE_CB_IO = 3, XBEE_CB_TX_STATUS = 4, XBEE_CB_MODEM_STATUS = 5, XBEE_CB_SENSOR = 6, XBEE_CB_NODE_IDENT = 7, XBEE_CB_UNKNOWN = -1, XBEE_CB_FIRST = XBEE_CB_AT_LOCAL, XBEE_CB_LAST = XBEE_CB_NODE_IDENT } |
Type de gestionnaire de réception. Plus de détails... | |
enum | eXBeeCmdStatus { XBEE_PKT_STATUS_OK = 0, XBEE_PKT_STATUS_ERROR = 1, XBEE_PKT_STATUS_INVALID_COMMAND = 2, XBEE_PKT_STATUS_INVALID_PARAMETER = 3, XBEE_PKT_STATUS_TX_FAILURE = 4, XBEE_PKT_STATUS_UNKNOWN = -1 } |
Réponses à une commande AT. | |
enum | eXBeeDeviceType { XBEE_DEVICE_COORDINATOR = 0, XBEE_DEVICE_ROUTER = 1, XBEE_DEVICE_END_DEVICE = 2, XBEE_DEVICE_UNKNOWN = -1 } |
Type de noeud. | |
enum | eXBeeDirection { XBEE_RECV = 0x00, XBEE_XMIT = 0x01 } |
Direction d'un échange XBee. Plus de détails... | |
enum | eXBeeModemStatus { XBEE_PKT_MODEM_HARDWARE_RESET = 0, XBEE_PKT_MODEM_WATCHDOG_TIMER_RESET = 1, XBEE_PKT_MODEM_JOINED_NETWORK = 2, XBEE_PKT_MODEM_DISASSOCIATED = 3, XBEE_PKT_MODEM_COORDINATOR_STARTED = 4, XBEE_PKT_MODEM_NETWORK_SECURITY_KEY_WAS_UPDATED = 7, XBEE_PKT_MODEM_VOLTAGE_SUPPLY_LIMIT_EXCEEDED = 0x0D, XBEE_PKT_MODEM_CONFIGURATION_CHANGED = 0x11, XBEE_PKT_MODEM_STACK_ERROR = 0x80 } |
Status Modem. | |
enum | eXBeePktType { XBEE_PKT_TYPE_ATCMD = 0x08, XBEE_PKT_TYPE_QATCMD = 0x09, XBEE_PKT_TYPE_REMOTE_ATCMD = 0x17, XBEE_PKT_TYPE_ATCMD_RESP = 0x88, XBEE_PKT_TYPE_MODEM_STATUS = 0x8a, XBEE_PKT_TYPE_REMOTE_ATCMD_RESP = 0x97, XBEE_PKT_TYPE_TX64 = 0x00, XBEE_PKT_TYPE_TX16 = 0x01, XBEE_PKT_TYPE_RX64 = 0x80, XBEE_PKT_TYPE_RX16 = 0x81, XBEE_PKT_TYPE_RX64_IO = 0x82, XBEE_PKT_TYPE_RX16_IO = 0x83, XBEE_PKT_TYPE_TX_STATUS = 0x89, XBEE_PKT_TYPE_ZB_TX_REQ = 0x10, XBEE_PKT_TYPE_ZB_CMD_FRAME = 0x11, XBEE_PKT_TYPE_ZB_TX_STATUS = 0x8b, XBEE_PKT_TYPE_ZB_RX = 0x90, XBEE_PKT_TYPE_ZB_RX_IO = 0x92, XBEE_PKT_TYPE_ZB_RX_SENSOR = 0x94, XBEE_PKT_TYPE_ZB_NODE_IDENT = 0x95 } |
Types de paquets géré par le module. Plus de détails... | |
enum | eXBeeSeries { XBEE_SERIES_S1 = 1, XBEE_SERIES_S2 = 2, XBEE_SERIES_S2B = 3, XBEE_SERIES_UNKNOWN = -1 } |
Serie du module XBee. | |
enum | eXBeeSourceEvent { XBEE_EVENT_BUTTON = 1, XBEE_EVENT_JOIN = 2, XBEE_EVENT_POWER_ON = 3, XBEE_EVENT_UNKNOWN = -1 } |
Type de noeud. | |
Prototype d'un gestionnaire de réception.
xbee | pointeur sur le contexte du module xbee initialisé |
pkt | pointeur sur le paquet reçu. Après utilisation et avant de sortir, le gestionnaire installé doit libérer la mémoire de ce paquet à l'aide de vXBeeFreePkt |
len | taille en octets de pkt |
typedef struct _xXBee xXBee |
typedef struct _xXBeePkt xXBeePkt |
enum eXBeeCbType |
Type de gestionnaire de réception.
enum eXBeeDirection |
Direction d'un échange XBee.
Valeurs énumérées | |
---|---|
XBEE_RECV |
En réception |
XBEE_XMIT |
En transmission |
Définition à la ligne 162 du fichier xbee.h.
enum eXBeePktType |
eXBeeSeries eXBeeGetSeries | ( | const xXBee * | xbee | ) |
Retourne la série du module fournie à l'ouverture.
xbee | pointeur sur l'objet XBee |
eXBeeDeviceType eXBeePktDeviceType | ( | xXBeePkt * | pkt | ) |
Type de noeud (Série 2)
pkt | pointeur sur le paquet |
eXBeeSourceEvent eXBeePktSourceEvent | ( | xXBeePkt * | pkt | ) |
Source de l'événement (Série 2)
pkt | pointeur sur le paquet |
int iXBeeClose | ( | xXBee * | xbee | ) |
Fermeture d'un module XBee.
La mémoire allouée à l'objet XBee n'est pas libérée.
xbee | pointeur sur l'objet XBee |
int iXBeeOpen | ( | xXBee * | xbee, |
const char * | pcDevice, | ||
xSerialIos * | xIos | ||
) |
Ouverture d'un module XBee.
Cette fonction doit être appellée avant toute utilisation de l'objet XBee Le port série sera ouvert en lecture-écriture en mode non-bloquant. Si xResetPin a été fournie lors de la création, la broche RESET sera relâchée.
xbee | pointeur sur l'objet XBee |
pcDevice | nom du port série utilisé (tty0, tty1 ...) |
xIos | configuration du port série (et du module...), le champ eol est modifié à SERIAL_BINARY |
int iXBeePktApply | ( | xXBeePkt * | pkt | ) |
Champs apply du paquet.
pkt | pointeur sur le paquet |
int iXBeePktDataLen | ( | xXBeePkt * | pkt | ) |
Nombre d'octet de données (CRC exclu)
pkt | pointeur sur le paquet |
int iXBeePktDiscovery | ( | xXBeePkt * | pkt | ) |
Status de découverte de paquet (Série 2)
pkt | pointeur sur le paquet |
uint8_t* iXBeePktDst16 | ( | xXBeePkt * | pkt | ) |
Adresse réseau 16-bits destination du paquet (Série 2)
pkt | pointeur sur le paquet |
int iXBeePktFrameId | ( | xXBeePkt * | pkt | ) |
Identifiant de paquet.
pkt | pointeur sur le paquet |
int iXBeePktIsBroadcast | ( | xXBeePkt * | pkt | ) |
Indique si le paquet est un broadcast.
pkt | pointeur sur le paquet |
int iXBeePktManufacturerId | ( | xXBeePkt * | pkt | ) |
Identification du fabricant du module (Série 2)
pkt | pointeur sur le paquet |
int iXBeePktOptions | ( | xXBeePkt * | pkt | ) |
Champs option du paquet.
pkt | pointeur sur le paquet |
int iXBeePktParamGetStr | ( | char * | pcDest, |
xXBeePkt * | pkt, | ||
int | iDestSize | ||
) |
Copie les paramètres de commande AT.
Le paquet transmis doit un paquet de réponse à une commande AT. Si la taille de pcDest est suffisante, un caractère null est ajouté à la fin.
pcDest | Destination de la copie |
pkt | pointeur sur le paquet |
iDestSize | Taille en caractères de la destination |
int iXBeePktParamGetUByte | ( | uint8_t * | ucDest, |
xXBeePkt * | pkt, | ||
int | iOffset | ||
) |
Copie d'un octet des paramètres de commande AT.
ucDest | octet résultat |
pkt | pointeur sur le paquet |
iOffset | offset de l'octet à lire (par rapport au début des paramètres) |
int iXBeePktParamGetULong | ( | uint32_t * | ulDest, |
xXBeePkt * | pkt, | ||
int | iOffset | ||
) |
Copie d'un mot long des paramètres de commande AT.
ulDest | mot long résultat |
pkt | pointeur sur le paquet |
iOffset | offset du mot à lire (par rapport au début des paramètres) |
int iXBeePktParamGetULongLong | ( | uint64_t * | ullDest, |
xXBeePkt * | pkt, | ||
int | iOffset | ||
) |
Copie d'un très long mot des paramètres de commande AT.
ullDest | très long mot résultat |
pkt | pointeur sur le paquet |
iOffset | offset du mot à lire (par rapport au début des paramètres) |
int iXBeePktParamGetUShort | ( | uint16_t * | usDest, |
xXBeePkt * | pkt, | ||
int | iOffset | ||
) |
Copie d'un mot des paramètres de commande AT.
usDest | mot résultat |
pkt | pointeur sur le paquet |
iOffset | offset du mot à lire (par rapport au début des paramètres) |
int iXBeePktParamLen | ( | xXBeePkt * | pkt | ) |
Longueur des paramètres de la commande AT.
pkt | pointeur sur le paquet |
int iXBeePktProfileId | ( | xXBeePkt * | pkt | ) |
Identifiant du profile Digi (Série 2)
pkt | pointeur sur le paquet |
int iXBeePktRadius | ( | xXBeePkt * | pkt | ) |
Champs radius du paquet (Série 2)
pkt | pointeur sur le paquet |
int iXBeePktRetry | ( | xXBeePkt * | pkt | ) |
Nombre de tentatives de paquet (Série 2)
pkt | pointeur sur le paquet |
int iXBeePktRssi | ( | xXBeePkt * | pkt | ) |
Champs rssi du paquet (Série 1)
pkt | pointeur sur le paquet |
int iXBeePktStatus | ( | xXBeePkt * | pkt | ) |
Status de paquet.
pkt | pointeur sur le paquet |
int iXBeePoll | ( | xXBee * | xbee, |
int | timeout | ||
) |
Scrute le flux relié au module en attente de réception d'octet.
Cette fonction doit être appellée dans la boucle principale aussi souvent que possible.
int iXBeeSend16 | ( | xXBee * | xbee, |
const void * | data, | ||
uint8_t | len, | ||
const uint8_t | addr[2], | ||
uint8_t | opt | ||
) |
Envoi d'un paquet de données à un module distant par son adresse 16-bit.
xbee | pointeur sur le contexte |
data | pointeur sur les données |
len | longueur en octets des données |
addr | adresse 64-bit du destinataire |
opt | voir description du paquet de type 0x10 dans le datasheet |
int iXBeeSend64 | ( | xXBee * | xbee, |
const void * | data, | ||
uint8_t | len, | ||
const uint8_t | addr[8], | ||
uint8_t | opt | ||
) |
Envoi d'un paquet de données à un module distant par son adresse 64-bit.
xbee | pointeur sur le contexte |
data | pointeur sur les données |
len | longueur en octets des données |
addr | adresse 64-bit du destinataire |
opt | voir description du paquet de type 0x10 dans le datasheet |
int iXBeeSendAt | ( | xXBee * | xbee, |
const char | cmd[], | ||
const uint8_t * | params, | ||
uint8_t | param_len | ||
) |
Envoi une commande AT locale.
xbee | pointeur sur le contexte |
cmd | commande en ASCII (2 lettres) |
params | paramètres de la commande (dépend de la commande) |
int iXBeeSendRemoteAt | ( | xXBee * | xbee, |
const char | cmd[], | ||
const uint8_t | params[], | ||
uint8_t | param_len, | ||
const uint8_t | addr64[8], | ||
const uint8_t | addr16[2], | ||
uint8_t | apply | ||
) |
Envoi une commande AT à un module distant.
xbee | pointeur sur le contexte |
cmd | commande en ASCII (2 lettres) |
params | paramètres de la commande (dépend de la commande) |
addr64 | adresse 64-bit du destinataire |
addr16 | adresse 16-bit du destinataire |
apply | booléen qui indique si la commande doit ête appliquée immédiatement par le module distant (0 pas appliquée) |
int iXBeeZbSend | ( | xXBee * | xbee, |
const void * | data, | ||
uint8_t | len, | ||
const uint8_t | addr64[8], | ||
const uint8_t | addr16[2], | ||
uint8_t | opt, | ||
uint8_t | radius | ||
) |
Envoi d'un paquet de données à un module distant.
xbee | pointeur sur le contexte |
data | pointeur sur les données |
len | longueur en octets des données |
addr64 | adresse 64-bit du destinataire |
addr16 | adresse 16-bit du destinataire |
opt | voir description du paquet de type 0x10 dans le datasheet |
radius | voir description du paquet de type 0x10 dans le datasheet |
int iXBeeZbSendBroadcast | ( | xXBee * | xbee, |
const void * | data, | ||
uint8_t | len | ||
) |
Envoi d'un paquet de données de diffusion sur le réseau.
xbee | pointeur sur le contexte |
data | pointeur sur les données |
len | longueur en octets des données |
int iXBeeZbSendToCoordinator | ( | xXBee * | xbee, |
const void * | data, | ||
uint8_t | len | ||
) |
Envoi d'un paquet de données au coordinateur du réseau.
xbee | pointeur sur le contexte |
data | pointeur sur les données |
len | longueur en octets des données |
char* pcXBeePktCommand | ( | xXBeePkt * | pkt | ) |
Nom de la commande AT.
Le nom a une longueur de 2 caractères et n'est pas terminé par un octet nul. Il est donc nécessire d'utiliser strncmp() pour faire une comparaison !
pkt | pointeur sur le paquet |
char* pcXBeePktNiString | ( | xXBeePkt * | pkt | ) |
Identifiant texte du noeud (Série 2)
pkt | pointeur sur le paquet |
const uint8_t* pucXBeeAddr16Unknown | ( | void | ) |
Adresse 16-bits inconnue (0xFFFE)
Cette fonction simplifie l'utilisation de cette valeur pour l'appel des fonctions de transmission ou de comparaison de la bibliothèque.
const uint8_t* pucXBeeAddr64Broadcast | ( | void | ) |
Adresse 64-bits de broadcast (0x000000000000FFFF)
Cette fonction simplifie l'utilisation de cette valeur pour l'appel des fonctions de transmission ou de comparaison de la bibliothèque.
const uint8_t* pucXBeeAddr64Coordinator | ( | void | ) |
Adresse 64-bits du cordinateur Zigbee (0x0000000000000000)
Cette fonction simplifie l'utilisation de cette valeur pour l'appel des fonctions de transmission ou de comparaison de la bibliothèque.
const uint8_t* pucXBeeAddr64Unknown | ( | void | ) |
Adresse 64-bits inconnue (0xFFFFFFFFFFFFFFFF)
Cette fonction simplifie l'utilisation de cette valeur pour l'appel des fonctions de transmission ou de comparaison de la bibliothèque.
uint8_t* pucXBeePktAddrParent16 | ( | xXBeePkt * | pkt | ) |
Adresse réseau 16-bits parent du paquet (Série 2)
pkt | pointeur sur le paquet |
uint8_t* pucXBeePktAddrRemote16 | ( | xXBeePkt * | pkt | ) |
Adresse réseau 16-bits distante du paquet (Série 2)
pkt | pointeur sur le paquet |
uint8_t* pucXBeePktAddrRemote64 | ( | xXBeePkt * | pkt | ) |
Adresse 64-bits distante du paquet (Série 2)
pkt | pointeur sur le paquet |
uint8_t* pucXBeePktAddrSrc16 | ( | xXBeePkt * | pkt | ) |
Adresse réseau 16-bits source du paquet.
pkt | pointeur sur le paquet |
uint8_t* pucXBeePktAddrSrc64 | ( | xXBeePkt * | pkt | ) |
Adresse 64-bits source du paquet.
pkt | pointeur sur le paquet |
uint8_t* pucXBeePktData | ( | xXBeePkt * | pkt | ) |
Pointeur sur les données du paquet.
La suite d'octets n'est pas terminée par un octet nul (mais par le CRC du paquet qui pourra être écrasé par un octet nul)
pkt | pointeur sur le paquet |
uint8_t* pucXBeePktParam | ( | xXBeePkt * | pkt | ) |
Paramètres de la commande AT.
pkt | pointeur sur le paquet |
void* pvXBeeAllocPkt | ( | xXBee * | xbee, |
uint8_t | direction, | ||
uint8_t | len | ||
) |
Alloue la mémoire pour un paquet.
Cette fonction est utilisée par la bibliothèque pour allouer de la mémoire.
Le système d'allocation mémoire peut être adapté en fonction des besoins.
Par défaut, AvrIO utilise malloc() pour l'allocation et ne tiens pas compte de direction. Si l'utilisateur ne souhaite pas utiliser ce mécanisme, il devra réimplémenter cette fonction ainsi que vXBeeFreePkt().
Il pourra alors utiliser le paramètre direction pour différencier le mécansime d'allocation.
xbee | pointeur sur le contexte |
direction | permet de diférencier le mécanisme d'allocation conforme à eXBeeDirection (inutilisé par défaut) |
len | taille en octet du buffer demandé |
void* pvXBeeGetUserContext | ( | xXBee * | xbee | ) |
Renvoie le pointeur contexte utilisateur.
Le contexte xbee dispose d'un pointeur void * permettant à l'utilisateur d'y attacher des donnnées spécifiques.
xbee | pointeur sur l'objet XBee |
uint8_t ucXBeePktType | ( | xXBeePkt * | pkt | ) |
Lecture du type de paquet.
Conforme à eXBeePktType
uint16_t usXBeePktLength | ( | xXBeePkt * | pkt | ) |
Taille du paquet en octets.
Cette valeur correspond au champs length de la trame, cette taille est donc comprise entre les champs length et crc exclus.
Libère un paquet alloué avec pvXBeeAllocPkt()
Par défaut, AvrIO utilise free(). Si l'utilisateur ne souhaite pas utiliser ce mécanisme, il devra réimplémenter cette fonction ainsi que pvXBeeAllocPkt().
void vXBeeSetCB | ( | xXBee * | xbee, |
eXBeeCbType | cb_type, | ||
iXBeeRxCB | cb | ||
) |
Modifie un gestionnaire de réception.
Cette bibliothèque gère la réception de tous les types de paquets énumérés par eXBeePktType. Cette fonction permet à l'utilisateur d'installer ces propres fonctions gérant chaque événement.
Si un paquet est reçu et qu'il n'y a pas de gestionnaire correspondant à son type, il est tout simplement détruit.
void vXBeeSetUserContext | ( | xXBee * | xbee, |
void * | pvContext | ||
) |
Modifie le contexte utilisateur.
Le contexte xbee dispose d'un pointeur void * permettant à l'utilisateur d'y attacher des donnnées spécifiques.
xbee | pointeur sur l'objet XBee |
pvContext | contexte de l'utilisateur |
xXBee* xXBeeNew | ( | eXBeeSeries | eSeries, |
xDPin * | xResetPin | ||
) |
Création d'un nouvel objet XBee Si xResetPin est fournie, la broche RESET est affirmée à l'état bas.
eSeries | série du module utilisé |
xResetPin | broche de RESET du module XBee, NULL si non connectée |