Source code for pydevmgr_elt.devices.sensor.aoChannels



from pydevmgr_core import  NodeAlias1, Defaults, NodeVar
from pydevmgr_elt.base import EltDevice  

from enum import Enum

Base = EltDevice.Interface

N = Base.Node # Base Node
NC = N.Config
ND = Defaults[NC] # this typing var says that it is a Node object holding default values 
NV = NodeVar # used in Data 



class AoChannels(Base):
    class Config(Base.Config):
        ao1:               ND =  NC(suffix="ctrl.arrAO[0].lrValueUser")
        ao2:               ND =  NC(suffix="ctrl.arrAO[1].lrValueUser")
        ao3:               ND =  NC(suffix="ctrl.arrAO[2].lrValueUser")
        ao4:               ND =  NC(suffix="ctrl.arrAO[3].lrValueUser")  
        ao5:               ND =  NC(suffix="ctrl.arrAO[4].lrValueUser")
        ao6:               ND =  NC(suffix="ctrl.arrAO[5].lrValueUser")
        ao7:               ND =  NC(suffix="ctrl.arrAO[6].lrValueUser")
        ao8:               ND =  NC(suffix="ctrl.arrAO[7].lrValueUser")
        ao9:               ND =  NC(suffix="ctrl.arrAO[8].lrValueUser")
        ao10:              ND =  NC(suffix="ctrl.arrAO[9].lrValueUser")
        ao11:              ND =  NC(suffix="ctrl.arrAO[10].lrValueUser")
        ao12:              ND =  NC(suffix="ctrl.arrAO[11].lrValueUser")
        ao13:              ND =  NC(suffix="ctrl.arrAO[12].lrValueUser")
        ao14:              ND =  NC(suffix="ctrl.arrAO[13].lrValueUser")
        ao15:              ND =  NC(suffix="ctrl.arrAO[14].lrValueUser")
        ao16:              ND =  NC(suffix="ctrl.arrAO[15].lrValueUser")
        used : list = []

    @property
    def used_channels(self):
        return [getattr(self, f'ao{i}') for i in self.config.used]