[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-user: gsch2pcb to pcb error



   John, thanks for the advice on input/output connections. Last year when
   I did this, I rolled my own H-Bridge motor drivers, and used hierarchy.
   This year I am simplifying things a little, and using the Solarbotics
   2AMP Dual motor drivers instead. Hierarchy still would have work well
   in most spots, but sometime the page was too small. However, I found
   that if used the same name with with different numbers after the colon,
   it did not work. I saw the suggestion to run gnletlist with drc2 and
   looking at the output I could see many connections to nets named OUTPUT
   and INPUT, so clearly I was not using the connection symbols correctly.
   It took much trial and error to discover that I should not have a
   device type other than none (otherwise it wanted a footprint for the
   connection), and that the critical attribute was net, not netname or
   refdes. And that I needed a unique text string before the colon for
   each separate signal. And that it did not matter whether I used
   input/output symbols 1, 2 or 3. That took several hours last night and
   today to iron out, but now the netlist looks good, and drc2 only
   reports expected errors (test points have pintype input/output, which
   conlicts with output pins, Reset in a net causes it to be listed as
   undriven, etc.)
       Now I have a clean set of schematics, with all the multiply
   referenced parts given new part numbers (next I will know to just not
   bother putting refdes numbers on each part and run refdes afterward and
   let IT keep track of what has been used and what hasn't!) I have run
   gsch2pcb with double verbose redirected into log files and checked
   everything there. I still NEVER managed to get any footprint libraries
   added, even after using gafrc in /gaf, gafrc in /motherboard, setting
   the PCBLIBPATH environment variable to include them, or putting
   element-library and element-dir commands in the project file. No matter
   what I did, the double verbose list of all the directories checked for
   the custom footprints never varied from /usr/share/pcb! The _only_ way
   I could fix it was to copy the custom footprints to
   /usr/share/pcb/pcblib-new/geda. even though that is a write protected
   folder. However, something worked right on the symbol side, so the
   custom symbols could remain in /gaf/symbols.
      Once I moved all the footprints into /usr/share/pcb and got gsch2pcb
   to find a footprint (element) for every symbol, I tried running pcb.
   However, that failed every time. I opened up the .new.pcb file and
   found something strange. the first few elements were formatted like
   this:
   Element(0x00 "SIP2" "CONN18" "Video Center" 160 10 3 100 0x00)
   (
       Pin(50 50 60 28 "1" 0x101)
       Pin(50 150 60 28 "2" 0x01)

       ElementLine(  0 50   0 150 20)
       ElementLine(100 50 100 150 20)
       ElementLine(  0 100 100 100 10)
       ElementArc(50  50 50 50 180 180 20)
       ElementArc(50 150 50 50   0 180 20)
       Mark(50 50)
   )
   But the pcb log window indicated an error at line 63, and the element
   there was formatted differently, like this:
   Element(0x00 "" "" "" 400 0 0 100 0x00)
   (
       Pin(100 200 60 30 "1" 0x101)
       Pin(300 200 60 30 "2" 0x01)
       ElementArc(200 200 200 200 0 360 10)

       Mark (100 200)
   ).fp(RCY200.fp,C26,150pf)
   I found that if I hand edited the .pcb file to cut and past the
   footprint name, refdes, and value into the element line, and then
   delete everything that trailed the closing parenthesis, the file error
   moved further down. And looking through the file I see a mix of both
   formats. Is there any way to re-run or process the file to convert
   every element into something that pcb will recognize? Or do I need a
   newer version, that apt-get does not know about? If I have to edit the
   whole file, it will take some time. But my scripting and Python skills
   are a bit weak to whip up a script to read each element in, check for
   trailing details, and move them into the first line then spit out the
   corrected element and get the next.There are over 4000 lines in the
   .pcb file, so it will take awhile to hand process.
   Once again I have to ask for help. Any suggestions?
   # release: pcb 1.6.3
   gsch2pcb version 1.6
   Mike

_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user