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

Does LIN support exist? And where can I find the other machine-to-machine connections' source code? #751

Open
bmk-linak opened this issue Feb 14, 2025 · 1 comment

Comments

@bmk-linak
Copy link

bmk-linak commented Feb 14, 2025

About LIN support existing in the first place

I am currently convinced that I will need to emulate LIN communication for something I'm working on. I have read about machine-to-machine connections in Renode's documentation and seen that there are multiple other communication protocols that are already established, but no sign of any Renode implementations of LIN.

Firstly, I would like to know:
Is there a LIN implementation, and I just missed it somehow?

About machine-to-machine connection source code

I am quite confident that Renode has no LIN support (but would like to be proven wrong), so I have already been looking for a way to implement it myself. Modifying one of the already existing machine-to-machine connection features seems like the most realistic way for me to do this, but somehow I am unable to find any kind of source files for them.

I have used Visual Studio Code's search feature on my copy of the Renode repository (only changes I can recall having made are adding a .repl file and getting Renode to generate some save states and Robot Framework logs) to look for each of the four hub/connector creation methods, and I even used it to scan my PC's entire C: drive for CreateCANHub in particular. Neither gave any results for any source code where they're defined despite the fact that I can at least create these hub/connector objects in the Monitor, so I can only assume that however they were programmed, the source code has already been compiled and, for one reason or another, not provided as part of the repository.

So my second question is this:
Where can I find the source code for the machine-to-machine connection features? (I would like to know even if there already is some kind of LIN support; the knowledge might come in handy)

Do you plan to address this issue and file a PR?

I intend to expand Renode to include machine-to-machine connections through LIN if this does not already exist. I can, however, not guarantee that practical concerns (time constraints, code standards, my company's trade secret policy...) will not prevent me from filing a pull request, or even that I will ever finish programming this expansion.

@bmk-linak
Copy link
Author

UPDATE: I have asked Renode Support for help on this issue, and I have gotten a helpful answer (I was lacking the renode_infrastructure submodule, and it contains some LIN support facilities, so I had to clone Renode (I had originally used the .msi installer), run git submodule update --init --recursive and compile Renode myself). I expect to continue a conversation with them on this matter.

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

No branches or pull requests

1 participant