-
Notifications
You must be signed in to change notification settings - Fork 54
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
J1939 address table/register #64
Comments
That's an interesting question - thank you for posting. My initial reactions is to wonder if we might not need to go down this road if #44 (subscriber not being notified of incoming address claims) could be resolved. If that issue were fixed, then a user could put in place a subscriber that creates a J1939 table suitable for their own needs. If we were to go ahead and try to add this handling to the It also might be difficult to come up with an approach that is configurable to the extent that it produces exactly the behavior that suits the needs of multiple potential users. I think that there are likely to be a few corner-cases to consider if making a table of devices - e.g.
Some of these corner cases might be interesting to some users, but not interesting to others. If we give users the means to create a subscriber that creates a J1939 address table, then we give them the power to focus on just the items they care about. Thoughts...? |
I missed to post my problem. Actually, I need to know the list of ECU connected in the network. So, I thought of having table to look into it. I agree with you. If we go with table, it may complicate. I think, we can fix the subscriber(#44) issue. Regards corner case, Interesting to know multiple device with same Name. But, if those devices are get connected in the network. Will it not create race condition? One more thought, is it fine to request 0xEE00 (Address Claim) via 0xEA00 (Request) while
|
This is just my own opinion, but I feel that it would be better to avoid putting more actions into the Your idea of broadcasting a global request for address claims feels like a different thing to me, and may not be universally appropriate during start-up of a CA. However, you are still free to write some client code that calls public method One thing that I have realized recently (maybe it might be useful to you, depending on your circumstances) is that it is possible to use a CA without going through the process of address arbitration (the state-machine that is invoked when calling Even more simple (again, depending on your circumstances), you might be able to avoid using a CA altogether, by calling Regarding the corner case of multiple devices with the same name, I think that people who make such devices hope that there will only ever be one such device on a given CAN bus. I'm not sure what will happen if two were put onto the same bus - hopefully at least one of them will go silent 😎 . |
Thinking of having the j1939 address dict/tabel/register in the ECU class where it reads all the address claim messages and keeps with name {int: Name}
The text was updated successfully, but these errors were encountered: