You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'd like to perform some refactoring to achieve the following aims:
Developers who add new device driver don't need to write any manager class code or YAML parsing code (only define the fastcat_types.yaml)
Formalize device configuration with a std::variant typedef'ed to DeviceConfig to permit querying the device in programmatic manner through the manager
Auto-code the parsing of configuration to potentially enable other configuration vendors (e.g. JSON rather than just YAML via libyaml-cpp)
Add runtime-parameters (see the FTS device) If provided in the YAML, set to the override but then permit setting and retriving by runtime commands and responses
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.
Refactor the fastcat_types.yaml and minimally modify the autocoder to deliver the current set of functionality
Implement the automated YAML-to-DeviceConfig parsing and modify the DeviceBase::ConfigFromYaml() method to DeviceBase::Config(DeviceConfig) and DeviceBase::Initialize()
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
Add support for Device Runtime parameters, like FTS guard limits, configured from within the fastcat_types.yaml
The text was updated successfully, but these errors were encountered:
I'd like to perform some refactoring to achieve the following aims:
fastcat_types.yaml
)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.The text was updated successfully, but these errors were encountered: