-
Notifications
You must be signed in to change notification settings - Fork 547
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
Support outgoing connections #589
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ec7bc57
to
cdb48e5
Compare
cdb48e5
to
d88e0b7
Compare
27cdec3
to
205f7c0
Compare
205f7c0
to
d157417
Compare
d157417
to
f559125
Compare
b7d1287
to
3449f64
Compare
bb02fa2
to
ecb35e8
Compare
a69e829
to
d5e6509
Compare
d044972
to
7a514bb
Compare
7a514bb
to
851bea4
Compare
dc42
approved these changes
Feb 5, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
RRF-side support for creation of outgoing connections (see Duet3D/WiFiSocketServerRTOS#42).
As a demonstration, connecting to an MQTT broker and publishing messages via
M118
is implemented. The RRF MQTT client is implemented using MQTT-C.The MQTT client can be configured using the
M586
command. The designated MQTT protocol number is 5. It adds a new parameterH
to specify the broker IP address.A new fractional command
M586.X
is also introduced (X = 5 for MQTT, can be used for other client protocols in the future). This allows further configuration of the MQTT client like setting the username, password, etc.C
- Client IDU
,K
- Username and password ()S
,Q
- Subcription topic and corresponding QOSP
,D
,R
,Q
- Publish settings: topic, duplicate flag, retain flag, QOSW
,T
- Will message and topicTo publish an MQTT message via
M118
, use parameterP6
.A small demonstration is described in Tools/mqttecho/README.md
Code/Data Size
Static:
Without PR:
With PR:
Dynamic:
Creating an
MqttClient
object allocates 2K and 1K for send and receive buffers. Memory for username, password, subscriptions, publish topic, client ID, will message and topic are allocated dynamically and whose sizes depend on user-given values throughM586.X
.