AvrIO  1.4.5
Bibliothèque C modulaire pour ATMEL AVR
Circuit DS2438

Description détaillée

Ce module permet de gérer des circuits de surveillance batterie sur bus 1-wire.

Graphe de collaboration de Circuit DS2438:

Structures de données

struct  xDs2438CapacityMes
 Capacités cumulées en unitées SI. Plus de détails...
 
struct  xDs2438CapacityRaw
 Capacités cumulées brutes. Plus de détails...
 
struct  xDs2438DataMes
 Données instantanées en unitées SI. Plus de détails...
 
struct  xDs2438DataRaw
 Données instantanées brutes. Plus de détails...
 

Fonctions

int iDs2438CapacityGetRaw (xOwDevice *device, xDs2438CapacityRaw *raw)
 Lecture des capacitées brutes. Plus de détails...
 
int iDs2438Configure (xOwDevice *device, uint8_t config)
 Configure un DS2438. Plus de détails...
 
int iDs2438CopyPage (xOwDevice *device, uint8_t page_n)
 Copie une page du scratchpad en EEPROM/SRAM. Plus de détails...
 
int iDs2438DataGetRaw (xOwDevice *device, xDs2438DataRaw *raw)
 Lecture des données instantanées brutes de la dernière mesure. Plus de détails...
 
int iDs2438ReadPage (xOwDevice *device, uint8_t page_n, uint8_t *buffer)
 Lecture d'une page du Scratchpad. Plus de détails...
 
int iDs2438RecallPage (xOwDevice *device, uint8_t page_n)
 Rappel d'une page de EEPROM/SRAM dans le scratchpad. Plus de détails...
 
int iDs2438StartConvert (xOwDevice *device, eDs2438Convertion conv)
 Démarre une ou plusieurs mesure. Plus de détails...
 
int iDs2438WritePage (xOwDevice *device, uint8_t page_n, const uint8_t *buffer, uint8_t len)
 Ecriture d'une page dans le Scratchpad. Plus de détails...
 
void vDs2438CapacityRawToMes (xDs2438CapacityMes *mes, double rsens, const xDs2438CapacityRaw *raw)
 Convertit les capacités brutes en valeurs réelles. Plus de détails...
 
void vDs2438DataRawToMes (xDs2438DataMes *mes, double rsens, const xDs2438DataRaw *raw)
 Convertit les valeurs instantanées brutes en valeurs réelles. Plus de détails...
 

Macros

#define DS2438_AD   _BV(3)
 
#define DS2438_ADB   _BV(6)
 
#define DS2438_CA   _BV(1)
 
#define DS2438_DEFAULT_CONFIG   (DS2438_IAD|DS2438_CA|DS2438_EE|DS2438_AD)
 
#define DS2438_EE   _BV(2)
 
#define DS2438_FAMILY_ID   0x26
 
#define DS2438_IAD   _BV(0)
 
#define DS2438_NVB   _BV(5)
 
#define DS2438_TB   _BV(4)
 

Définitions de type

typedef struct xDs2438CapacityMes xDs2438CapacityMes
 Capacités cumulées en unitées SI.
 
typedef struct xDs2438CapacityRaw xDs2438CapacityRaw
 Capacités cumulées brutes.
 
typedef struct xDs2438DataMes xDs2438DataMes
 Données instantanées en unitées SI.
 
typedef struct xDs2438DataRaw xDs2438DataRaw
 Données instantanées brutes.
 

Énumérations

enum  eDs2438Convertion { eDs2438ConvVolt = 1, eDs2438ConvTemp = 2, eDs2438ConvAll = eDs2438ConvVolt | eDs2438ConvTemp }
 

Documentation des macros

#define DS2438_AD   _BV(3)

Choix entrée mesure tension (0: VAD, 1: VDD)

Définition à la ligne 65 du fichier ow-ds2438.h.

#define DS2438_ADB   _BV(6)

Flag mesure tension en cours

Définition à la ligne 68 du fichier ow-ds2438.h.

#define DS2438_CA   _BV(1)

Validation mesure capacité charge/décharge

Définition à la ligne 63 du fichier ow-ds2438.h.

#define DS2438_DEFAULT_CONFIG   (DS2438_IAD|DS2438_CA|DS2438_EE|DS2438_AD)

configuration par défaut

Exemples:
net/onewire/ds2438/demo_ow_ds2438.c.

Définition à la ligne 70 du fichier ow-ds2438.h.

#define DS2438_EE   _BV(2)

Validation copie CCA/DCA en EEPROM

Définition à la ligne 64 du fichier ow-ds2438.h.

#define DS2438_FAMILY_ID   0x26

identifiant de la famille

Exemples:
net/onewire/ds2438/demo_ow_ds2438.c.

Définition à la ligne 60 du fichier ow-ds2438.h.

#define DS2438_IAD   _BV(0)

Validation mesure courant et capacité batterie

Définition à la ligne 62 du fichier ow-ds2438.h.

#define DS2438_NVB   _BV(5)

Flag mémoire non volatile occupée

Définition à la ligne 67 du fichier ow-ds2438.h.

#define DS2438_TB   _BV(4)

Flag mesure température en cours

Définition à la ligne 66 du fichier ow-ds2438.h.

Documentation du type de l'énumération

Valeurs énumérées
eDs2438ConvVolt 

Démarrage convertion de la tension

eDs2438ConvTemp 

Démarrage convertion de la température

eDs2438ConvAll 

Démarrage des toutes les convertions

Définition à la ligne 75 du fichier ow-ds2438.h.

Documentation des fonctions

int iDs2438CapacityGetRaw ( xOwDevice device,
xDs2438CapacityRaw raw 
)

Lecture des capacitées brutes.

Il faut que les bits IAD et CA soient validés à la configuration.

Paramètres
devicepointeur sur le circuit
rawpointeur sur un objet xDs2438CapacityRaw où seront stockées les valeurs
Renvoie
0, -1 si serreur
Exemples:
net/onewire/ds2438/demo_ow_ds2438.c.
int iDs2438Configure ( xOwDevice device,
uint8_t  config 
)

Configure un DS2438.

Paramètres
devicepointeur sur le circuit
configregistre de configuration
Renvoie
0 succès, -1 erreur
Exemples:
net/onewire/ds2438/demo_ow_ds2438.c.
int iDs2438CopyPage ( xOwDevice device,
uint8_t  page_n 
)

Copie une page du scratchpad en EEPROM/SRAM.

Paramètres
devicepointeur sur le circuit
page_nnuméro de la page
Renvoie
0, -1 si serreur
int iDs2438DataGetRaw ( xOwDevice device,
xDs2438DataRaw raw 
)

Lecture des données instantanées brutes de la dernière mesure.

Si la conversion est en cours, cette fonction attend que les mesures soient disponibles.

Paramètres
devicepointeur sur le circuit
rawpointeur sur un objet xDs2438DataRaw où seront stockées les valeurs
Renvoie
0, -1 si serreur
Exemples:
net/onewire/ds2438/demo_ow_ds2438.c.
int iDs2438ReadPage ( xOwDevice device,
uint8_t  page_n,
uint8_t *  buffer 
)

Lecture d'une page du Scratchpad.

Un appel à iDs2438RecallPage() peut être nécessaire pour récupérer la page en SRAM/EEPROM avant lecture du Scratchpad.
Un contrôle CRC des octets lus est effectués (retourne -1 si erreur)

Paramètres
devicepointeur sur le circuit
page_nnuméro de la page
bufferpointeur sur un buffer où seront stockés les 8 octets de la page et l'octet de CRC.
Renvoie
0, -1 si serreur
int iDs2438RecallPage ( xOwDevice device,
uint8_t  page_n 
)

Rappel d'une page de EEPROM/SRAM dans le scratchpad.

Paramètres
devicepointeur sur le circuit
page_nnuméro de la page
Renvoie
0, -1 si serreur
int iDs2438StartConvert ( xOwDevice device,
eDs2438Convertion  conv 
)

Démarre une ou plusieurs mesure.

Paramètres
devicepointeur sur le circuit
convsélection des convertions à démarrer
Renvoie
0, -1 si serreur
Exemples:
net/onewire/ds2438/demo_ow_ds2438.c.
int iDs2438WritePage ( xOwDevice device,
uint8_t  page_n,
const uint8_t *  buffer,
uint8_t  len 
)

Ecriture d'une page dans le Scratchpad.

Un appel à iDs2438CopyPage() peut être nécessaire pour copier la page en SRAM/EEPROM après écriture dans le Scratchpad.

Paramètres
devicepointeur sur le circuit
page_nnuméro de la page
bufferpointeur sur un buffer où sont stockés les 8 octets à écrire
Renvoie
0, -1 si serreur
void vDs2438CapacityRawToMes ( xDs2438CapacityMes mes,
double  rsens,
const xDs2438CapacityRaw raw 
)

Convertit les capacités brutes en valeurs réelles.

Paramètres
mespointeur sur un objet xDs2438CapacityMes où seront stockées les valeurs réelles
rsensvaleur de la résistance de mesure de courant en ohms
rawpointeur sur un objet xDs2438CapacityRaw où sont stockées les valeurs brutes
Exemples:
net/onewire/ds2438/demo_ow_ds2438.c.
void vDs2438DataRawToMes ( xDs2438DataMes mes,
double  rsens,
const xDs2438DataRaw raw 
)

Convertit les valeurs instantanées brutes en valeurs réelles.

Paramètres
mespointeur sur un objet xDs2438DataMes où seront stockées les valeurs réelles
rsensvaleur de la résistance de mesure de courant en ohms
rawpointeur sur un objet xDs2438DataRaw où sont stockées les valeurs brutes
Exemples:
net/onewire/ds2438/demo_ow_ds2438.c.