2016-09-13 10 views
2

2つの異なるRFプラットフォーム(Arm7TDMIホストからSPIを介して制御されるCC2358およびAtmel AT86RTxx)でoT-cliを稼働させてください。実際のコンパイル、リンク、またはロードの問題はありません。すべてがうまく見えます。私はスキャンし、空中のすべてのデバイスを見ることができます。リーダー/ルータはどのように認識され登録されていますか?

しかし、「開始」コマンドが発行されたとき、何らかの理由で各デバイスの状態が「リーダー」になります - ルーターはありません。それぞれMLEメッセージを送信していますが、デバイスがMLEを受信すると、ルータリストに入力されませんでした。これはの行2015のテストがmle_router.cppで失敗します。

私の状況についての更新。まず第一に、Wireshark経由で航空交通を監視する経験があった人はいますか?私はwiresharkによって解読されたMLE UPDパケットがUPDチェック合計が間違っていることを示していることに気付きました。この状態は、ターゲット、TI、Atmelの両方に存在します。どんな場合でも、これはルーターテーブルが作成されていない理由です。受信チェックサムチェックが失敗します。

+0

CCAは、3つのモードを持っていますか? – urman

+0

こんにちは "ウルマン"、どういう意味ですか?データシートごとにSPIコントロールを実装しました。マジックなし。もちろん、otxxxコールバックへのインターフェースはやや面倒だったが、クラスではない。またはあなたは特定のものを持っていましたか?ところで、ホストはDresden elektroniks deRF7arm Gatewayです。どんな場合でも、私が今決定したことは、デバイスがmleコマンドのLink Requestに応答していないことです。TLVの値が0x15で、rfcを正しく読み取れば0x00 ==送信元アドレスであるはずです。 - それは41であり、フレームには43バイトあります。 –

答えて

0

少なくとも1つのコンパイラ(Visual Studio)がmState変数を符号付きとして扱っているため、そのチェックが失敗することがあります。以下の変更を行うことは、それが修正されています。

State   mState : 3; 

unsigned int mState : 3; 
0

は、私が2(キャリアセンス)への無線設定でCCA(クリアチャネルアセスメント)モードを切り替え、別のプラットフォーム上で直面している同様の問題は参考になりました。エネルギー検出
2 - -
1キャリアセンス
3 - 1と2を組み合わせ

_Atmel AT86RTxxは、あなたがこれを行うましたかARM7TDMIのhost_ からSPIを介して制御
関連する問題