mDot Time between transmits using libmDot-mbed5
Tagged: libmDot-mbed5, mDot
- This topic has 5 replies, 3 voices, and was last updated 8 years ago by Jason Reiss.
-
AuthorPosts
-
October 28, 2016 at 10:08 am #15186Chad GoyetteParticipant
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 dBmOctober 28, 2016 at 11:35 am #15192Jason ReissKeymasterThe 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()
October 28, 2016 at 12:40 pm #15193Chad GoyetteParticipantDoes 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?
- This reply was modified 8 years ago by Chad Goyette.
October 31, 2016 at 5:51 am #15199Andrew LindsayParticipantThe receive windows are there for downlink messages too.
November 3, 2016 at 5:27 am #15284Chad GoyetteParticipantUnderstood,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);November 3, 2016 at 3:44 pm #15325Jason ReissKeymasterDisable ACK and call cancelRxWindow() after a non-blocking send call to cancel the pending rx windows.
This should allow the next send to succeed.
-
AuthorPosts
- You must be logged in to reply to this topic.