無線構成
このモジュールには、無線構成のためのプラットフォーム抽象化が含まれています。
概要
関数 |
|
---|---|
otPlatRadioGetBusSpeed(otInstance *aInstance)
|
uint32_t
ホストと無線チップ間のバス速度をビット/秒で取得します。
|
otPlatRadioGetCaps(otInstance *aInstance)
|
ラジオ機能を取得する。
|
otPlatRadioGetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t *aThreshold)
|
IEEE 802.15.4 - 2015 のセクション 10.1.4 に従って、アンテナ コネクタで測定された無線の CCA ED しきい値を dBm 単位で取得します。
|
otPlatRadioGetFemLnaGain(otInstance *aInstance, int8_t *aGain)
|
外部 FEM の Rx LNA ゲインを dBm 単位で取得します。
|
otPlatRadioGetIeeeEui64(otInstance *aInstance, uint8_t *aIeeeEui64)
|
void
このインターフェースに工場に割り当てられた IEEE EUI-64 を取得します。
|
otPlatRadioGetNow(otInstance *aInstance)
|
uint64_t
連続する単調なローカル無線時計(64 ビット幅)を基準に、現在の時刻をマイクロ秒単位で取得します。
|
otPlatRadioGetPromiscuous(otInstance *aInstance)
|
bool
プロミスキャス モードのステータスを取得します。
|
otPlatRadioGetReceiveSensitivity(otInstance *aInstance)
|
int8_t
無線受信の感度の値を取得します。
|
otPlatRadioGetTransmitPower(otInstance *aInstance, int8_t *aPower)
|
無線の送信電力を dBm 単位で取得します。
|
otPlatRadioGetVersionString(otInstance *aInstance)
|
const char *
ラジオ バージョン文字列を取得します。
|
otPlatRadioSetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t aThreshold)
|
IEEE 802.15.4 ~ 2015 のセクション 10.1.4 に従って、アンテナ コネクタで測定された無線の CCA ED しきい値を dBm 単位で設定します。
|
otPlatRadioSetExtendedAddress(otInstance *aInstance, const otExtAddress *aExtAddress)
|
void
アドレス フィルタリング用の拡張アドレスを設定します。
|
otPlatRadioSetFemLnaGain(otInstance *aInstance, int8_t aGain)
|
外部 FEM の Rx LNA ゲインを dBm 単位で設定します。
|
otPlatRadioSetMacFrameCounter(otInstance *aInstance, uint32_t aMacFrameCounter)
|
void
現在の MAC フレーム カウンタ値を設定します。
|
otPlatRadioSetMacFrameCounterIfLarger(otInstance *aInstance, uint32_t aMacFrameCounter)
|
void
新しい指定値が現在の値より大きい場合にのみ、現在の MAC フレーム カウンタ値を設定します。
|
otPlatRadioSetMacKey(otInstance *aInstance, uint8_t aKeyIdMode, uint8_t aKeyId, const otMacKeyMaterial *aPrevKey, const otMacKeyMaterial *aCurrKey, const otMacKeyMaterial *aNextKey, otRadioKeyType aKeyType)
|
void
MAC キーとキー インデックスを更新する。
|
otPlatRadioSetPanId(otInstance *aInstance, otPanId aPanId)
|
void
アドレス フィルタリング用の PAN ID を設定します。
|
otPlatRadioSetPromiscuous(otInstance *aInstance, bool aEnable)
|
void
プロミスキャス モードを有効または無効にします。
|
otPlatRadioSetRxOnWhenIdle(otInstance *aInstance, bool aEnable)
|
void
rx-on-when-idle 状態を無線プラットフォームに設定します。
|
otPlatRadioSetShortAddress(otInstance *aInstance, otShortAddress aShortAddress)
|
void
アドレス フィルタリング用の短縮アドレスを設定します。
|
otPlatRadioSetTransmitPower(otInstance *aInstance, int8_t aPower)
|
無線の送信電力を dBm 単位で設定します。
|
関数
otPlatRadioGetBusSpeed
uint32_t otPlatRadioGetBusSpeed( otInstance *aInstance )
ホストと無線チップ間のバス速度をビット/秒で取得します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
ホストと無線チップ間のバス速度(ビット/秒)。MAC アドレス以上のレイヤと無線レイヤが同じチップ上にある場合は、0 を返します。
|
otPlatRadioGetCaps
otRadioCaps otPlatRadioGetCaps( otInstance *aInstance )
ラジオ機能を取得する。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
無線機能ビットベクトル(
OT_RADIO_CAP_* 定義を参照)。 |
otPlatRadioGetCcaEnergyDetectThreshold
otError otPlatRadioGetCcaEnergyDetectThreshold( otInstance *aInstance, int8_t *aThreshold )
IEEE 802.15.4 - 2015 のセクション 10.1.4 に従って、アンテナ コネクタで測定された無線の CCA ED しきい値を dBm 単位で取得します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
otPlatRadioGetFemLnaGain
otError otPlatRadioGetFemLnaGain( otInstance *aInstance, int8_t *aGain )
外部 FEM の Rx LNA ゲインを dBm 単位で取得します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
otPlatRadioGetIeeeEui64
void otPlatRadioGetIeeeEui64( otInstance *aInstance, uint8_t *aIeeeEui64 )
このインターフェースに工場に割り当てられた IEEE EUI-64 を取得します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otPlatRadioGetNow
uint64_t otPlatRadioGetNow( otInstance *aInstance )
連続する単調なローカル無線時計(64 ビット幅)を基準に、現在の時刻をマイクロ秒単位で取得します。
無線時計は、デバイスの稼働時間中にラップされてはなりません。したがって、実装は内部カウンタのオーバーフローを特定して補正すべきです。時計には定義されたエポックがなく、連続的または不連続的な調整(うるう秒など)を導入してはなりません。実装は、デバイスのスリープ時間を補正すべきです。
実装は、公開された組み合わせクロックが otPlatRadioGetCslAccuracy によって発表された精度制限内で連続した単調マイクロ秒解像度のティックを提供する限り、任意の手段(高精度/低消費電力 RTC と高分解能カウンタを組み合わせるなど)によって、無線クロックを研究し、スリープ時間を補正することを選択しても構いません。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
現在の時刻(マイクロ秒単位)。UINT64_MAX: プラットフォームがサポートされていないか、無線通信の時刻の準備が整っていない場合。
|
otPlatRadioGetPromiscuous
bool otPlatRadioGetPromiscuous( otInstance *aInstance )
プロミスキャス モードのステータスを取得します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otPlatRadioGetReceiveSensitivity
int8_t otPlatRadioGetReceiveSensitivity( otInstance *aInstance )
無線受信の感度の値を取得します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
無線受信感度の値(dBm 単位)。
|
otPlatRadioGetTransmitPower
otError otPlatRadioGetTransmitPower( otInstance *aInstance, int8_t *aPower )
無線の送信電力を dBm 単位で取得します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
otPlatRadioGetVersionString
const char * otPlatRadioGetVersionString( otInstance *aInstance )
ラジオ バージョン文字列を取得します。
これはオプションのラジオドライバ プラットフォーム機能です。プラットフォームの無線ドライバから提供されていない場合、OpenThread は代わりに OpenThread バージョンを使用します(
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
OpenThread 無線バージョンへのポインタ。
|
otGetVersionString() もご覧ください)。
otPlatRadioSetCcaEnergyDetectThreshold
otError otPlatRadioSetCcaEnergyDetectThreshold( otInstance *aInstance, int8_t aThreshold )
IEEE 802.15.4 ~ 2015 のセクション 10.1.4 に従って、アンテナ コネクタで測定された無線の CCA ED しきい値を dBm 単位で設定します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
otPlatRadioSetExtendedAddress
void otPlatRadioSetExtendedAddress( otInstance *aInstance, const otExtAddress *aExtAddress )
アドレス フィルタリング用の拡張アドレスを設定します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otPlatRadioSetFemLnaGain
otError otPlatRadioSetFemLnaGain( otInstance *aInstance, int8_t aGain )
外部 FEM の Rx LNA ゲインを dBm 単位で設定します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otPlatRadioSetMacFrameCounter
void otPlatRadioSetMacFrameCounter( otInstance *aInstance, uint32_t aMacFrameCounter )
現在の MAC フレーム カウンタ値を設定します。
無線通信で OT_RADIO_CAPS_TRANSMIT_SEC
機能が提供されている場合に使用します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otPlatRadioSetMacFrameCounterIfLarger
void otPlatRadioSetMacFrameCounterIfLarger( otInstance *aInstance, uint32_t aMacFrameCounter )
新しい指定値が現在の値より大きい場合にのみ、現在の MAC フレーム カウンタ値を設定します。
無線通信で OT_RADIO_CAPS_TRANSMIT_SEC
機能が提供されている場合に使用します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otPlatRadioSetMacKey
void otPlatRadioSetMacKey( otInstance *aInstance, uint8_t aKeyIdMode, uint8_t aKeyId, const otMacKeyMaterial *aPrevKey, const otMacKeyMaterial *aCurrKey, const otMacKeyMaterial *aNextKey, otRadioKeyType aKeyType )
MAC キーとキー インデックスを更新する。
無線通信が OT_RADIO_CAPS_TRANSMIT_SEC 機能を提供する場合に使用されます。
詳細 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
otPlatRadioSetPanId
void otPlatRadioSetPanId( otInstance *aInstance, otPanId aPanId )
アドレス フィルタリング用の PAN ID を設定します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otPlatRadioSetPromiscuous
void otPlatRadioSetPromiscuous( otInstance *aInstance, bool aEnable )
プロミスキャス モードを有効または無効にします。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otPlatRadioSetRxOnWhenIdle
void otPlatRadioSetRxOnWhenIdle( otInstance *aInstance, bool aEnable )
rx-on-when-idle 状態を無線プラットフォームに設定します。
デバイスが rx-off-when-idle 状態にある場合、ラジオがスリープ状態になる状況がいくつかありますが、SubMac がこうした状況を識別してラジオにスリープ状態に入るように指示することは困難で、コストもかかります。
- 通常のフレーム受信タスクの完了。ただし、次の条件を満たしている必要があります。
- フレームがエラーなく受信され、フィルタリングを通過し、不正な ACK ではない場合。
- ACK がリクエストされていないか、内部条件により ACK を送信できない。
- 送信されたフレームで ACK が要求されていない場合の、フレーム送信または ACK フレームの送信の終了。
- 以下の理由により、リクエストされた ACK の受信オペレーションの完了。
- ACK タイムアウトの有効期限。
- 無効な ACK フレームの受信、または ACK フレームではない受信。
- 適切な ACK の受信(送信されたフレームがデータ リクエスト コマンドであり、受信した ACK のフレーム保留中ビットが true に設定されている場合を除く)。この場合、無線プラットフォーム実装は、アイドル期間の開始をトリガーする決定されたタイムアウトまで、レシーバーをオンに維持すべきです。
OPENTHREAD_CONFIG_MAC_DATA_POLL_TIMEOUT
はこの点の参考として利用できます。
- スタンドアロン CCA タスクの完了。
- CSMA/CA 手順中の busy 結果を伴う CCA オペレーションの終了処理。
- エネルギー検知タスクの完了。
otPlatRadioReceiveAt
でスケジュールされた無線受信ウィンドウのファイナライズ。
プラットフォームが OT_RADIO_CAPS_RX_ON_WHEN_IDLE
をサポートしている場合は、OT_RADIO_CAPS_CSMA_BACKOFF
もサポートし、前述のように CCA 後のアイドル期間を処理する必要があります。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otPlatRadioSetShortAddress
void otPlatRadioSetShortAddress( otInstance *aInstance, otShortAddress aShortAddress )
アドレス フィルタリング用の短縮アドレスを設定します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otPlatRadioSetTransmitPower
otError otPlatRadioSetTransmitPower( otInstance *aInstance, int8_t aPower )
無線の送信電力を dBm 単位で設定します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
関連情報
OpenThread API リファレンスのトピックは、GitHub で入手できるソースコードに由来しています。 詳細について、またはドキュメントへの投稿については、リソースをご覧ください。