21 #ifndef _AVRIO_ADC_SENSOR_H_ 22 #define _AVRIO_ADC_SENSOR_H_ 23 #include <avrio/defs.h> 27 #include <avrio/adc.h> 70 #define ADC_SENSOR_SETTING_LINEAR(_vmin,_vmax,_rmin,_rmax) { \ 71 .xLin.dValueMin=(_vmin), \ 72 .xLin.dValueMax=(_vmax), \ 73 .xLin.dRawMin=(_rmin), \ 74 .xLin.dRawMax=(_rmax) } 81 #define ADC_SENSOR_SETTING_NLINEAR(_coeff, _f) { \ 82 .xNlin.dRawToValue=(_f), \ 83 .xNlin.dCoeff = _coeff } 168 # if defined(__DOXYGEN__) 189 uint8_t ucAdcChan, uint8_t ucTerms);
212 #include "avrio-board-adc-sensor.h" 222 pSensor->
eType = eType;
double dAdcSensorRawToValue(xAdcSensor *pSensor, uint16_t usRaw)
Convertit une valeur ADC en grandeur capteur.
struct xAdcSensor xAdcSensor
Capteur.
struct xAdcSensorLinearSetting xAdcSensorLinearSetting
double dRawMax
Valeur en sortie de l'ADC associée à dValueMax.
uint16_t usAdcSensorGetRaw(xAdcSensor *pSensor)
Lecture valeur brute ADC.
uint8_t ucAdcScale
Echelle de la dernière mesure.
uint8_t ucTerms
Nombre de mesure pour le filtrage.
double dValueMin
Grandeur minimale en sortie du capteur.
double(* dAdcSensorConvert)(struct xAdcSensor *, uint16_t)
union xAdcSensorSetting xAdcSensorSetting
uint8_t ucAdcChan
Voie ADC du capteur.
xAdcSensorSetting * pSetting
Repère d'étalonnage.
eAdcSensorType eType
Type de capteur.
eAdcFilter
Type de filtrage de la mesure.
struct xAdcSensorNlinearSetting xAdcSensorNlinearSetting
double dValueMax
Grandeur maximale en sortie du capteur.
void vAdcSensorInit(xAdcSensor *pSensor, xAdcSensorSetting *pSetting, eAdcSensorType eType, uint8_t ucAdcChan, uint8_t ucTerms)
Initialisation capteur.
double * dCoeff
Tableau de coefficients pour la conversion.
double dRawMin
Valeur en sortie de l'ADC associée à dValueMin.
eAdcFilter eFilter
Type de filtrage (Moyennage par défaut)
Mesure directe de l'ADC.
double dAdcSensorGetValue(xAdcSensor *pSensor)
Lecture grandeur capteur.
dAdcSensorConvert dRawToValue
Fonction de conversion non linéaire.