AvrIO  1.4.5
Bibliothèque C modulaire pour ATMEL AVR
Thermostat DS1621

Description détaillée

Ce module permet la commande d'un circuit thermostat DS1621 de MAXIM/DALLAS.

Graphe de collaboration de Thermostat DS1621:

Fonctions

double dDs1621HiResTemp (xTwiDeviceAddr xDeviceAddr)
 Lecture de la dernière température mesurée (haute résolution) Plus de détails...
 
eTwiStatus eDs1621LastError (void)
 Lecture de la dernière erreur. Plus de détails...
 
int16_t iDs1621RawTemp (xTwiDeviceAddr xDeviceAddr)
 Lecture de la dernière température mesurée. Plus de détails...
 
int16_t iDs1621RawTh (xTwiDeviceAddr xDeviceAddr)
 Lire le registre de seuil haut. Plus de détails...
 
int16_t iDs1621RawTl (xTwiDeviceAddr xDeviceAddr)
 Lire le registre de seuil bas. Plus de détails...
 
int16_t iDs1621Temp (xTwiDeviceAddr xDeviceAddr)
 Lecture de la dernière température mesurée. Plus de détails...
 
int16_t iDs1621Th (xTwiDeviceAddr xDeviceAddr)
 Lire le registre de seuil haut. Plus de détails...
 
int16_t iDs1621Tl (xTwiDeviceAddr xDeviceAddr)
 Lire le registre de seuil bas. Plus de détails...
 
uint8_t ucDs1621Counter (xTwiDeviceAddr xDeviceAddr)
 Lire le registre compteur Fonction utile si une grande précision de mesure est nécessaire. cf la page 4 du datasheet du DS1621 (version 090905). Plus de détails...
 
uint8_t ucDs1621Slope (xTwiDeviceAddr xDeviceAddr)
 Lire le registre de pente Fonction utile si une grande précision de mesure est nécessaire. cf la page 4 du datasheet du DS1621 (version 090905). Plus de détails...
 
uint8_t ucDs1621Status (xTwiDeviceAddr xDeviceAddr)
 Lecture du registre d'état et de configuration (AC). Plus de détails...
 
void vDs1621ClrFlags (xTwiDeviceAddr xDeviceAddr, uint8_t ucFlags)
 Remise à zéro des drapeaux THF et/ou TLF. Plus de détails...
 
void vDs1621Init (xTwiDeviceAddr xDeviceAddr, uint8_t ucConfig)
 Initialise le circuit DS1621 et démarre la conversion. Plus de détails...
 
void vDs1621SetTh (xTwiDeviceAddr xDeviceAddr, int16_t iTh)
 Ecrire dans le registre de seuil haut Cette fonction est protégée avec xDs1621MemIsBusy() Plus de détails...
 
void vDs1621SetTl (xTwiDeviceAddr xDeviceAddr, int16_t iTl)
 Ecrire dans le registre de seuil bas Cette fonction est protégée avec xDs1621MemIsBusy() Plus de détails...
 
void vDs1621Start (xTwiDeviceAddr xDeviceAddr)
 Démarrer la conversion En mode 1SHOT, le circuit retourne en mode sommeil à l'issue de la conversion. En mode continu, une nouvelle conversion est relancée dès la fin de la précédente. Plus de détails...
 
void vDs1621Stop (xTwiDeviceAddr xDeviceAddr)
 Arrêter la conversion La conversion en cours se termine avant l'arrêt. Cette fonction n'est donc utilie qu'en mode continu. Plus de détails...
 
bool xDs1621IsDone (xTwiDeviceAddr xDeviceAddr)
 Indique si la conversion est terminée. Plus de détails...
 
bool xDs1621MemIsBusy (xTwiDeviceAddr xDeviceAddr)
 Indique si l'écriture dans les registres TH/TL est possible. Plus de détails...
 

Macros

#define DS1621_BASE   0x90
 
#define DS1621_TEMP_ERROR   -32768
 

Énumérations

enum  eDs1621Cmd {
  DONE = _BV(7), THF = _BV(6), TLF = _BV(5), NVB = _BV(4),
  POL = _BV(1), ONESHOT = _BV(0), TAF = THF | TLF, DS1621_DEFAULT_CONFIG = 0
}
 

Documentation des macros

#define DS1621_BASE   0x90

Adresse I2c de base des circuits DS1621

Définition à la ligne 39 du fichier ds1621.h.

Documentation du type de l'énumération

enum eDs1621Cmd
Valeurs énumérées
DONE 

Indique que la conversion est terminée

THF 

Indique que la température de seuil haute est dépassée

TLF 

Indique que la température de seuil basse est dépassée

NVB 

Indique qu'une opération d'écriture est en cours dans la nvram

POL 

Permet de sélectionner la polarité de la sortie TOUT (1 active état haut)

ONESHOT 

Permet de sélectionner le mode One Shot (1) ou continu (0)

TAF 

Tous les drapeaux

DS1621_DEFAULT_CONFIG 

Configuration par défaut

Définition à la ligne 42 du fichier ds1621.h.

42  {
43  DONE = _BV(7),
44  THF = _BV(6),
45  TLF = _BV(5),
46  NVB = _BV(4),
47  POL = _BV(1),
48  ONESHOT = _BV(0),
50  TAF = THF | TLF,
52 } eDs1621Cmd;
eDs1621Cmd
Definition: ds1621.h:42
Definition: ds1621.h:47
Definition: ds1621.h:50
Definition: ds1621.h:45
Definition: ds1621.h:44
Definition: ds1621.h:43
#define _BV(n)
Renvoie un masque avec le bit de rang n à 1.
Definition: defs.h:76
Definition: ds1621.h:48
Definition: ds1621.h:46

Documentation des fonctions

double dDs1621HiResTemp ( xTwiDeviceAddr  xDeviceAddr)

Lecture de la dernière température mesurée (haute résolution)

Paramètres
xDeviceAddradresse du DS1621 esclave
Renvoie
la température en degrés Celcius ou NAN en cas d'erreur.
eTwiStatus eDs1621LastError ( void  )
inline

Lecture de la dernière erreur.

Renvoie
TWI_SUCCESS si la trame a pu être transmise, le code erreur sinon.
int16_t iDs1621RawTemp ( xTwiDeviceAddr  xDeviceAddr)
inline

Lecture de la dernière température mesurée.

Paramètres
xDeviceAddradresse du DS1621 esclave
Renvoie
la température en LSB (0.5°C) ou DS1621_TEMP_ERROR
int16_t iDs1621RawTh ( xTwiDeviceAddr  xDeviceAddr)
inline

Lire le registre de seuil haut.

Paramètres
xDeviceAddradresse du DS1621 esclave
Renvoie
Température de seuil haut en LSB(0.5°C) ou DS1621_TEMP_ERROR en cas d'erreur
int16_t iDs1621RawTl ( xTwiDeviceAddr  xDeviceAddr)
inline

Lire le registre de seuil bas.

Paramètres
xDeviceAddradresse du DS1621 esclave
Renvoie
Température de seuil bas en LSB (0.5°C) ou DS1621_TEMP_ERROR en cas d'erreur
int16_t iDs1621Temp ( xTwiDeviceAddr  xDeviceAddr)
inline

Lecture de la dernière température mesurée.

Paramètres
xDeviceAddradresse du DS1621 esclave
Renvoie
la température en dixièmes de degrés Celcius ou DS1621_TEMP_ERROR en cas d'erreur. La résolution est de 0.5°C
int16_t iDs1621Th ( xTwiDeviceAddr  xDeviceAddr)
inline

Lire le registre de seuil haut.

Paramètres
xDeviceAddradresse du DS1621 esclave
Renvoie
Température de seuil haut en dixièmes de degrés ou DS1621_TEMP_ERROR en cas d'erreur
int16_t iDs1621Tl ( xTwiDeviceAddr  xDeviceAddr)
inline

Lire le registre de seuil bas.

Paramètres
xDeviceAddradresse du DS1621 esclave
Renvoie
Température de seuil bas en dixièmes de degrés ou DS1621_TEMP_ERROR en cas d'erreur
uint8_t ucDs1621Counter ( xTwiDeviceAddr  xDeviceAddr)
inline

Lire le registre compteur Fonction utile si une grande précision de mesure est nécessaire. cf la page 4 du datasheet du DS1621 (version 090905).

Paramètres
xDeviceAddradresse du DS1621 esclave
Renvoie
Valeur du registre compteur
uint8_t ucDs1621Slope ( xTwiDeviceAddr  xDeviceAddr)
inline

Lire le registre de pente Fonction utile si une grande précision de mesure est nécessaire. cf la page 4 du datasheet du DS1621 (version 090905).

Paramètres
xDeviceAddradresse du DS1621 esclave
Renvoie
Valeur du registre de pente
uint8_t ucDs1621Status ( xTwiDeviceAddr  xDeviceAddr)
inline

Lecture du registre d'état et de configuration (AC).

Paramètres
xDeviceAddradresse du DS1621 esclave
Renvoie
Valeur du registre.
void vDs1621ClrFlags ( xTwiDeviceAddr  xDeviceAddr,
uint8_t  ucFlags 
)

Remise à zéro des drapeaux THF et/ou TLF.

Paramètres
xDeviceAddradresse du DS1621 esclave
ucFlagsmasque des bits à remettre à zéro (THF, TLF)
void vDs1621Init ( xTwiDeviceAddr  xDeviceAddr,
uint8_t  ucConfig 
)

Initialise le circuit DS1621 et démarre la conversion.

Paramètres
xDeviceAddradresse du DS1621 esclave
ucConfigConfiguration du DS1621
Avertissement
Le contrôleur de bus I2C doit être initialisé avant.
Exemples:
idwarf/terminal/sensor/terminal_sensor.c.
void vDs1621SetTh ( xTwiDeviceAddr  xDeviceAddr,
int16_t  iTh 
)

Ecrire dans le registre de seuil haut Cette fonction est protégée avec xDs1621MemIsBusy()

Paramètres
xDeviceAddradresse du DS1621 esclave
iThTempérature de seuil haut en dixièmes de degrés
void vDs1621SetTl ( xTwiDeviceAddr  xDeviceAddr,
int16_t  iTl 
)

Ecrire dans le registre de seuil bas Cette fonction est protégée avec xDs1621MemIsBusy()

Paramètres
xDeviceAddradresse du DS1621 esclave
iTlTempérature de seuil bas en dixièmes de degrés
void vDs1621Start ( xTwiDeviceAddr  xDeviceAddr)
inline

Démarrer la conversion En mode 1SHOT, le circuit retourne en mode sommeil à l'issue de la conversion. En mode continu, une nouvelle conversion est relancée dès la fin de la précédente.

Paramètres
xDeviceAddradresse du DS1621 esclave
Exemples:
idwarf/terminal/sensor/terminal_sensor.c.
void vDs1621Stop ( xTwiDeviceAddr  xDeviceAddr)
inline

Arrêter la conversion La conversion en cours se termine avant l'arrêt. Cette fonction n'est donc utilie qu'en mode continu.

Paramètres
xDeviceAddradresse du DS1621 esclave
bool xDs1621IsDone ( xTwiDeviceAddr  xDeviceAddr)
inline

Indique si la conversion est terminée.

Paramètres
xDeviceAddradresse du DS1621 esclave
Renvoie
true si la conversion est terminée (utile en mode 1SHOT).
bool xDs1621MemIsBusy ( xTwiDeviceAddr  xDeviceAddr)
inline

Indique si l'écriture dans les registres TH/TL est possible.

Paramètres
xDeviceAddradresse du DS1621 esclave
Renvoie
true si la mémoire EEPROM est occupée.