-
Notifications
You must be signed in to change notification settings - Fork 83
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
FreeRTOS-Plus-TCP port #239
Conversation
@bjsowa check failing test regarding the Eclipse ECA. Otherwise, we will not be able to merge this PR. Do you have a timeline for the remaining features? |
Signed-off-by: Błażej Sowa <[email protected]>
Fixed
I don't. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A first quick review.
Tests must be also provided...at least build tests.
ret = _Z_ERR_GENERIC; | ||
} | ||
|
||
ep->_iptcp->ai_addr->sin_family = FREERTOS_AF_INET4; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
isn't this value set by getaddrinfo
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unfortunately not, getaddrinfo
only sets ai_family
but does not write it to ai_addr->sin_family
. I changed it so it at least uses the value returned by getaddrinfo.
|
||
unsigned long z_clock_elapsed_ms(z_clock_t *instant) { return z_time_elapsed_ms(instant); } | ||
|
||
unsigned long z_clock_elapsed_s(z_clock_t *instant) { return z_time_elapsed_ms(instant) * 1000; } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will return seconds but useconds instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed it. It is worth noting that the emscripten port, which I used for reference, has the same issue.
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
@cguimaraes I added TCP support, some examples and CI workflow. Could you review the changes? The examples use POSIX port of FreeRTOS and network interface implementation that uses SLiRP library to emulate a userspace NAT network. I was able to use the examples on Linux in client mode with a Zenoh Router running on the host. Peer mode won't work as this port does not support incoming connections. |
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
@cguimaraes I added Multi threading support and extended Zenoh-pico API to allow passing port-specific task attributes when creating read and lease tasks (example usage in Multicast is not fully supported in FreeRTOS-Plus-TCP (see FreeRTOS/FreeRTOS-Plus-TCP#962) so I'll have to pass on UDP Multicast for now. I'll also pass on IPv6 support as I don't need it. I'll mark this PR as Ready for review once I'll have it tested on a microcontroller. |
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
Signed-off-by: Błażej Sowa <[email protected]>
I updated the PR. @p-avital Could you rerun the workflows? |
Signed-off-by: Błażej Sowa <[email protected]>
@bjsowa I've just realised that this PR is still open. In the meanwhile we have released zenoh 0.10.0 and it seems there are some conflicts to be resolved before merging. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My previous comments are addressed
Features to implement:
UDP Multicast transport(optional) IPv6 support