home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 13 / 13.iso / p / p078 / 3.img / NETFORMS.PLB / EEDESIGN.CF < prev    next >
Encoding:
Text File  |  1991-10-14  |  2.6 KB  |  130 lines

  1. /*
  2.  */
  3.  
  4. /*  VERSION="1.10a  14-OCT-91"
  5.  *      - Added Version message
  6.  *      - Allow Reference Strings up to 8 characters
  7.  *
  8.  *  Capacities:
  9.  *      - Part Names are not checked for length
  10.  *      - Module Names are not checked for length
  11.  *      - Reference Strings are limited to 8 characters
  12.  *      - Node Names are NOT supported
  13.  *      - Node Numbers are limited to 3 digits (plus the leading 'UN')
  14.  *      - Pin Numbers are not checked for length
  15.  *
  16.  *  Characters:
  17.  *      - All ASCII keyboard characters are legal
  18.  */
  19.  
  20. int len;
  21.  
  22. /*-----------------------*/
  23.  
  24. Initialize()
  25. {
  26.     WriteString(0, "Creating Netlist...");
  27.     WriteCrLf(0);
  28.  
  29.     AddSymbol("ReferenceStr");
  30.     SetNumberWidth(3);
  31. }
  32.  
  33. /*-----------------------*/
  34.  
  35. WriteHeader()
  36. {
  37.     WriteString(1, "(PATH,OrCAD()");
  38.     WriteCrLf(1);
  39.     WriteString(1, "(COMPONENTS");
  40.     WriteCrLf(1);
  41.  
  42.     while (LoadInstance())
  43.     {
  44.         CopySymbol(ReferenceString, ReferenceStr);
  45.         PadSpaces(ReferenceStr, 8);
  46.  
  47.         len = SymbolLength(ReferenceString);
  48.         if (len > 8)
  49.         {
  50.             WriteString(0, "ERROR: Reference is too long '");
  51.             WriteSymbol(0, ReferenceString);
  52.             WriteString(0, "', truncated to ");
  53.             WriteSymbol(0, ReferenceStr);
  54.             WriteCrLf(0);
  55.  
  56.             SetSymbol(ExitType, "E");
  57.         }        
  58.         WriteSymbol(1, ReferenceStr);
  59.         WriteString(1, ",");
  60.  
  61.         len = SymbolLength(ModuleName);
  62.         /* if the ModuleName is empty, then output the PartName */
  63.         if (len > 0)
  64.         {
  65.             WriteSymbol(1, ModuleName);
  66.         }
  67.         else
  68.         {
  69.             WriteSymbol(1, PartName);
  70.         }
  71.         WriteCrLf(1);
  72.     }
  73.  
  74.     WriteString(1, ")");
  75.     WriteCrLf(1);
  76.  
  77.     WriteString(1, "(NODES");
  78.     WriteCrLf(1);
  79. }
  80.  
  81. /*-----------------------*/
  82.  
  83. HandleNodeName()
  84. {
  85.     WriteString(1, "(UN");
  86.     WriteSymbol(1, NetNumber);
  87.     WriteCrLf(1);
  88. }
  89.  
  90. /*-----------------------*/
  91.  
  92. WriteNet()
  93. {
  94.     CopySymbol(ReferenceString, ReferenceStr);
  95.     PadSpaces(ReferenceStr, 8);
  96.     WriteSymbol(1, ReferenceStr);
  97.  
  98.     WriteString(1, ", ");
  99.  
  100.     WriteSymbol(1, PinNumberString);
  101.     WriteCrLf(1);
  102. }
  103.  
  104. /*-----------------------*/
  105.  
  106. WriteNetEnding()
  107. {
  108.     WriteString(1, ")");
  109.     WriteCrLf(1);
  110. }
  111.  
  112. /*-----------------------*/
  113.  
  114. ProcessFieldStrings()
  115. {
  116. }
  117.  
  118. /*-----------------------*/
  119.  
  120. WriteNetListEnd()
  121. {
  122.     WriteString(1, ")");
  123.     WriteCrLf(1);
  124.     WriteString(1, "),OrCAD");
  125.     WriteCrLf(1);
  126.  
  127.     WriteString(0, "Done");
  128.     WriteCrLf(0);
  129. }
  130.