AvrIO  1.4.5
Bibliothèque C modulaire pour ATMEL AVR
Capteur de pression Honeywell HSC

Description détaillée

Ce module permet de gérer des capteurs de pression Honeywell HSC. Les capteurs HSC sont des capteurs de pression numériques avec une résolution de 14 bits. Suivant le modèle choisi, il peut être interfacé au MCU sur bus SPI ou I2C.

Graphe de collaboration de Capteur de pression Honeywell HSC:

Structures de données

struct  xHscRaw
 Données brutes lues dans un capteur. Plus de détails...
 
struct  xHscSensor
 Capteur HSC. Plus de détails...
 
struct  xHscValue
 Valeurs calculées de la pression et de la température. Plus de détails...
 

Fonctions

int iHscGetRaw (xHscSensor *pSensor, xHscRaw *pRaw)
 Lecture valeurs brutes. Plus de détails...
 
int iHscGetValue (xHscSensor *pSensor, xHscValue *pValue)
 Lecture capteur. Plus de détails...
 
int iHscInitSpiSensor (xHscSensor *pSensor, double dPressMin, double dPressMax, vHscSpiInit vInit, vHscSpiSelect vSelect)
 Initialisation capteur HSC SPI. Plus de détails...
 
int iHscInitTwiSensor (xHscSensor *pSensor, double dPressMin, double dPressMax, uint8_t ucTwiAddr)
 Initialisation capteur HSC I2C. Plus de détails...
 
void vHscRawToValue (xHscSensor *pSensor, const xHscRaw *pRaw, xHscValue *pValue)
 Convertit des valeurs brutes en grandeurs capteur. Plus de détails...
 

Macros

#define HSC_DEFAULT_TWIADDR   (0x28)
 Adresse I2c par défaut.
 
#define PSI_TO_HPA(_psi)   ((double)(_psi)*68.9476f)
 
#define PSI_TO_PA(_psi)   ((double)(_psi)*6894.76f)
 Convertion psi en pascal.
 

Définitions de type

typedef void(* vHscSpiInit) (void)
 
typedef void(* vHscSpiSelect) (bool)
 
typedef struct xHscRaw xHscRaw
 Données brutes lues dans un capteur.
 
typedef struct xHscSensor xHscSensor
 Capteur HSC.
 
typedef struct xHscValue xHscValue
 Valeurs calculées de la pression et de la température.
 

Énumérations

enum  eHscBus { HSC_SPI, HSC_TWI }
 Bus utilisé par le capteur. Plus de détails...
 
enum  eHscStatus {
  HSC_SUCCESS = 0, HSC_COMMAND_MODE = -1, HSC_STALE_DATA = -2, HSC_DIAGNOSTIC = -3,
  HSC_TWI_ERROR = -4
}
 Code d'état. Plus de détails...
 

Documentation des définitions de type

typedef void(* vHscSpiInit) (void)

Type de fonction qui initialise la broche /SS d'un capteur SPI

Définition à la ligne 102 du fichier hsc.h.

typedef void(* vHscSpiSelect) (bool)

Type de fonction qui sélectionne un capteur SPI en affirmant sa broche /SS

Définition à la ligne 97 du fichier hsc.h.

Documentation du type de l'énumération

enum eHscBus

Bus utilisé par le capteur.

Le capteur est soit SPI, soit I2C

Valeurs énumérées
HSC_SPI 

Interface SPI

HSC_TWI 

Interface I2C

Définition à la ligne 66 du fichier hsc.h.

66  {
67  HSC_SPI,
68  HSC_TWI
69 } eHscBus;
Definition: hsc.h:68
eHscBus
Bus utilisé par le capteur.
Definition: hsc.h:66
Definition: hsc.h:67
enum eHscStatus

Code d'état.

Valeurs renvoyées par les fonctions du module

Valeurs énumérées
HSC_SUCCESS 

Pas d'erreur

HSC_COMMAND_MODE 

Capteur en mode commande (impossible normalement)

HSC_STALE_DATA 

Données périmées:
les données ont déjà été récupérés depuis le dernier cycle de mesure, ou données extraites avant que la première mesure ait été complétée

Définition à la ligne 76 du fichier hsc.h.

76  {
77  HSC_SUCCESS = 0,
78  HSC_COMMAND_MODE = -1,
79  HSC_STALE_DATA = -2,
84  HSC_DIAGNOSTIC = -3,
85  HSC_TWI_ERROR = -4
86 } eHscStatus;
eHscStatus
Code d'état.
Definition: hsc.h:76

Documentation des fonctions

int iHscGetRaw ( xHscSensor pSensor,
xHscRaw pRaw 
)

Lecture valeurs brutes.

Renvoie les valeurs brutes en sortie du capteur

Paramètres
pSensorPointeur sur le capteur à utiliser
pRawValeurs brutes correspodant aux grandeurs mesurées
Renvoie
HSC_SUCCESS (0) ou un code erreur eHscStatus
Exemples:
sensor/hsc/spi/demo_sensor_hsc_spi.c, et sensor/hsc/twi/demo_sensor_hsc_twi.c.
int iHscGetValue ( xHscSensor pSensor,
xHscValue pValue 
)

Lecture capteur.

Effectue une mesure avec iHscGetRaw() et la convertit avec vHscRawToValue()

Paramètres
pSensorPointeur sur le capteur à utiliser
pValueValeur des grandeurs mesurées (pression et température)
Renvoie
HSC_SUCCESS (0) ou un code erreur eHscStatus
int iHscInitSpiSensor ( xHscSensor pSensor,
double  dPressMin,
double  dPressMax,
vHscSpiInit  vInit,
vHscSpiSelect  vSelect 
)

Initialisation capteur HSC SPI.

Attention, il est nécessaire d'initialiser le bus SPI séparément.

Paramètres
pSensorPointeur sur le capteur à utiliser
dPressMinPression minimale du capteur
dPressMaxPression maximale du capteur
vInitPointeur sur la fonction d'initialisation spécifique au capteur (init. broche /SS ...). Si inutilisé, mettre 0.
vSelectPointeur sur la fonction de validation de la broche /SS du capteur. Cette fonction est obligatoire.
Renvoie
HSC_SUCCESS (0) ou un code erreur eHscStatus
Exemples:
sensor/hsc/spi/demo_sensor_hsc_spi.c.
int iHscInitTwiSensor ( xHscSensor pSensor,
double  dPressMin,
double  dPressMax,
uint8_t  ucTwiAddr 
)

Initialisation capteur HSC I2C.

Attention, il est nécessaire d'initialiser le bus I2C séparément.

Paramètres
pSensorPointeur sur le capteur à utiliser
dPressMinPression minimale du capteur
dPressMaxPression maximale du capteur
ucTwiAddrAdresse I2C esclave du capteur
Renvoie
HSC_SUCCESS (0) ou un code erreur eHscStatus
Exemples:
sensor/hsc/twi/demo_sensor_hsc_twi.c.
void vHscRawToValue ( xHscSensor pSensor,
const xHscRaw pRaw,
xHscValue pValue 
)

Convertit des valeurs brutes en grandeurs capteur.

Paramètres
pSensorPointeur sur le capteur à utiliser
pRawValeurs brutes lues en sortie du capteur
pValueValeur des grandeurs mesurées (pression et température) associées à pRaw
Exemples:
sensor/hsc/spi/demo_sensor_hsc_spi.c, et sensor/hsc/twi/demo_sensor_hsc_twi.c.