AvrIO  1.4.5
Bibliothèque C modulaire pour ATMEL AVR

Description détaillée

Ce module permet de gérer le bus 1-wire. Il est possible de choisir l'implémentation en ajoutant une des macros suivantes à AVRIO_CONFIG :

Graphe de collaboration de Bus 1-wire:

Modules

 Circuit DS1820
 
 Circuit DS2438
 
 Circuit DS2890
 
 Driver 1wire
 

Structures de données

struct  xOwDevice
 Circuit sur le bus 1wire. Plus de détails...
 

Fonctions

static bool bOwIsPartOfFamily (const xOwDevice *d, uint8_t family)
 Teste si un circuit appartient à une famille. Plus de détails...
 
bool bOwReset (void)
 Génère un reset sur le bus et vérifie la présence de circuits. Plus de détails...
 
int8_t iOwCheckCRC8 (uint8_t *buffer, uint8_t len)
 Calcul et vérification du CRC8 d'une suite d'octets. Plus de détails...
 
int8_t iOwSearchDevices (xOwDevice *devices, uint8_t len)
 Recherche des circuits sur le bus. Plus de détails...
 
uint8_t ucOwComputeCRC8 (uint8_t data, uint8_t seed)
 Calcul du CRC8. Plus de détails...
 
uint8_t ucOwRead (void)
 Lecture d'un octet sur le bus. Plus de détails...
 
void vOwInit (void)
 Initialisation du module 1wire.
 
void vOwMatch (const xOwDevice *device)
 Sélection d'un circuit sur le bus. Plus de détails...
 
void vOwReadRomId (xOwDevice *device)
 Lecture de l'identifiant d'un circuit unique. Plus de détails...
 
void vOwSkip (void)
 Accès sans identification. Plus de détails...
 
void vOwWrite (uint8_t data)
 Ecriture d'un octet sur le bus. Plus de détails...
 

Documentation des fonctions

static bool bOwIsPartOfFamily ( const xOwDevice d,
uint8_t  family 
)
inlinestatic

Teste si un circuit appartient à une famille.

Paramètres
dpointeur sur le circuit
familyoctet identifiant la famille (LSB d'un identifiant 64 bits)
Renvoie
true si vrai
Exemples:
net/onewire/ds2438/demo_ow_ds2438.c.
bool bOwReset ( void  )

Génère un reset sur le bus et vérifie la présence de circuits.

Renvoie
true si des circuits sont présents
int8_t iOwCheckCRC8 ( uint8_t *  buffer,
uint8_t  len 
)

Calcul et vérification du CRC8 d'une suite d'octets.

Paramètres
bufferpointeur sur les données à vérifier, le dernier octet doit contenir le CRC8 reçu
lennombre d'octets pointés par buffer y compris le CRC final
Renvoie
0 succès, -1 erreur
int8_t iOwSearchDevices ( xOwDevice devices,
uint8_t  len 
)

Recherche des circuits sur le bus.

Paramètres
devicespointeur sur un tableau qui contiendra les circuits trouvés
lennombre de circuits pouvant être stockés dans devices
Renvoie
le nombre de circuit trouvés sur le bus, -1 si erreur
Exemples:
net/onewire/ds2438/demo_ow_ds2438.c, et net/onewire/scan/demo_ow_scan.c.
uint8_t ucOwComputeCRC8 ( uint8_t  data,
uint8_t  seed 
)

Calcul du CRC8.

Pour calculer le CRC8 d'une suite d'octets, il suffit d'appeller cette fonction pour chaque octets, seed devra être 0 au premier appel puis la valeur du calcul précédent pour les appels suivants.

Paramètres
dataoctet de donnée
seedvaleur de départ
Renvoie
CRC8 calculé
uint8_t ucOwRead ( void  )

Lecture d'un octet sur le bus.

Le sélection du circuit doit être effectuée préalablement à l'aide de vOwMatch() ou vOwSkip()

Renvoie
l'octet
void vOwMatch ( const xOwDevice device)

Sélection d'un circuit sur le bus.

Paramètres
devicecircuit à sélectionner
void vOwReadRomId ( xOwDevice device)

Lecture de l'identifiant d'un circuit unique.

Cette commande ne peut être utilisée que si un seul circuit est présent sur le bus 1wire.

Paramètres
devicepointeur sur un objet circuit où sera stocké l'identifiant
void vOwSkip ( void  )

Accès sans identification.

Cette commande permet de gagner du temps mais ne peut être utilisée que si un seul circuit est présent sur le bus 1wire

void vOwWrite ( uint8_t  data)

Ecriture d'un octet sur le bus.

Le sélection du circuit doit être effectuée préalablement à l'aide de vOwMatch() ou vOwSkip()

Paramètres
dataoctet