robincornelius / libedssharp

A CanOpen EDS editor and library in C# with CanOpenNode export for Object Dictionary
GNU General Public License v3.0
227 stars 134 forks source link

App delete unused mapped objects after click "Save" Button #227

Open adamusx opened 3 years ago

adamusx commented 3 years ago

Example:

Object 0x1A00: TPDO mapping parameter require subindex: 0 Number of mapped objects: 1 1 Mapped object 1 2 Mapped object 2 ... 8 Mapped object 8

All mapped objects index 1...8 (even if only 1 mapped object is used) are required for CO_Init. If there is no 8 mapped objects, CO_Init() return CO_ERROR_PARAMETERS because OD_TPDOMappingParameter_t or OD_RPDOMappingParameter_t has different structure size :

/* Verify parameters from CO_OD */ if( sizeof(OD_TPDOCommunicationParameter_t) != sizeof(CO_TPDOCommPar_t) || sizeof(OD_TPDOMappingParameter_t) != sizeof(CO_TPDOMapPar_t) || sizeof(OD_RPDOCommunicationParameter_t) != sizeof(CO_RPDOCommPar_t) || sizeof(OD_RPDOMappingParameter_t) != sizeof(CO_RPDOMapPar_t)) { return CO_ERROR_PARAMETERS; }

It happens after click "Save" button on Tab "TX PDO Mapping/ RX PDO Mapping". Application automatically remove unusned mapped objects.

margce commented 3 years ago

I'm experiencing the same issue, I need to edit the output files manually so it's compatible with the canopennode libraries.