OpenEtherCATsociety / SOES

Simple Open Source EtherCAT Slave
Other
588 stars 251 forks source link

Add more fine-grained control of default values #133

Open mheden opened 2 years ago

mheden commented 2 years ago

Add a new flag to the object dictionary that makes COE_initDefaultValues skip setting default values.

Usecase: Say that you have a object dictionary that should contain common values between all boards on a product but certain elements are have different defaults (configuration parameters, s/n, etc).

The current stack only have a "all or nothing" approach with the configuration parameter skip_default_initialization so that is not useful here. It is possible to use the set_defaults_hook and override values after they have been set to the default value. However, it felt like a better solution to just protect certain elements instead.

nakarlsson commented 2 years ago

Say that you have a object dictionary that should contain common values between all boards on a product but certain elements >are have different defaults (configuration parameters, s/n, etc).

Doesn't that require a "set_defaults_hook" anyway? Either you use the hook or use skip default and do it explicit on your own?