/// <summary> /// Generate /// </summary> /// <param name="name">Name</param> /// <param name="parameters">Parameters</param> /// <param name="netlist">Netlist</param> /// <returns></returns> protected ICircuitObject GenerateVSW(CircuitIdentifier name, List <Token> parameters, Netlist netlist) { VoltageSwitch vsw = new VoltageSwitch(name); vsw.ReadNodes(netlist.Path, parameters); // Read the model if (parameters.Count < 5) { throw new ParseException(parameters[3], "Model expected", false); } vsw.SetModel(netlist.FindModel <VoltageSwitchModel>(parameters[4])); // Optional ON or OFF if (parameters.Count == 6) { switch (parameters[5].image.ToLower()) { case "on": vsw.SetOn(); break; case "off": vsw.SetOff(); break; default: throw new ParseException(parameters[5], "ON or OFF expected"); } } return(vsw); }
/// <summary> /// Create a voltage switch /// </summary> /// <param name="name">Name</param> /// <param name="pos">Positive node</param> /// <param name="neg">Negative node</param> /// <param name="contPos">Controlling positive node</param> /// <param name="contNeg">Controlling negative node</param> /// <param name="modelName">Model name</param> /// <param name="modelParameters">Model parameters</param> /// <returns></returns> VoltageSwitch CreateVoltageSwitch(string name, string pos, string neg, string contPos, string contNeg, string modelName, string modelParameters) { var model = new VoltageSwitchModel(modelName); ApplyParameters(model, modelParameters); var vsw = new VoltageSwitch(name, pos, neg, contPos, contNeg); vsw.SetModel(model); return(vsw); }
/// <summary> /// Create a voltage switch /// </summary> /// <param name="name">Name</param> /// <param name="pos">Positive node</param> /// <param name="neg">Negative node</param> /// <param name="contPos">Controlling positive node</param> /// <param name="contNeg">Controlling negative node</param> /// <param name="modelName">Model name</param> /// <param name="modelParameters">Model parameters</param> /// <returns></returns> VoltageSwitch CreateVoltageSwitch(Identifier name, Identifier pos, Identifier neg, Identifier contPos, Identifier contNeg, Identifier modelName, string modelParameters) { VoltageSwitchModel model = new VoltageSwitchModel(modelName); ApplyParameters(model, modelParameters); VoltageSwitch vsw = new VoltageSwitch(name, pos, neg, contPos, contNeg); vsw.SetModel(model); return(vsw); }