Caution
現在部で使用していないため動作するか不明です。
flowchart LR
subgraph 送信者
送信マイコン[マイコン] --UART--> 送信Im920[IM920]
end
送信Im920[IM920] -.920MHz.-> 受信Im920[IM920]
subgraph 受信者
受信Im920[IM920] --UART--> 受信マイコン[マイコン]
end
#include <Udon/Com/Im920.hpp>
通信するモジュール同士はあらかじめペアリングされている必要があります。ペアリング方法はインタープラン社の公式ページを参照ください。
IM920 通信クラスは、通信モジュールクラス、送受信クラスから構成されています。
一対一での通信のみ対応しています。
使用するモジュールの種類によって使用するクラスを切り替えます。
Udon::Im920
Udon::Im920s
Udon::Im920sL
コンストラクタの引数に Im920 と通信するシリアルクラスのインスタンスを指定します。詳細は送受信クラスのサンプルを参照してください。
Udon::Im920Writer<T>
T
に指定された型のオブジェクトを Im920 へ送信します。
#include <Udon.hpp>
Udon::Im920 im920{ Serial1 };
Udon::Im920Writer<Udon::Vec2> writer{ im920 };
void setup()
{
im920.begin(13); // チャンネル番号
}
void loop()
{
im920.update();
writer.setMessage({ (double)millis(), (double)micros() });
delay(10);
}
Udon::Im920Reader<T>
T
に指定された型のオブジェクトを Im920 から受信します。
#include <Udon.hpp>
Udon::Im920 im920{ Serial1 }; // Im920と通信するシリアルクラスのインスタンスを指定
Udon::Im920Reader<Udon::Vec2> reader{ im920 };
void setup()
{
Serial.begin(115200);
im920.begin(13); // チャンネル番号
}
void loop()
{
im920.update();
if (const auto message = reader.getMessage())
{
message->show();
}
else
{
Serial.print("receive failed");
}
Serial.println();
delay(10);
}