Un exemple réel
Lancez votre environnement C++ et ouvrez le projet exemple correspondant, fourni dans le
répertoire Examples/Doc-GettingStarted-Yocto-0-10V-Tx de la librairie Yoctopuce. Si vous
préférez travailler avec votre éditeur de texte préféré, ouvrez le fichier
simplement
dans le répertoire de l'exemple pour le compiler.
make
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_voltageoutput.h"
#include <iostream>
#include <stdlib.h>
using namespace
std;
static void
usage(void)
{
cout
<<
"usage: demo <serial_number> <value>"
cout
<<
"
cout
<<
"
<< endl;
cout
<<
"
u64
now
= YAPI::GetTickCount();
while (YAPI::GetTickCount() -
// wait 3 sec to show the message
}
exit(1);
}
int main(int
argc,
{
string
errmsg;
string
target;
YVoltageOutput
*vout1;
YVoltageOutput
*vout2;
double
voltage;
if
(argc
< 4) {
usage();
}
target
= (string) argv[1];
voltage
= atof(argv[2]);
// Setup the API to use local USB devices
if
(YAPI::RegisterHub("usb",
cerr
<<
"RegisterHub error: "
return 1;
}
if
(target
== "any") {
YVoltageOutput
if
(vout
== NULL) {
cout
<<
"No module connected (check USB cable)"
return 1;
}
target
= vout->module()->get_serialNumber();
}
vout1
=
YVoltageOutput::FindVoltageOutput(target
vout2
=
YVoltageOutput::FindVoltageOutput(target
if (vout1->isOnline()) {
// output 1 : immediate change
vout1->set_currentVoltage(voltage);
// output 2 : smooth change
vout2->voltageMove(voltage,
} else {
cout
<<
"Module not connected (check identification and USB cable)"
}
YAPI::FreeAPI();
return 0;
}
www.yoctopuce.com
demo <logical_name>
demo any
<value>
(use any discovered device)"
<value>: floating point number between 0.0 and 10.000"
now
< 3000) {
const char
* argv[])
errmsg) != YAPI::SUCCESS) {
<<
errmsg
*vout
= YVoltageOutput::FirstVoltageOutput();
3000);
<< endl;
<value>"
<< endl;
<< endl;
<< endl;
+ ".voltageOutput1");
+ ".voltageOutput2");
9. Utilisation du Yocto-0-10V-Tx en C++
, vous taperez
main.cpp
<< endl;
<< endl;
53