6 years, 6 months ago.

How enable ACK mechanism for mDot?

Anyone can tell me how to enable ACK for mdot? I changed (static uint8_t ack = 0;) in ota_example.cpp to (static uint8_t ack = 1;) and add below code to this example. set ack dot-> setAck(2); But I yet receive "ack": false in debug part of red-node in conduit.

/media/uploads/mparsa/capture.png

How can I check that ack packet has been received or not?

If you know the answer please tell me!

Question relating to:

The MultiConnect® mDot™ offers significantly longer range and improved radio performance compared to traditional wireless solutions—resulting in greater transmission range and reduced capital expense.

2 Answers

6 years, 6 months ago.

The "ack": false in the uplink packet, from the end-device, indicates that the ACK bit for the frame was not set. This will only be true if a downlink, from the gateway, was sent requesting ACK from the mDot.

When setAck(2) is used on the mDot it will request an ACK in the a downlink frame from the Gateway. The network server will not get confirmation that the ACK was received by the mDot, this would require another uplink to ACK the ACK. You see how this would be a problem.

At the network server you would know the end-device has received the ACK or moved on to the next data-point when the frame counter is incremented ("seqn"). Since the network server filters duplicates only one message for each seqn will be received in the "up" event output by node-red lora-in node.

Accepted Answer

Thanks Jason Where I can found complete description about roles of different part in debug part of red-node?

posted by mahshad parsa 01 Nov 2017
6 years, 6 months ago.

This should work:

dot->setAck(1);

Do you have update_network_link_check_config enabled? Disable that.