Hardware component map and FSE planning
Overview
FSE(Functional Sub-Element) establishes bridges between component models (Photodiode, Pump, TEC, etc.) and hardware drivers (ADC, DAC, DIO, Engine, etc.), usually described by mapping rules. In another words, component model defines generic business logic supported by various hardware drivers. From implementation perspective, the mapping rules should establish bridges between CFG items and device tree.
The variance of hardware (sometimes dirty work) should be handled by FSE, therefore FSE needs to be diversified, which is well supported by inheritance feature in C++ language. A line-card product may be a complex that consists of many copies of control blocks using the same architecture. In such case, FSE will be instantiated as multiple objects.