Vous reconnaîtrez dans cet exemple l'utilisation des fonctions expliquées ci-dessus, cette fois
utilisées avec le décorum nécessaire à en faire un petit programme d'exemple concret.
#include "yocto_api.h"
#include "yocto_temperature.h"
#include <iostream>
#include <stdlib.h>
using namespace
std;
static void
usage(void)
{
cout
<<
"usage: demo <serial_number> "
cout
<<
"
cout
<<
"
u64
now
= YAPI::GetTickCount();
while (YAPI::GetTickCount() -
// wait 3 sec to show the message
}
exit(1);
}
int main(int
argc,
{
string
errmsg,
target;
YTemperature
*tsensor;
if
(argc
< 2) {
usage();
}
target
= (string) argv[1];
// Setup the API to use local USB devices
if
(YAPI::RegisterHub("usb",
cerr
<<
"RegisterHub error: "
return 1;
}
if
(target
== "any") {
tsensor
= YTemperature::FirstTemperature();
if
(tsensor
== NULL) {
cout
<<
"No module connected (check USB cable)"
return 1;
}
} else {
tsensor
=
YTemperature::FindTemperature(target
}
while (1) {
if (!tsensor->isOnline()) {
cout
<<
"Module not connected (check identification and USB
break;
}
cout
<<
"Current temperature: "
cout
<<
"
(press Ctrl-C to exit)"
YAPI::Sleep(1000,
};
YAPI::FreeAPI();
return 0;
}
9.2. Contrôle de la partie module
Chaque module peut-être contrôlé d'une manière similaire, vous trouverez ci dessous un simple
programme d'exemple affichant les principaux paramètres d'un module et permettant d'activer la
balise de localisation.
#include <iostream>
#include <stdlib.h>
#include "yocto_api.h"
www.yoctopuce.com
demo <logical_name>"
demo any"
<< endl;
now
< 3000) {
const char
* argv[])
errmsg) != YAPI::SUCCESS) {
<<
errmsg
<< tsensor->get_currentValue() <<
errmsg);
<< endl;
<< endl;
<< endl;
<< endl;
+ ".temperature");
<< endl;
9. Utilisation du Yocto-PT100 en C++
cable)";
" °C"
<< endl;
59