mirror of
https://github.com/bancika/diy-layout-creator
synced 2026-11-10 17:22:09 +10:00
netlist parse improvements
This commit is contained in:
@@ -5,6 +5,7 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.diylc.components.passive.AxialElectrolyticCapacitor;
|
||||
import org.diylc.components.passive.AxialFilmCapacitor;
|
||||
import org.diylc.components.passive.CapacitorSymbol;
|
||||
@@ -14,20 +15,28 @@ import org.diylc.components.passive.RadialElectrolytic;
|
||||
import org.diylc.components.passive.RadialFilmCapacitor;
|
||||
import org.diylc.components.passive.Resistor;
|
||||
import org.diylc.components.passive.ResistorSymbol;
|
||||
import org.diylc.components.semiconductors.BJTSymbol;
|
||||
import org.diylc.components.semiconductors.DIL_IC;
|
||||
import org.diylc.components.semiconductors.DiodeGlass;
|
||||
import org.diylc.components.semiconductors.DiodePlastic;
|
||||
import org.diylc.components.semiconductors.DiodeSymbol;
|
||||
import org.diylc.components.semiconductors.JFETSymbol;
|
||||
import org.diylc.components.semiconductors.LED;
|
||||
import org.diylc.components.semiconductors.LEDSymbol;
|
||||
import org.diylc.components.semiconductors.MOSFETSymbol;
|
||||
import org.diylc.components.semiconductors.PhotoDiodeSymbol;
|
||||
import org.diylc.components.semiconductors.SchottkyDiodeSymbol;
|
||||
import org.diylc.components.semiconductors.TransistorTO220;
|
||||
import org.diylc.components.semiconductors.TransistorTO92;
|
||||
import org.diylc.components.semiconductors.ZenerDiodeSymbol;
|
||||
import org.diylc.core.measures.Capacitance;
|
||||
import org.diylc.core.measures.Resistance;
|
||||
import org.diylc.core.measures.Voltage;
|
||||
|
||||
public class TangoNetlistParser extends AbstractNetlistParser {
|
||||
|
||||
private static final Logger LOG = Logger.getLogger(TangoNetlistParser.class);
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "Tango";
|
||||
@@ -65,23 +74,36 @@ public class TangoNetlistParser extends AbstractNetlistParser {
|
||||
}
|
||||
|
||||
if (type.toUpperCase().startsWith("CAP_ELECTRO")) {
|
||||
additionalOutputs.put("Polarized", true);
|
||||
boolean polarized = true;
|
||||
if (type.toUpperCase().endsWith("_NP")) {
|
||||
polarized = false;
|
||||
type = type.substring(0, type.length() - 3);
|
||||
}
|
||||
if (type.length() > "CAP_ELECTRO".length()) {
|
||||
String voltage = type.substring("CAP_ELECTRO".length() + 1) + "V";
|
||||
try {
|
||||
additionalOutputs.put("VoltageNew", Voltage.parseVoltage(voltage));
|
||||
} catch (Exception e) {
|
||||
LOG.error("Error while parsing voltage " + voltage);
|
||||
}
|
||||
}
|
||||
additionalOutputs.put("Polarized", polarized);
|
||||
types.add(AxialElectrolyticCapacitor.class);
|
||||
types.add(RadialElectrolytic.class);
|
||||
types.add(MultiSectionCapacitor.class);
|
||||
types.add(CapacitorSymbol.class);
|
||||
}
|
||||
|
||||
|
||||
if (type.toUpperCase().startsWith("DIP")) {
|
||||
try {
|
||||
int pinCount = Integer.parseInt(type.substring(3));
|
||||
int pinCount = Integer.parseInt(type.substring(3));
|
||||
additionalOutputs.put("PinCount", DIL_IC.PinCount.valueOf("_" + pinCount));
|
||||
} catch (Exception e) {
|
||||
} catch (Exception e) {
|
||||
}
|
||||
|
||||
types.add(DIL_IC.class);
|
||||
|
||||
types.add(DIL_IC.class);
|
||||
}
|
||||
|
||||
|
||||
if (type.equalsIgnoreCase("DIODE")) {
|
||||
types.add(DiodeGlass.class);
|
||||
types.add(DiodePlastic.class);
|
||||
@@ -90,12 +112,26 @@ public class TangoNetlistParser extends AbstractNetlistParser {
|
||||
types.add(DiodeSymbol.class);
|
||||
types.add(ZenerDiodeSymbol.class);
|
||||
}
|
||||
|
||||
|
||||
if (type.equalsIgnoreCase("LED")) {
|
||||
types.add(LED.class);
|
||||
types.add(LEDSymbol.class);
|
||||
}
|
||||
|
||||
|
||||
if (type.equalsIgnoreCase("TO92")) {
|
||||
types.add(TransistorTO92.class);
|
||||
types.add(BJTSymbol.class);
|
||||
types.add(MOSFETSymbol.class);
|
||||
types.add(JFETSymbol.class);
|
||||
}
|
||||
|
||||
if (type.equalsIgnoreCase("TO220")) {
|
||||
types.add(TransistorTO220.class);
|
||||
types.add(BJTSymbol.class);
|
||||
types.add(MOSFETSymbol.class);
|
||||
types.add(JFETSymbol.class);
|
||||
}
|
||||
|
||||
return types;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user