オシロスコープのヘッダー ファイルで Nreadings を 1 から 2 に変更すると、1 つのセンサーから 4 バイトのデータを取得することになります。私の疑問は、これらの 4 バイトが異なる瞬間に 2 セットの 2 バイトの形式であるかどうかです。もしそうなら、私はそれらを表示する前にこれらの 2 つのセットを平均する必要がありますか?
1 に答える
0
オシロスコープ アプリケーションは、一定の間隔 (DEFAULT_INTERVALヘッダー ファイルで定義) ごとにセンサーをサンプリングし、サンプルを収集するとすぐに、NREADINGSこれらの読み取り値を含むパケットを送信します。次に、読み値カウンタがゼロにリセットされます。
したがって、 に変更NREADINGSすると2、2 サンプルごとにパケットが送信されます (2 つの読み取り値が含まれます)。サンプルのサイズは 2 バイト ( uint16_t) であるため、1 パケットあたり 4 バイトの読み取りデータが得られます。そのようなデータをどうするかは、何を達成したいかによって異なります。Oscilloscope には、BaseStation アプリケーションが受信したデータをグラフに表示する Java アプリケーションが付属しています ( README.txtを参照)。
すべてがソースコードで説明されていると思います:
/* Number of readings per message. If you increase this, you may have to
increase the message_t size. */
NREADINGS = 10,
そしてパケット定義:
typedef nx_struct oscilloscope {
nx_uint16_t version; /* Version of the interval. */
nx_uint16_t interval; /* Samping period. */
nx_uint16_t id; /* Mote id of sending mote. */
nx_uint16_t count; /* The readings are samples count * NREADINGS onwards */
nx_uint16_t readings[NREADINGS];
} oscilloscope_t;
于 2015-02-12T19:20:14.363 に答える