コード例 #1
0
        public ISolenoid CreateSolenoid(Solenoid s)
        {
            log.DebugFormat("HardwareService.CreateSolenoid()");
            ISolenoid sol;

            switch (s.HardwareType)
            {
            case "GPIO":
                log.DebugFormat("{0}", s.Address);
                ConnectorPin pin = GetGPIOPin(s.Address);
                log.DebugFormat("Got pin {0}", pin.ToString());
                sol = new GPIOSolenoid(pin, s.Name, gpio);
                break;

            case "Distributed":
                //return new DistributedSolenoid(s.Name, s.Address);
                sol = new BEM106EthernetSolenoid(s.Name, s.Address);
                break;

            case "SPI":
                sol = new SPISolenoid(s.Name, s.Address);
                break;

            default:
                throw new Exception("Unknown Solenoid type");
            }
            Solenoids.Add(sol);
            return(sol);
        }
コード例 #2
0
        public ISolenoid CreateSolenoid(Solenoid s)
        {
            switch (s.HardwareType)
            {
            case "GPIO":
                GPIOSolenoid sol = new GPIOSolenoid(s, dataServer, gpio);
                return(sol);

            case "Distributed":
                return(new DistributedSolenoid(s, dataServer));

            case "SPI":
                return(new SPISolenoid(s, dataServer));

            default:
                break;
            }
            throw new Exception("Unknown Solenoid type");
        }