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

Latest release: which version of CanOpenNode? #223

Open
seclorum opened this issue Aug 12, 2020 · 11 comments
Open

Latest release: which version of CanOpenNode? #223

seclorum opened this issue Aug 12, 2020 · 11 comments

Comments

@seclorum
Copy link

Hi - its not possible to use the latest version of libedssharp to build CO_OD.? files for use in CanOpenNode.

Some details - version of libedssharp:
5c8f76f 2017-09-11 | Merge branch 'add_memory_regions' of https://github.com/martinwag/libedssharp into martinwag-add_memory_regions [Robin Cornelius]
.. produces CO_OD.? files that are incompatible with ..

Version of CANOpenNode:

* 2c5d685 2020-08-11 | Differentiate between SDO_C states so state can be determined in a worker thread when passed a CO_SDOclient_t pointer (#218) (HEAD -> master, origin/master, origin/HEAD) [Miles Simpson]

If anyone has a clue as to which of the latest releases of both projects still work successfully together, I'd love to hear the details. I'm currently blocked on my project because I'm kind of stumped on the synchronicity of the libedsharp libary and the CANOpenNode library versions .. they seem to have diverged somehow. If someone more knowledgeable than me can provide details as to which versions of each project work well together, I'd be very grateful ..

@robincornelius
Copy link
Owner

robincornelius commented Aug 12, 2020 via email

@robincornelius
Copy link
Owner

Yea, more testing may be required.. but i've just tested with the git heads of both projects and it works. if you go to tools->preferences and set it to CANOPENNODE_V2 the example _project.xml in the canopennode/example folder is producing an CO_OD.c/h that is compiling with out error on the latest can openode git

Please try the autobuild https://github.com/robincornelius/libedssharp/raw/gh-pages/build/OpenEDSEditor-latest.zip this us updated every time there is a push to the repository and this contains all the latest updates

@seclorum
Copy link
Author

Thanks for the headsup - I downloaded the -latest.zip and now I've tested with the V2 option set and I still run into issues with uncompilable CO_OD.? files being produced ..
./CO_OD.h:120:31: error: duplicate member 'PDO_MappingEntry' UNSIGNED32 PDO_MappingEntry;

Basically today I will spend some time going back through the revisions until I can find a matching CanOpenNode/libedssharp that produces a working Object Dictionary for my project, and I'll report my findings in case its of use for further development/testing ..

@seclorum
Copy link
Author

Here is the source EDS file I am using for this effort, in case its of use for further debugging/development .. also, as I am a relative ignoramus to CAN specs (but trying really hard), its possible I'm overlooking something obvious in this EDF that might be confusing libedssharp ..

_test.eds.tar.gz

@robincornelius
Copy link
Owner

robincornelius commented Aug 13, 2020 via email

@seclorum
Copy link
Author

One stupid question, perhaps - when I load the .EDS file in libedssharp (-latest), the document in the listview on the left is highlighted RED - does this indicate a parsing error, or some aspect of validation that libedssharp is not passing with the file? I've tried to work it out by reading the sources, but its a little obtuse ..

@robincornelius
Copy link
Owner

robincornelius commented Aug 13, 2020 via email

@seclorum
Copy link
Author

Okay thanks for the info - wasn't sure if it was relevant, but makes sense now.

In case you would like to have a bit more interaction on the debugging of things, I'm also sitting at my desk trying to work out whats going on - perhaps we could meet on Slack or something somewhere? IRC would also work.

@robincornelius
Copy link
Owner

robincornelius commented Aug 13, 2020 via email

@seclorum
Copy link
Author

Okay, just to tie off this thread a bit .. @robincornelius and I met in Slack and went through some of the issues I have had, which seem to be related to the fact that I am using Lenze Engineer 2.28.0.0 to export the EDS files, and there are some compatibility issues we discovered in this technique, which libedssharp is going to have to be updated in order to fix.

Some notes from the Slack conversation:

  • CanOpenNode requires 0x2100 Error status bits (OCTET_STRING) at least 10 bytes
  • The object 0x1800 needs to be called "Identity" not "Identity Object" and some of the child objects are named slightly wrong
  • PDO Mapping Entries need to be uniquely named
  • Event Timer entries don't make sense on Receive PDO's (dunno why Engineer got this wrong, maybe its a bug in the exporter)
  • Any VISIBLE_STRINGS in the EDS export actually have to have a value - i.e. can't just be null, best is if they have chars

Continuing on this in the next few days, hopefully @robincornelius can update with more info as he finds it in his next work session .. Thanks again @robincornelius

@robincornelius
Copy link
Owner

robincornelius commented Aug 13, 2020 via email

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

2 participants