Create Pcu abstract class and make OsmoPcu inherit from it This base class will be used to describe the required accessors for all PCU objects. It is introduced in this commit and will be further used in the future when adding a Dummy PCU object which will be used by NanoBts object. Change-Id: Ia3fd4551d1f2932362f99f7d44d65f8ae4fd1979
Create Bts abstract class and make OsmoBts inherit from it This base class will be used to describe the required accessors for all BTS objects, be it an osmocom BTS or not. It is introduced in this commit and will be further used in the future when adding a NanoBts object. Change-Id: Ic13133e61abda73a8b507c1a1bd7b98c677460f9
pcu.py: Introduce PcuDummy class It will be used in later commits by BTS without proper PCU control such as NanoBts. Change-Id: I37ba38f7d81134e5f0ca28fa684fdb09c753bb04
Introduce PowerSupply interface and PowerSupplySispm File powersupply.py defines the interface to be used by child classes implementing it. It also provides helpers to allocate a child class based on configuration provided ('type' field). File powersupply_sispm.py is an implementation using pysispm [1], as it's the one used to control the programmable power socket we have right now. This kind of class will be used in later commits by Nanobts class, as we want to poweroff the Nanobts completelly when not in use. Using it requires the following extra dependencies: $ apt-get install python3-usb $ pip3 install pysispm Related: OS#3040 [1] https://github.com/xypron/pysispm Change-Id: I981c260eca1a61657147e6d83b4226618088223c