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

File Server Client #216

Open
2 tasks
ad3154 opened this issue Mar 16, 2023 · 3 comments
Open
2 tasks

File Server Client #216

ad3154 opened this issue Mar 16, 2023 · 3 comments
Assignees
Labels
enhancement New feature or request iso: file server Related to the ISO-11783-13 standard

Comments

@ad3154
Copy link
Member

ad3154 commented Mar 16, 2023

One major feature still missing (but started) is the ISOBUS file server client. So I am making this issue to track it, and so we can create a 1.0 milestone with it and other things that come up.

  • Add file server client interface
  • >=80% Unit test coverage

Side note, I know John Deere does File server (server side) in a way that I would call... bad. So if anyone has a John Deere terminal out there like a Greenstar 3 2630 or a 4th generation terminal of some kind, hit me up and we can test it!

@ad3154 ad3154 added the enhancement New feature or request label Mar 16, 2023
@ad3154 ad3154 self-assigned this Mar 16, 2023
@ad3154 ad3154 added this to the 1.0.0 Features milestone Mar 16, 2023
@bjoernpoettker
Copy link

Hi,
I have two JD 4640 Terminals here, one on a Fendt tractor as taskcontroller for a manure spreader with a harvest lab and the second on a 9900i. Next to those I have got some CCI terminals (200, 800, 1200), an Amazone AmaTron 4 and Fendt terminals. If I can help you let me know!

@GwnDaan GwnDaan added the iso: file server Related to the ISO-11783-13 standard label Nov 10, 2023
@nullr0ute
Copy link

Someone has done an initial file server/client for the linux can-utils, not sure if that can be used/integrated for use here. Details: https://lore.kernel.org/lkml/[email protected]/T/#u

@ad3154
Copy link
Member Author

ad3154 commented Mar 28, 2024

Someone has done an initial file server/client for the linux can-utils, not sure if that can be used/integrated for use here. Details: https://lore.kernel.org/lkml/[email protected]/T/#u

Hello! I appreciate you pointing this out.

To be totally transparent here, I am not a fan of the kernel implementation of any of their J1939 or ISOBUS features. They are certainly "neat", and I appreciate the work of the devs expanding these features, but IMO those features are more or less useless for functional ISOBUS implement applications with more than trivial complexity. They obfuscate or at least deprioritize understanding of key concepts like control functions, they have an interface which I understand is blocking on transport sessions (like, the socket can't be used if it's sending a transport layer message) which makes it useless to me because multiple parallel protocols must be supported on an ISOBUS, and other reasons....

But my feelings aside, I don't think it is particularly useful for a number of technical reasons as well.

  1. The license is more restrictive than ours (they are GPL 2.0), so we're already prevented from using it because of that
  2. It's C, and we're targeting C++ for core functionality
  3. It has socket CAN and other OS specific dependencies, whereas our implementation must be platform agnostic
  4. My understanding is that the kernel J1939 interface (and this by proxy) obfuscates the network management layer of the bus too much for it to be useful to us, and generally is synchronous, which both don't play well with our project.

We could use it as reference material, to see how they solved certain problems, but in the end I think the way we get the best result in our library is by using the ISO11783-13 standard to drive the interface's structure.

Our implementation of the FS client has admittedly been slow for a few reasons, but we'll get it done! It is mostly functional already, but if I recall correctly it just needs better support for parallel operations and unit test improvements. That, and some refactoring of our network manager, are the last things standing between us and a 1.0.0 release of the library I think.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request iso: file server Related to the ISO-11783-13 standard
Projects
None yet
Development

No branches or pull requests

4 participants