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
}
string
serial
= tsensor->get_module()->get_serialNumber();
YTemperature
*t1
YTemperature
*t2
while (1) {
if (!t1->isOnline() || !t2->isOnline()) {
cout
<<
"Module not connected (check identification and USB
break;
}
cout
<<
"Channel 1 : "
cout
<<
"Channel 2 : "
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.
www.yoctopuce.com
demo <logical_name>"
demo any"
<< endl;
now
< 3000) {
const char
* argv[])
errmsg) != YAPI::SUCCESS) {
<<
errmsg
=
YTemperature::FindTemperature(serial
=
YTemperature::FindTemperature(serial
<< t1->get_currentValue() <<
<< t2->get_currentValue() <<
errmsg);
<< endl;
<< endl;
<< endl;
<< endl;
+ ".temperature1");
+ ".temperature1");
+ ".temperature2");
"
deg C"
"
deg C"
<< endl;
9. Utilisation du Yocto-Thermocouple en C++
cable)";
<< endl;
<< endl;
43