2017-07-28 5 views
0

J'utilise le compilateur mbed online pour écrire un programme et le télécharger sur un tranceiver multitech mDot LoRa. Mon programme consiste essentiellement à envoyer des paquets d'une taille spécifique à la passerelle. À la fin de mon programme, je veux obtenir des statistiques sur la communication. donc on m'a dit d'utiliser une fonction appelée getStats(); c'est dans l'un des fichiers d'en-tête (mDot.h). tout ce qui est mentionné au sujet de cette fonction, le mDot.h est la suivante:Une fonction qui devrait retourner une structure, comment puis-je imprimer cette structure en C++?

class mDot { 
    public: 
    typedef struct { 
       uint32_t Up; 
       uint32_t Down; 
       uint32_t Joins; 
       uint32_t JoinFails; 
       uint32_t MissedAcks; 
     } mdot_stats; 

// get current statistics 
// Join Attempts, Join Fails, Up Packets, Down Packets, Missed Acks 

mdot_stats getStats(); 

donc des idées sur la façon dont il vous plaît puis-je appeler cette fonction dans mon main.cpp et obtenir les valeurs (vers le haut, vers le bas, se joint, JoinFails et MissedAcks) imprimé dans mon écran de consle. apprécient vraiment votre aide comme je l'ai vraiment besoin ..

Noman

Répondre

0

Que diriez-vous:

mDot::mdot_stats stats = dot->getStats(); 
printf("Number of uplink packets %d\n", stats.Up); 
+0

Merci Jan, c'est exactement ce que je cherchais .. – Noman

+0

Bienvenue sur Stack Overflow! Si une réponse a résolu votre problème, veuillez cliquer sur la case «Accepté» à côté de la réponse :-). –

0

En supposant que vous avez printf disponible, vous pouvez simplement faire:

void print(const mdot_stats& stats){ 
    printf("Join Attempts: %d,\t" stats.Joins); 
    printf("Join Fails: %d,\t" stats.JoinFails); 
    printf("Up Packets: %d,\t" stats.Up); 
    printf("Down Packets: %d,\t" stats.Down); 
    printf("Missed Acks: %d,\t" stats.MissedAcks); 
} 

Dans le cas contraire, Si vous avez la chance d'avoir des ostreams dans votre environnement intégré, vous pouvez toujours remplacer l'opérateur < <.