nasa-jpl / fastcat

C++ EtherCAT Device Command & Control Library
Other
42 stars 11 forks source link

Refactor fcgen, configuration types, add parameters #96

Open alex-brinkman opened 1 year ago

alex-brinkman commented 1 year ago

I'd like to perform some refactoring to achieve the following aims:

To achieve these aims, I'm proposing a roll-out in a staged refactor consisting of the following merges. Once all these are merged to a staging branch and tested on hardware, then they can be merged to master and the staging branch deleted.

  1. Refactor the fastcat_types.yaml and minimally modify the autocoder to deliver the current set of functionality
  2. Implement the automated YAML-to-DeviceConfig parsing and modify the DeviceBase::ConfigFromYaml() method to DeviceBase::Config(DeviceConfig) and DeviceBase::Initialize()
  3. Add more autocoding to the Manager such that developers don't need to author custom code here any longer. This includes the generic DeviceConfig getter
  4. Add support for Device Runtime parameters, like FTS guard limits, configured from within the fastcat_types.yaml