18 #ifndef _AVRIO_TSL230_H_ 19 #define _AVRIO_TSL230_H_ 20 #include <avrio/defs.h> 168 #if defined(__DOXYGEN__) 338 #include "avrio-config.h" 340 #ifdef AVRIO_TSL230_ENABLE 342 #include "avrio-board-tsl230.h" 344 #if ! defined(AVRIO_TASK_ENABLE) 345 #error AVRIO_TASK_ENABLE should be defined for TSL230 module 352 #include "icounter.h" 354 #if ! defined(AVRIO_IRQ_ENABLE) && defined(TSL230_INT) 355 #error AVRIO_IRQ_ENABLE should be defined for TSL230 module with icounter 359 typedef struct xTsl230Context {
364 double dResponsivity;
368 extern xTsl230Context xTsl230;
414 typedef struct xTsl230Context {
419 double dResponsivity;
423 extern xTsl230Context xTsl230;
484 xTsl230.eSensitivity = eSensitivity;
485 vTsl230PinSetSensitivity (eSensitivity);
492 return xTsl230.eSensitivity;
499 xTsl230.eScale = eScale;
500 vTsl230PinSetScale (eScale);
507 return xTsl230.eScale;
513 xTsl230.dDarkFreq = dDarkFreq;
519 return xTsl230.dDarkFreq;
525 xTsl230.dResponsivity = dResponsivity;
532 return xTsl230.dResponsivity;
double dCounterFreq(struct xCounter *c)
Dernière fréqunence.
double dTsl230Freq(void)
Lit la dernière mesure d'irradiance en Hertz.
void vCounterStart(struct xCounter *c)
Démarre la mesure.
void vTsl230SetScale(eTsl230Scale eScale)
Modifie l'échelle de fréquence du capteur.
void vTsl230SetWindow(uint16_t usWindowMs)
Modifie la durée de la fenêtre de mesure de la fréquence.
void vTsl230SetResponsivity(double dResponsivity)
Modifie la réceptivité du capteur.
uint16_t usTsl230Range(void)
Lecture de la plage de mesure du capteur.
void vICounterWaitForComplete(struct xICounter *c)
Attends que la mesure se termine.
void vTsl230Init(void)
Initialisation du capteur et de son fréquencemètre.
void vTsl230SetSensitivity(eTsl230Sensitivity eSensitivity)
Modifie la sensibilité du capteur.
eTsl230Sensitivity eTsl230GetSensitivity(void)
Sensibilité du capteur.
void vCounterSetWindow(struct xCounter *c, uint16_t usWindowMs)
Modifie la durée de la fenêtre de mesure.
void vTsl230WaitForComplete(void)
Attends que la mesure se termine.
void vTsl230SetDarkFreq(double dDarkFreq)
Modifie la fréquence capteur dans le noir.
void vTsl230Enable(void)
Valide la broche OE du capteur.
double dICounterFreq(struct xICounter *c)
Dernière fréqunence.
bool bCounterIsComplete(struct xCounter *c)
Teste si la mesure est terminée.
double dTsl230GetResponsivity(void)
Réceptivité du capteur.
bool bICounterIsComplete(struct xICounter *c)
Teste si la mesure est terminée.
double dTsl230FreqToIrradiance(double dFreq)
Convertit une fréquence en irradiance.
bool bTsl230IsComplete(void)
Teste si la mesure est terminée.
void vCounterWaitForComplete(struct xCounter *c)
Attends que la mesure se termine.
void vTsl230Start(void)
Démarre la mesure.
double dTsl230ReadIrradiance(bool bAutoRange)
Mesure bloquante de l'irradiance du capteur.
double dTsl230GetDarkFreq(void)
Fréquence capteur dans le noir.
eTsl230Range
Plage de mesure capteur.
void vICounterSetWindow(struct xICounter *c, uint16_t usWindowMs)
Modifie la durée de la fenêtre de mesure.
void vTsl230Disable(void)
Dévalide la broche OE du capteur.
eTsl230Scale
Division de fréquence du capteur.
eTsl230Sensitivity
Sensibilité du capteur.
void vTsl230SetRange(uint16_t usRange)
Réglage la plage de mesure du capteur.
void vICounterStart(struct xICounter *c)
Démarre la mesure.
uint16_t usTsl230AutoRange(void)
Réglage automatique de la plage de mesure du capteur.
double dTsl230Irradiance(void)
Lit la dernière mesure d'irradiance en µW/cm²
eTsl230Scale eTsl230GetScale(void)
Sensibilité du capteur.
double dTsl230ReadFreq(bool bAutoRange)
Mesure bloquante de la fréquence du capteur.