Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't let MQTT ACKs cancel LoRa transmission if it's still in the Tx queue #3191

Merged
merged 2 commits into from
Feb 9, 2024

Conversation

GUVWAF
Copy link
Member

@GUVWAF GUVWAF commented Feb 9, 2024

A user on Discord reported that packets were still not sent out via LoRa if MQTT uplink was enabled.
Looks like if you have a fast internet connection (or local MQTT server), a packet may be ACKed via MQTT during the small delay we add before transmitting via LoRa. To avoid canceling this packet (removing it from the LoRa Tx queue), I now check if we have less than NUM_RETRANSMISSIONS - 1 left, which is the original setting:

numRetransmissions = NUM_RETRANSMISSIONS - 1; // We subtract one, because we assume the user just did the first send

Meaning we've not yet decremented it due to a failed transmission.

To avoid canceling a transmission if it was already ACKed via MQTT
thebentern added a commit to meshtastic/artifacts that referenced this pull request Feb 9, 2024
@thebentern thebentern merged commit bcbc2f2 into meshtastic:master Feb 9, 2024
64 checks passed
mverch67 pushed a commit that referenced this pull request Feb 12, 2024
…3191)

To avoid canceling a transmission if it was already ACKed via MQTT

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
ut3uku added a commit to meshtastic-ua/firmware that referenced this pull request Feb 17, 2024
@GUVWAF GUVWAF deleted the MQTTLoRaACK branch February 18, 2024 13:22
nimnull pushed a commit to meshtastic-ua/firmware that referenced this pull request May 2, 2024
nimnull added a commit to meshtastic-ua/firmware that referenced this pull request May 2, 2024
* feat: [none] Added permissions for flawfinder workflow

* fixed initial capped queue implementation. Added enque check for maxElements in queue.size()

* Turned off wantReply for new nodes observed in chat

* Increased smart position min distance broadcast to 1km. Set min interval for position broadcast to 1min. Smart position broadcast disabled by default

* Added Ukrainian localisation. Added v1_APRS DIY variant

* Ukrainian localisation in extracted ScreenFonts.h

* Added missed maxElements slot into the TypedQueue

* UA fonts update

* Replaced EInk UA font with 16pt. Enabled UA Font for t-deck

* Add NiceRF based module, change some default settings

* Don't let MQTT ACKs cancel LoRa transmission if it's still in the Tx queue by @GUVWAF in meshtastic#3191

* Change font for tdeck

* Added UA fonts for t-deck

* Update UA fonts

* Sex with fonts & splash screen

* Switched default oled font to UA

* fix techo splash screen

* fix compass

* fix compass & some bug, cleaning code

* fix compass

* Fixed version number in properties. Added meshtastic-diy-NiceRF board

* Fixed build matrix for meshtastic-diy-NiceRF

* fix NiceRf power config

* Fix Meshtastic APRS board

* Updated github workflow persmissions

* Updated github workflow persmissions for contents and packages

* Added dockerhub creds variables

* Updated docker repo path for device sim

* Dropped properties PR & bump

---------

Co-authored-by: Yehor Nazarkin <ynazarkin@healthjoy.com>
Co-authored-by: UT3UKU <serhii.bondarenko@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants