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 :
OW_DRIVER_POLLED_PIO
implémentation en scrutation utilisant une simple broche de port. La broche utilisée sera définie dans les fonctions vOwBusPullLow()
, vOwBusRelease()
et bOwBusRead()
dans le fichier avrio-board-ow.h. Aucun ajout de composant n'est nécessaire.
OW_DRIVER_POLLED_UART
implémentation en scrutation utilisant l'UART. Dans ce cas, un montage d'adaptation est nécessaire afin que la broche TXD puisse gérer la liaison DQ en collecteur ouvert (une simple diode suffit)
static bool bOwIsPartOfFamily |
( |
const xOwDevice * |
d, |
|
|
uint8_t |
family |
|
) |
| |
|
inlinestatic |
Teste si un circuit appartient à une famille.
- Paramètres
-
d | pointeur sur le circuit |
family | octet identifiant la famille (LSB d'un identifiant 64 bits) |
- Renvoie
- true si vrai
- Exemples:
- net/onewire/ds2438/demo_ow_ds2438.c.
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
-
buffer | pointeur sur les données à vérifier, le dernier octet doit contenir le CRC8 reçu |
len | nombre 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 |
|
) |
| |
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
-
data | octet de donnée |
seed | valeur 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
Sélection d'un circuit sur le bus.
- Paramètres
-
device | circuit à sélectionner |
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
-
device | pointeur sur un objet circuit où sera stocké l'identifiant |
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
-