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

Generate init code for co config t #257

Open cfr-mir opened 3 years ago

cfr-mir commented 3 years ago

This PR adds generation of a C macro, which is able to initialize a CO_config_t structure.

So you can write: CO_config_t myConfig; xxx_OD_INIT_CONFIG(myConfig)

Below are a small sample of the macro in our project:

#define CO_PowerBoard_OD_INIT_CONFIG(config) {\ (config).CNT_NMT=1;\ (config).ENTRY_H1017=CO_PowerBoard_OD_ENTRY_H1017_producerHeartbeatTime;\ (config).CNT_HB_CONS=16;\ (config).ENTRY_H1016=CO_PowerBoard_OD_ENTRY_H1016_consumerHeartbeatTime;\ (config).CNT_EM=1;\ (config).ENTRY_H1001=CO_PowerBoard_OD_ENTRY_H1001_errorRegister;\ (config).ENTRY_H1014=CO_PowerBoard_OD_ENTRY_H1014_emcyCOBID;\ (config).ENTRY_H1015=CO_PowerBoard_OD_ENTRY_H1015_inhibitTimeEMCY;\ (config).ENTRY_H1003=CO_PowerBoard_OD_ENTRY_H1003_pre_definedErrorField;\ (config).CNT_SDO_SRV=1;\ (config).ENTRY_H1200=CO_PowerBoard_OD_ENTRY_H1200_serverSDO_Parameter;\ (config).CNT_SDO_CLI=6;\ (config).ENTRY_H1280=CO_PowerBoard_OD_ENTRY_H1280_clientSDO_1_Parameter;\ (config).CNT_TIME=0;\ (config).ENTRY_H1012=NULL;\ (config).CNT_SYNC=1;\

CANopenNode commented 3 years ago

This PR is now included in https://github.com/CANopenNode/CANopenEditor. I also added some other features, see https://github.com/CANopenNode/CANopenNode/issues/314.

This PR is not relevant here any more.