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); } }
public static DaqDigest FromHardware(WiseDaq daq) { DaqDigest ret = new DaqDigest(); ret.Value = daq.Value; return(ret); }
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); }