![]() |
AvrIO
1.4.5
Bibliothèque C modulaire pour ATMEL AVR
|
Ce module permet de gérer des capteurs analogiques à réponse linéaire et non-linéaire.
La tension en sortie du capteur est mesurée grâce au convertisseur analogique-numérique intégré au MCU.
|
Structures de données | |
| struct | xAdcSensor |
| Capteur. Plus de détails... | |
| struct | xAdcSensorLinearSetting |
| struct | xAdcSensorNlinearSetting |
| union | xAdcSensorSetting |
Fonctions | |
| double | dAdcSensorGetValue (xAdcSensor *pSensor) |
| Lecture grandeur capteur. Plus de détails... | |
| double | dAdcSensorRawToValue (xAdcSensor *pSensor, uint16_t usRaw) |
| Convertit une valeur ADC en grandeur capteur. Plus de détails... | |
| uint16_t | usAdcSensorGetRaw (xAdcSensor *pSensor) |
| Lecture valeur brute ADC. Plus de détails... | |
| void | vAdcSensorInit (xAdcSensor *pSensor, xAdcSensorSetting *pSetting, eAdcSensorType eType, uint8_t ucAdcChan, uint8_t ucTerms) |
| Initialisation capteur. Plus de détails... | |
Macros | |
| #define | ADC_SENSOR_SETTING_LINEAR(_vmin, _vmax, _rmin, _rmax) |
| Initialisation d'un repère linéaire. Plus de détails... | |
| #define | ADC_SENSOR_SETTING_NLINEAR(_coeff, _f) |
| Initialisation d'un repère non linéaire. Plus de détails... | |
Définitions de type | |
| typedef double(* | dAdcSensorConvert) (struct xAdcSensor *, uint16_t) |
| typedef struct xAdcSensor | xAdcSensor |
| Capteur. Plus de détails... | |
| typedef struct xAdcSensorLinearSetting | xAdcSensorLinearSetting |
| typedef struct xAdcSensorNlinearSetting | xAdcSensorNlinearSetting |
| typedef union xAdcSensorSetting | xAdcSensorSetting |
Énumérations | |
| enum | eAdcSensorType { ADC_SENSOR_LINEAR = 0, ADC_SENSOR_NLINEAR = 1 } |
| #define ADC_SENSOR_SETTING_LINEAR | ( | _vmin, | |
| _vmax, | |||
| _rmin, | |||
| _rmax | |||
| ) |
Initialisation d'un repère linéaire.
Permet d'initialiser un repère d'étalonnage de capteur linéaire
Définition à la ligne 70 du fichier adc_sensor.h.
| #define ADC_SENSOR_SETTING_NLINEAR | ( | _coeff, | |
| _f | |||
| ) |
Initialisation d'un repère non linéaire.
Permet d'initialiser un repère d'étalonnage de capteur non linéaire
Définition à la ligne 81 du fichier adc_sensor.h.
| typedef double(* dAdcSensorConvert) (struct xAdcSensor *, uint16_t) |
Fonction de conversion d'une valeur brute ADC en grandeur de sortie
Définition à la ligne 100 du fichier adc_sensor.h.
| typedef struct xAdcSensor xAdcSensor |
Capteur.
Capteur connecté à une entrée de l'ADC
| typedef struct xAdcSensorLinearSetting xAdcSensorLinearSetting |
Repère d'étalonnage d'un capteur linéaire
| typedef struct xAdcSensorNlinearSetting xAdcSensorNlinearSetting |
Repère d'étalonnage d'un capteur non linéaire
| typedef union xAdcSensorSetting xAdcSensorSetting |
Repère d'étalonnage d'un capteur
| enum eAdcSensorType |
Type de capteur
| Valeurs énumérées | |
|---|---|
| ADC_SENSOR_LINEAR |
Capteur linéaire. |
| ADC_SENSOR_NLINEAR |
Capteur non linéaire. |
Définition à la ligne 91 du fichier adc_sensor.h.
| double dAdcSensorGetValue | ( | xAdcSensor * | pSensor | ) |
Lecture grandeur capteur.
Effectue une mesure avec usAdcSensorGetRaw() et la convertit avec dAdcSensorRawToValue()
| pSensor | pointeur sur le capteur à utiliser |
| double dAdcSensorRawToValue | ( | xAdcSensor * | pSensor, |
| uint16_t | usRaw | ||
| ) |
Convertit une valeur ADC en grandeur capteur.
| pSensor | pointeur sur le capteur à utiliser |
| usRaw | valeur de l'ADC correspodant à la grandeur |
| uint16_t usAdcSensorGetRaw | ( | xAdcSensor * | pSensor | ) |
Lecture valeur brute ADC.
Renvoie la valeur filtrée de l'ADC, le champ ucAdcScale de pSensor est mis à jour.
| pSensor | pointeur sur le capteur à utiliser |
| void vAdcSensorInit | ( | xAdcSensor * | pSensor, |
| xAdcSensorSetting * | pSetting, | ||
| eAdcSensorType | eType, | ||
| uint8_t | ucAdcChan, | ||
| uint8_t | ucTerms | ||
| ) |
Initialisation capteur.
Attention, il est nécessaire d'initialiser l'ADC séparément.
| pSensor | pointeur sur le capteur à utiliser |
| pSetting | pointeur sur le repère d'étalonnage |
| eType | Type de capteur |
| ucAdcChan | voie ADC utilisée par le capteur |
| ucTerms | nombre de mesures effectuées pour le filtrage, si > 1 une moyenne est effectuée, sinon c'est une mesure brute. Le champ eFilter de xAdcSensor peut être modifié pour changer de filtrage. |