8.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"
using namespace std;
void usage(const char *exe)
{
cout << "usage: " << exe << " <serial or logical name> [ON/OFF]" << endl;
exit(1);
}
int main(int argc, const char * argv[])
{
string
errmsg;
// Setup the API to use local USB devices
if(yRegisterHub("usb", errmsg) != YAPI_SUCCESS) {
cerr << "RegisterHub error: " << errmsg << endl;
return 1;
}
if(argc < 2)
usage(argv[0]);
YModule *module = yFindModule(argv[1]);
if (module->isOnline()) {
if (argc > 2) {
if (string(argv[2]) == "ON")
module->set_beacon(Y_BEACON_ON);
else
module->set_beacon(Y_BEACON_OFF);
}
cout << "serial:
cout << "logical name: " << module->get_logicalName() << endl;
cout << "luminosity:
cout << "beacon:
if (module->get_beacon()==Y_BEACON_ON)
cout << "ON" << endl;
else
cout << "OFF" << endl;
cout << "upTime:
cout << "USB current:
} else {
cout << argv[1] << " not connected (check identification and USB cable)"
<< endl;
}
return 0;
}
Chaque propriété
xxx
et les propriétés qui se sont pas en lecture seule peuvent être modifiées à l'aide de la méthode
Pour plus de détails concernant ces fonctions utilisées, reportez- vous aux
set_xxx ()
chapitre
API
Modifications des réglages du module
Lorsque que vous souhaitez modifier les réglages d'un module, il suffit d'appeler la fonction
correspondante, cependant cette modification n'a lieu que dans la mémoire vive
set_xxx()
du module: si le module redémarre, les modifications seront perdue. Pour qu'elle soient
mémorisées de manière persistante, il est nécessaire de demander au module de sauvegarder
sa configuration courante dans sa mémoire non volatile. Pour cela il faut utiliser la méthode
. Inversement il est possible de forcer le module à oublier ses réglages
saveToFlash ()
courants en utilisant la méthode
permet changer le nom logique d'un module.
#include <iostream>
#include <stdlib.h>
www.yoctopuce.com
" << module->get_serialNumber() << endl;
" << module->get_luminosity() << endl;
";
" << module->get_upTime()/1000 << " sec" << endl;
" << module->get_usbCurrent() << " mA" << endl;
du module peut être lue grâce à une méthode du type
revertFromFlash()
// use serial or logical name
. Ce petit exemple ci-dessous vous
,
get_xxxx()
34