mDot Time between transmits using libmDot-mbed5

Home Forums mDot/xDot mDot Time between transmits using libmDot-mbed5

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #15186
    Chad Goyette
    Participant

    In my application I require at times 5 data packets to be sent one right after the other. Since changing from libmDot to libmDot-mbed5 I am noticing significant time difference in running the send function with the same size packets and same config setup. Using libmDot the send function takes .434 seconds to complete, and now with libmDot-mbed5 I am seeing 2.556 seconds to complete. Is there something that I am missing in the new library that i have to configure to avoid this delay?
    setup details:
    Joining network…
    [INFO] Send join request RxDelay: 1 Rx1Offset: 0 Rx2Freq: 923300000 Rx2Dr: 8
    [INFO] Configure radio for TX
    [INFO] Configure radio for TX
    [INFO] Configure radio for TX
    [INFO] Rx Window 1
    [INFO] RxDone 17 bytes RSSI: -1 dB SNR: 77 cB
    [INFO] Network joined
    [INFO] Packet RSSI: -1 dB SNR: 77 cB
    Network Joined!
    [INFO] =====================
    [INFO] general configuration
    [INFO] =====================
    [INFO] version —————— 2.0.15-mbed127
    [INFO] device ID/EUI ———— 008000000000af42
    [INFO] frequency band ———– US915
    [INFO] frequency sub band ——- 1
    [INFO] public network ———– off
    [INFO] =========================
    [INFO] credentials configuration
    [INFO] =========================
    [INFO] device class ————- A
    [INFO] network join mode ——– OTA
    [INFO] network name ————- XXXXXXXX
    [INFO] network phrase ———– XXXXXXXX
    [INFO] network EUI ————– xxxxxxxxx
    [INFO] network KEY ————– xxxxxxxxx
    [INFO] ========================
    [INFO] communication parameters
    [INFO] ========================
    [INFO] acks ——————— off, 0 attempts
    [INFO] TX datarate ————– DR0
    [INFO] TX power —————– 20 dBm
    [INFO] atnenna gain ————- 3 dBm

    #15192
    Jason Reiss
    Keymaster

    The library is waiting for the receive windows to expire before allowing another packet to be sent.

    Use this function to cancel the receive windows and allow the library to send again.

    mDot.h

    void mDot::cancelRxWindow()

    #15193
    Chad Goyette
    Participant

    Does this function cancel all receive windows or does it have to be called repeatedly? I called it in the beginning of my code but it doesn’t seem to effect the delay I am dealing with.

    When acks are disabled shouldn’t the library disable the receive windows?

    #15199
    Andrew Lindsay
    Participant

    The receive windows are there for downlink messages too.

    #15284
    Chad Goyette
    Participant

    Understood,in addition to disabling ACK’s I also have setTxWait disabled which should ignore the Rx windows but its not. I actually have no change when setTxWait is either enabled or disabled.
    /** Enable/disable TX waiting for rx windows
    * when enabled, send calls will block until a packet is received or RX timeout
    * @param enable set to true if expecting responses to transmitted packets
    * @returns MDOT_OK if success
    */
    int32_t setTxWait(const bool& enable);

    #15325
    Jason Reiss
    Keymaster

    Disable ACK and call cancelRxWindow() after a non-blocking send call to cancel the pending rx windows.

    This should allow the next send to succeed.

Viewing 6 posts - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.