Elle permet de communiquer avec les karts : elle ouvre le port et reçoit les trames. Plus de détails...

#include <xbee.h>

Graphe de collaboration de Xbee:

Liste de tous les membres

Connecteurs publics

void LireTrame ()

Signaux

void envoyer (QString message)

Fonctions membres publiques

 Xbee (QObject *parent=0)
 ~Xbee ()
void connecter ()
void deconnecter ()
bool estConnecte ()
bool recevoir ()

Attributs privés

QByteArray trame
QextSerialPortport
bool connecte

Description détaillée

Auteur:
Tom Garcia
Version:
1.0

Documentation des constructeurs et destructeur

Xbee::Xbee ( QObject *  parent = 0)
Paramètres:
parent

Références connecte, QextSerialPort::EventDriven, QextSerialPort::open(), PORT, et port.

                          : QObject(parent)
{
    port = new QextSerialPort(QLatin1String(PORT), QextSerialPort::EventDriven);
    port->open(QIODevice::ReadWrite | QIODevice::Unbuffered);
    #ifdef DEBUG
    //qDebug("<debug> etat ouverture port : %d", port->isOpen());
    #endif
    connecte = false;
    if(!port->isOpen())
    {
        QMessageBox::critical(0,"Erreur", QString::fromUtf8("Le module Xbee n'a pas pu être ouvert !"));
    }
}

Références QextSerialPort::close(), et port.

{
    if(port->isOpen()==1)
        port->close();
    delete port;

}

Documentation des fonctions membres

void Xbee::connecter ( )

Références connecte, LireTrame(), et port.

Référencé par Acquisition::demarrer().

{
    if(port->isOpen() && connecte == false)
    {
        connect(port, SIGNAL(readyRead()), this, SLOT(LireTrame()));
        connecte = true;
    }
    else
    {
        QMessageBox::critical(0,"Erreur", QString::fromUtf8("Le module Xbee n'a pas pu être ouvert !"));
    }
}

Références connecte, LireTrame(), et port.

Référencé par Acquisition::arreter().

{
    if(port->isOpen() && connecte == true)
    {
        disconnect(port, SIGNAL(readyRead()), this, SLOT(LireTrame()));
        connecte = false;
    }
    else
    {
        QMessageBox::critical(0,"Erreur", QString::fromUtf8("Le module Xbee n'a pas pu être ouvert !"));
    }
}
void Xbee::envoyer ( QString  message) [signal]
Paramètres:
messageQString

Référencé par LireTrame().

Renvoie:
bool

Références connecte.

Référencé par Acquisition::estDemarre().

{
    return connecte;
}
void Xbee::LireTrame ( ) [slot]

Références QextSerialPort::bytesAvailable(), envoyer(), port, QextSerialPort::readAll(), et trame.

Référencé par connecter(), et deconnecter().

{
    trame.clear();

    trame = port->readAll();
    do
    {
        if(port->bytesAvailable())
            trame += port->readAll();
        ::usleep(50*1000);
    }
    while(port->bytesAvailable());

    //qDebug() << Q_FUNC_INFO << trame;
    QString message(trame);

    if(trame.length() > 0)
        emit envoyer(message);
}
bool Xbee::recevoir ( )
Renvoie:
bool

Références port.

{
    bool pret = port->waitForReadyRead(100);
    qDebug() << Q_FUNC_INFO << pret;
    return pret;
}

Documentation des données membres

bool Xbee::connecte [private]

état de la connexion

Référencé par connecter(), deconnecter(), estConnecte(), et Xbee().

pointeur sur l'objet port (agrégation)

Référencé par connecter(), deconnecter(), LireTrame(), recevoir(), Xbee(), et ~Xbee().

QByteArray Xbee::trame [private]

la trame (tableau d'octets)

Référencé par LireTrame().


La documentation de cette classe a été générée à partir des fichiers suivants :