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

[NEW FEATURE] Multiple kind of network #429

Closed
8 tasks done
nicolas-rabault opened this issue Mar 22, 2023 · 0 comments · Fixed by #435
Closed
8 tasks done

[NEW FEATURE] Multiple kind of network #429

nicolas-rabault opened this issue Mar 22, 2023 · 0 comments · Fixed by #435
Assignees
Labels
advanced Advanced skills are needed for this subject multi-phy Deal with multiple network at the same time
Milestone

Comments

@nicolas-rabault
Copy link
Member

nicolas-rabault commented Mar 22, 2023

Multiple kind of network

Based on #428 , the multi-phy feature will allow Luos engine to deal with multiple and different networks at the same time (WiFi, CAN, Robus, …), acting like a switch. This feature will allow to deal with multiple networks on your device, multiply data bandwidth, and break the frontier between your embedded networks and your cloud or computer applications.

To allow that :

  • Reception context is saved in the phy side allowing parallel reception.
  • Phy add/remove is managed the same way services are.
  • Every phy have its own TX_job list (message to transmit to a target).
  • The node is considered as a phy (this is the localhost transportation interface)
  • Filtering is able to filter messages for any phy interface.
  • RX messages are filtered to all phy and converted into phy TX_job if needed.
  • No more dynamical size variability over time in messages allocation.

image
image

User point of view

This new version should not change anything on the service development side. A few API may be changed but services algorithm shouldn't change at all.
Users will have to add physical layers on the main.c the same way they are managing services (only by calling phy init).

Expected results

In the end of this project, we should have Luos services on a computer and multiple board able to exchange information and detect each other using serial communication over USB and Robus at the same time.
All services across all network should appear as a global unified architecture in the routing table.

Tasks :

  • Manage phy instanciation and dynamical phy table management
  • Deal with hardware flexible node_id listing
  • Deal with hardware efficient RX
  • Deal with hardware efficient TX
  • Simplify msg_alloc by removing reallocation.
  • Move msg_alloc tasks to phy structs
  • Modify luos_tasks to become localhost TX_job list.
  • Deal with filtering. node_id and service_id for each phy is indexed on the phy struct.
@nicolas-rabault nicolas-rabault added this to the 3.1.0 milestone Mar 23, 2023
@nicolas-rabault nicolas-rabault added advanced Advanced skills are needed for this subject multi-phy Deal with multiple network at the same time labels Mar 27, 2023
@nicolas-rabault nicolas-rabault linked a pull request Sep 18, 2023 that will close this issue
12 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
advanced Advanced skills are needed for this subject multi-phy Deal with multiple network at the same time
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants