0

我正在使用 mbed 在线编译器编写程序并将其上传到多技术 mDot LoRa 收发器。我的程序基本上是关于向网关发送特定大小的数据包。在我的程序结束时,我想获得一些关于通信的统计数据。所以我被告知要使用一个名为 getStats() 的函数;这是在一个头文件(mDot.h)中。mDot.h 中提到的所有有关此功能的内容如下:

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();

所以任何想法请关于如何在我的 main.cpp 中调用此函数并在我的控制台屏幕上打印值(Up、Down、Join、JoinFails 和 MissedAcks)。非常感谢您的帮助,因为我真的需要这个..

无人

4

2 回答 2

0

怎么样:

mDot::mdot_stats stats = dot->getStats();
printf("Number of uplink packets %d\n", stats.Up);
于 2017-07-28T16:10:49.860 回答
0

假设您有 printf 可用,您可以简单地执行以下操作:

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);
}

否则,如果您有幸在嵌入式环境中拥有 ostream,您始终可以覆盖 << 运算符。

于 2017-07-28T16:11:27.517 回答