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); }
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"); }