Example #1
0
        public WisePin(string name,
                       WiseBoard brd,
                       DigitalPortType port,
                       int bit,
                       DigitalPortDirection dir,
                       bool inverse = false,
                       Const.Direction direction = Const.Direction.None,
                       bool controlled           = false)
        {
            this.WiseName = name +
                            "@Board" +
                            (brd.type == WiseBoard.BoardType.Hard ? brd.mccBoard.BoardNum : brd.boardNum) +
                            port.ToString() +
                            "[" + bit.ToString() + "]";

            if ((daq = brd.daqs.Find(x => x.porttype == port)) == null)
            {
                throw new WiseException(this.WiseName + ": Invalid Daq spec, no " + port + " on this board");
            }
            this.dir         = dir;
            this.bit         = bit;
            this.inverse     = inverse;
            this._direction  = direction;
            this._controlled = controlled;
            daq.setDir(dir);
            if (daq.owners != null && daq.owners[bit].owner == null)
            {
                daq.setOwner(name, bit);
            }
        }
Example #2
0
        public static DaqDigest FromHardware(WiseDaq daq)
        {
            DaqDigest ret = new DaqDigest();

            ret.Value = daq.Value;

            return(ret);
        }
Example #3
0
        public static DaqMetaDigest FromHardware(WiseDaq daq)
        {
            DaqMetaDigest ret = new DaqMetaDigest()
            {
                Porttype = daq.porttype,
                Portdir  = daq.portdir,
                Nbits    = daq.nbits,
                Owners   = new List <string>(),
            };

            foreach (WiseBitOwner owner in daq.owners)
            {
                ret.Owners.Add(owner.owner);
            }

            return(ret);
        }