Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
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.
How can I check that ack packet has been received or not?
If you know the answer please tell me!
Question relating to:
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.
Thanks Jason Where I can found complete description about roles of different part in debug part of red-node?
posted by 01 Nov 2017http://www.multitech.net/developer/software/lora/lora-network-server/mqtt-messages/
posted by 01 Nov 20176 years, 6 months ago.
This should work:
dot->setAck(1);
Do you have update_network_link_check_config
enabled? Disable that.