KicadtoNgspice component

class kicadtoNgspice.KicadtoNgspice.MainWindow(clarg1, clarg2=None)
  • This class create KicadtoNgspice window.
  • And Call Convert function if convert button is pressed.
  • The convert function takes all the value entered by user and create a final netlist “*.cir.out”.
  • This final netlist is compatible with Ngspice.
  • clarg1 is the path to the .cir file
  • clarg2 is either None or “sub” depending on the analysis type
callConvert()
  • This function called when convert button clicked
  • Extracting data from the objs created above
  • Pushing this data to xml, and writing it finally
  • Written to a …_Previous_Values.xml file in the projDirectory
  • Finally, call createNetListFile, with the converted schematic
createMainWindow()
  • This function create main window of KiCad to Ngspice converter
  • Two components
    • createcreateConvertWidget
    • Convert button => callConvert
createNetlistFile(store_schematicInfo, plotText)
  • Creating .cir.out file
  • If analysis file present uses that and extract
    • Simulator
    • Initial
    • Analysis
  • Finally add the following components to .cir.out file
    • SimulatorOption
    • InitialCondOption
    • Store_SchematicInfo
    • AnalysisOption
  • In the end add control statements and allv, alli, end statements
createSubFile(subPath)
  • To create subcircuit file
  • Extract data from .cir.out file
createcreateConvertWidget()
  • Contains the tabs for various convertor elements
    • Analysis => obj_analysis

    => Analysis.Analysis(path_to_projFile)

    • Source Details => obj_source

    => Source.Source(sourcelist,`sourcelisttrack`,`path_to_projFile`)

    • NgSpice Model => obj_model

    => Model.Model(schematicInfo,`modelList`,`path_to_projFile`)

    • Device Modelling => obj_devicemodel

    => DeviceModel.DeviceModel(schematicInfo,`path_to_projFile`)

    • Subcircuits => obj_subcircuitTab

    => SubcircuitTab.SubcircuitTab(schematicInfo,`path_to_projFile`)

  • Finally pass each of these objects, to widgets

  • convertWindow > mainLayout > tabWidgets > AnalysisTab, SourceTab …