Config file: Add mechanism for avoiding duplication between board & subsystem plugins
Only a few lines from the config file might differ between the board & subsystem plugins.
Example from the GT plugin:
hardwareType: serenity
libraries:
- libgt_swatch.so
service:
id: artix
class: serenity::swatch::Artix
uri: ipbuspcie-2.0:///dev/serenity_pcie/artix/h2c,/dev/serenity_pcie/artix/c2h
addressTable: file:///opt/smash/etc/serenity/base/uHAL/v0.2/top_artix.xml
processors:
- id: x0
class: gt::swatch::FinorProcessor
uri: ipbuspcie-2.0:///dev/serenity_pcie/x0/h2c,/dev/serenity_pcie/x0/c2h
- id: x1
class: gt::swatch::FinorProcessor
uri: ipbuspcie-2.0:///dev/serenity_pcie/x1/h2c,/dev/serenity_pcie/x1/c2h
frontPanel: /usr/etc/serenity-swatch/frontpanel.txt
Possible solution: extends / include field, that references the base config for the board, and allows subsystems to override some fields.