ACK とは??

このトピックには 6 返信 、 2 ボイス が含まれます。 最終更新 by  Lazuriteの開発者 1号 1 年、 9 月 前.

表示中の投稿 1 (合計 7 中)
  • 著者
    投稿
  • #2078

    Naka

    ACK とは、何でしょうか?

    3つ、質問があります…

    • 子機から、親機にデータ送信したときに、親機は、子機に、何か送るのでしょうか?
    • 子機の受信がOFF状態( SubGHz.rxDisable )でも、子機は、何か受け取るのでしょうか?それともエラーになるとか?
    • PANID=0xFFFF, Address=0xFFFF では、何か状況が変わりますか?
    #2102

    Lazuriteの開発者 1号
    キーマスター

    ACKとは受信機が受け取ったことを送信機側に知らせる信号です。
    送信機側はSubGHz.send関数の中で、受信機側は受信処理の中で自動で処理をしておりますので、ソフトウエアの外部から処理をする必要はありません。

    サンプルプログラムでは使用しておりませんが、SubGHz.send関数の戻り値から送信するACKを送信機が受け取ったか知ることができます。
    なお、送信機がACKを受け取らなかったのか、受信機がデータを受け取らなかったのかを知ることはできません。

    #2105

    Naka

    送信したら、すぐに受信もする、、という形になるかと思いますが、
    送信側が、ASK と一緒に、RSSI 値を、知ることは、可能でしょうか?

    送信側から、
    受信側でどれぐらいの RSSI 値で、受信できているのかを、しりたいのです。

    #2107

    Lazuriteの開発者 1号
    キーマスター

    送信機が受信機のRSSIを知ることはできませんが、受信機が送信したACKのRSSIは知ることができます。
    SUBGHZ_STATUS tx;
    SubGHz.getStatus(&tx, NULL);

    「tx.rssi」がRSSIの値になります。

    #2112

    Naka

    受信すると、必ず内部で送信する動作のようですが、
    この送信を、止めるには、自分でドライバーを書き換えるしかないでしょうか?

    あるいは、受信後の送信に情報を追加で乗せたいのですが、たとえば、受信時の rssi 情報や、時間を
    送信側に、戻したいのですが、どのあたりのコードが該当するでしょうか?

    送受信ともに、ドライバーを書き換える必要があるかと思いますが。。。

    #2113

    Naka

    受信側が、受信後、ACK を送信するのは、どのあたりのコードでしょうか?

    bp3596.c
    ml7396.c
    subghz_api.c

    と、にらめっこしているのですが、なかなか、わからず。
    受信して、その後の自動送信の部分が見つかりません。

    関数名だけでも、教えていただけると、助かります。

    #2116

    Lazuriteの開発者 1号
    キーマスター

    こちらで提供しているプログラムで無線性能を測定して提供しております。変更しないようにお願いします。

    単純にACK送信を止めたいだけの場合は、SubGHz.init関数の後に次のコードを追加してください。

    SubGHz.init(); // initializing Sub-GHz
    SubGHz.getSendMode(&param);
    param.addrType = 4;
    SubGHz.setSendMode(&param);
    送信機側のアドレスを省略するモードでデータを送信しますので、自動的にackを返さなくなります。

表示中の投稿 1 (合計 7 中)

フォーラム「Lazurite Basic/Sub-GHzのソフトウエアについて」は閉鎖されていて、新しいトピックも返信もできません。