AvrIO  1.4.5
Bibliothèque C modulaire pour ATMEL AVR
ow-ds2438.h
1 
18 #ifndef _AVRIO_OW_DS2438_H_
19 #define _AVRIO_OW_DS2438_H_
20 
21 #include <avrio/defs.h>
22 #include <avrio/ow.h>
23 
24 __BEGIN_C_DECLS
25 /* ========================================================================== */
59 /* constants ================================================================ */
60 #define DS2438_FAMILY_ID 0x26
62 #define DS2438_IAD _BV(0)
63 #define DS2438_CA _BV(1)
64 #define DS2438_EE _BV(2)
65 #define DS2438_AD _BV(3)
66 #define DS2438_TB _BV(4)
67 #define DS2438_NVB _BV(5)
68 #define DS2438_ADB _BV(6)
70 #define DS2438_DEFAULT_CONFIG (DS2438_IAD|DS2438_CA|DS2438_EE|DS2438_AD)
75 typedef enum {
80 
81 /* structures =============================================================== */
85 typedef struct xDs2438DataRaw {
86  int16_t temp;
87  uint16_t voltage;
88  int16_t current;
90 
94 typedef struct xDs2438DataMes {
95  double temp;
96  double voltage;
97  double current;
99 
103 typedef struct xDs2438CapacityRaw {
104  uint16_t ica;
105  uint16_t cca;
106  uint16_t dca;
108 
112 typedef struct xDs2438CapacityMes {
113  double remaining;
114  double charging;
115  double discharging;
117 
118 /* internal public functions ================================================ */
126 int iDs2438Configure (xOwDevice * device, uint8_t config);
127 
136 
146 int iDs2438DataGetRaw (xOwDevice * device, xDs2438DataRaw * raw);
147 
155 void vDs2438DataRawToMes (xDs2438DataMes * mes, double rsens, const xDs2438DataRaw * raw);
156 
167 
175 void vDs2438CapacityRawToMes (xDs2438CapacityMes * mes, double rsens, const xDs2438CapacityRaw * raw);
176 
189 int iDs2438ReadPage (xOwDevice * device, uint8_t page_n, uint8_t * buffer);
190 
201 int iDs2438WritePage (xOwDevice * device, uint8_t page_n, const uint8_t * buffer, uint8_t len);
202 
210 int iDs2438CopyPage (xOwDevice * device, uint8_t page_n);
211 
219 int iDs2438RecallPage (xOwDevice * device, uint8_t page_n);
225 /* ========================================================================== */
226 __END_C_DECLS
227 #endif /* _AVRIO_OW_DS2438_H_ */
int iDs2438RecallPage(xOwDevice *device, uint8_t page_n)
Rappel d&#39;une page de EEPROM/SRAM dans le scratchpad.
int iDs2438Configure(xOwDevice *device, uint8_t config)
Configure un DS2438.
int iDs2438ReadPage(xOwDevice *device, uint8_t page_n, uint8_t *buffer)
Lecture d&#39;une page du Scratchpad.
void vDs2438CapacityRawToMes(xDs2438CapacityMes *mes, double rsens, const xDs2438CapacityRaw *raw)
Convertit les capacités brutes en valeurs réelles.
Capacités cumulées en unitées SI.
Definition: ow-ds2438.h:112
int iDs2438CopyPage(xOwDevice *device, uint8_t page_n)
Copie une page du scratchpad en EEPROM/SRAM.
Données instantanées brutes.
Definition: ow-ds2438.h:85
uint16_t voltage
Definition: ow-ds2438.h:87
int iDs2438DataGetRaw(xOwDevice *device, xDs2438DataRaw *raw)
Lecture des données instantanées brutes de la dernière mesure.
Données instantanées en unitées SI.
Definition: ow-ds2438.h:94
int iDs2438WritePage(xOwDevice *device, uint8_t page_n, const uint8_t *buffer, uint8_t len)
Ecriture d&#39;une page dans le Scratchpad.
struct xDs2438CapacityMes xDs2438CapacityMes
Capacités cumulées en unitées SI.
struct xDs2438CapacityRaw xDs2438CapacityRaw
Capacités cumulées brutes.
Circuit sur le bus 1wire.
Definition: ow.h:64
int16_t temp
Definition: ow-ds2438.h:86
int iDs2438StartConvert(xOwDevice *device, eDs2438Convertion conv)
Démarre une ou plusieurs mesure.
struct xDs2438DataMes xDs2438DataMes
Données instantanées en unitées SI.
int iDs2438CapacityGetRaw(xOwDevice *device, xDs2438CapacityRaw *raw)
Lecture des capacitées brutes.
eDs2438Convertion
Definition: ow-ds2438.h:75
struct xDs2438DataRaw xDs2438DataRaw
Données instantanées brutes.
int16_t current
Definition: ow-ds2438.h:88
double current
Definition: ow-ds2438.h:97
Capacités cumulées brutes.
Definition: ow-ds2438.h:103
double temp
Definition: ow-ds2438.h:95
void vDs2438DataRawToMes(xDs2438DataMes *mes, double rsens, const xDs2438DataRaw *raw)
Convertit les valeurs instantanées brutes en valeurs réelles.
double voltage
Definition: ow-ds2438.h:96