Télécharger Imprimer la page

Yoctopuce Yocto-PT100 Mode D'emploi page 159

Publicité

Le callback de changement de valeur
Ce type de callback est appelé lorsque un capteur de température change de manière significative. Il
prend en paramètre la fonction concernée et la nouvelle valeur, sous forme d'une chaîne de
1
caractères
.
static
void valueChangeCallback(YTemperature
{
Console.WriteLine(fct.get_hardwareId() +
}
Dans la plupart des langages, les callbacks doivent être des procédures globales, et non pas des
méthodes. Si vous souhaitez que le callback appelle une méthode d'un objet, définissez votre
callback sous la forme d'une procédure globale qui ensuite appellera votre méthode. Si vous avez
besoin de garder la référence sur votre objet, vous pouvez la stocker directement dans l'objet
YTemperature à l'aide de la fonction
dans la procédure globale de callback en appelant
Mise en place du callback de changement de valeur
Le callback est mis en place pour une fonction Temperature donnée à l'aide de la méthode
registerValueCallback
Temperature disponible.
YTemperature
f
= YTemperature.FirstTemperature();
f.registerValueCallback(valueChangeCallback);
Vous remarquerez que chaque fonction d'un module peut ainsi avoir un callback différent. Par
ailleurs, si vous prenez goût aux callback de changement de valeur, sachez qu'il ne sont pas limités
aux senseurs, et que vous pouvez les utiliser avec tous les modules Yoctopuce (par exemple pour
être notifié en cas de commutation d'un relais).
Le callback périodique
Ce type de callback est automatiquement appelé à intervalle réguliers. La fréquence d'appel peut
être configurée individuellement pour chaque senseur, avec des fréquences pouvant aller de cent
fois par seconde à une fois par heure. Le callback prend en paramètre la fonction concernée et la
valeur mesurée, sous forme d'un objet
valeur qui ne contient que la nouvelle valeur instantanée, l'objet
minimale, moyenne et maximale observée depuis le dernier appel du callback périodique. De plus, il
contient aussi l'indication de l'heure exacte qui correspond à la mesure, de sorte à pouvoir
l'interpréter correctement même en différé.
static
void periodicCallback(YTemperature
{
Console.WriteLine(fct.get_hardwareId() +
}
Mise en place du callback périodique
Le callback est mis en place pour une fonction Temperature donnée à l'aide de la méthode
registerTimedReportCallback
spécifier la fréquence d'appel à l'aide de la méthode
périodique est désactivé par défaut). La fréquence est spécifié sous forme textuelle (comme pour
l'enregistreur de données), en spécifiant le nombre d'occurrences par seconde (/s), par minute (/m)
ou par heure (/h). La fréquence maximale est 100 fois par seconde (i.e. "100/s"), et fréquence
minimale est 1 fois par heure (i.e. "1/h"). Lorsque la fréquence supérieure ou égale à 1/s, la mesure
représente une valeur instantanée. Lorsque la fréquence est inférieure, la mesure comporte des
valeurs minimale, moyenne et maximale distinctes sur la base d'un échantillonnage effectué
automatiquement par le module.
1
La valeur passée en paramètre est la même que celle rendue par la méthode
www.yoctopuce.com
set_userData
. L'exemple suivant met en place un callback pour la première fonction
YMeasure
measure.get_averageValue());
. Pour que le callback périodique soit appelé, il faut aussi
fct,
string
value)
"="
+ value);
. Il vous sera ainsi possible de la récupérer
.
get_userData
. Contrairement au callback de changement de
YMeasure
fct,
YMeasure
measure)
"="
+
set_reportFrequency
get_advertisedValue()
20. Programmation avancée
peut donner la valeur
(sinon le callback
153

Publicité

loading