CANopenNode / CANopenLinux

CANopenNode on Linux devices
Apache License 2.0
117 stars 52 forks source link

How to create custom canopen linux node with its own object dictionary #1

Open Prasannajnaeyulu opened 3 years ago

Prasannajnaeyulu commented 3 years ago

Hi It’s not an issue rather a question or help. I wanna create a CANOpen node using our own Object Dictionary .eds file. So just generating OD.c and OD.h files using Object dictionary editor and replace these new OD.c, OD.h and .eds files with the one available in CANOpennode/example and make and install the CANOpen Linux device project would do the job or something else I need to do. Can someone please advice? Thanks.

CANopenNode commented 3 years ago

Yes, you are right. You can also check https://github.com/CANopenNode/CANopenDemo/tree/master/demo

Prasannajnaeyulu commented 3 years ago

Ok. But the Object Dictionary editor from this library is not working with our can device eds file it is throwing errors. Whereas other editors able to load the file properly ( say, vector caneds is able to load successfully but it doesn't has capability to export OD.c and OD.h files). I have to make this library Object Dictionary works with our eds files so that I am able to generate required OD.c and OD.h files. Any Idea what's wrong with this library Object Dictionary? image

But I couldn't see any problem with the entry in .eds file


[2003sub1]
ParameterName=Valve1
ObjectType=0x8
DataType=0x0001
AccessType=rwr
DefaultValue=0
ObjFlags=1
Description="Control of the valve"```
CANopenNode commented 3 years ago

I'm not the author of the eds parser, I'm not sure about the problem.

Please check the parser here: https://github.com/CANopenNode/CANopenEditor/blob/2e8a14a17a7ee183225e8df7958908ce1f2b0b5f/libEDSsharp/eds.cs#L2333

Prasannajnaeyulu commented 3 years ago

Thanks for the reference. I will look into that.

CarmenMFM commented 2 years ago

Hello! I have created a CANOpen node using our own Object Dictionary using EDSEditor. However, when i put OD.h and OD.c in CANOpennode/example and sudo make in linux terminal i have next error.

ERROR_OD

Can someone please help me? Thanks!

AndreaRoberti commented 2 years ago

Hi all, We are facing the same error described by @CarmenMFM . Any update? We notice that importing our EDS file with the editor, the generated files do not contain the define macro (OD_CNT_HB_PROD or _EM_PROD)

Thanks in advance

CANopenNode commented 2 years ago

There is no automation, when importing own EDS file. CANopenNode requires some custom properties to be set, especially in communication section. It is best to use original CANopenNode project file and add own objects. See https://github.com/CANopenNode/CANopenNode/tree/master#object-dictionary-editor

OmarAtomica commented 3 months ago

Hello i have created my own Od.c & Od.h using the object dictionary editor from my .eds file however i still don't understand how can i use the canopen library with other bits of my code for example i want to build an application layer that utilizes the features of the canOpen node to operate a motor controller , so how can i integrate these codes together ?

CANopenNode commented 3 months ago

Please see CANopenDemo.