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

Re: gEDA-user: gsch2pcb problems - I think!



Stuart Brorson wrote:
Harold,

The bad news for you is that I was able to successfully run gsch2pcb
on your file.  So both Dan and I had no problem with your design
files.

Here's another thought.  Your error is:

FORMAT: error with call: (format #f "~:@{~A-~A ~}
<===" ("U1" "G29") ("U1" "G34") ("U1" "G9") ("U1" "H1") ("U1" "H11") ("U1"
"H16") ("U1" "H26") ("U1" "H6") ("U1" "J13") ("U1" "J18") ("U1" "J23") ("U1"



To be honest, the <===" chars look to me like you had a problem with a CVS update. That is, when you do a CVS update and you have a modified local file which conflicts with the CVS version, then CVS will stick some chars into your file something like this:

<====
one version =====
another version
=====>

So maybe you have a corrupted version of gnet-PCB.scm on your box, and
it is causing the error message currently bedeviling you.

Hmmm. Wouldn't that be Special.


Just for kicks, try

grep "====" /path/to/your/geda/share/gEDA/scheme/*.scm

You'll get a couple of hits:

% grep "====" /devel/geda-inst/share/gEDA/scheme/*.scm
/devel/geda-inst/share/gEDA/scheme/gnet-spice-sdb.scm: (display (string-append "*============== Begin SPICE netlist of main design ============\n") port)
/devel/geda-inst/share/gEDA/scheme/gnet-vams.scm:;;; ===================================================================================
/devel/geda-inst/share/gEDA/scheme/gnet-vams.scm:;;; ===================================================================================
/devel/geda-inst/share/gEDA/scheme/gnet-vams.scm:;;; ===================================================================================
/devel/geda-inst/share/gEDA/scheme/gnet-vams.scm:;;; ===================================================================================
/devel/geda-inst/share/gEDA/scheme/gnet-vhdl.scm: ;(display "========================================")



but those are ok.


I think the next step provided you don't have a corrupt file like stuart has suggested is to try the following:


in gnet-PCB.scm, you'll see a line like this:

(display (gnetlist:wrap (PCB:display-connections (gnetlist:get-all-connections netname)) 200 " \\"
) port)



Try changing that to:

(display (gnetlist:get-all-connections netname))

and give me the output of

gnetlist -g PCB -o test1.net Test_{1,2,3}.sch

as well as the resulting (if any) test1.net.

Then also try changing that line to

(display (PCB:display-connections (gnetlist:get-all-connections netname)))

and re run as

gnetlist -g PCB -o test2.net Test_{1,2,3}.sch

again, send the output as well as test2.net.

Hopefully this will shed some light on what is being passed to what in there.

Just for kicks too, I'm attaching my gnet-PCB.scm file. You might want to do a diff

  diff -U 2 /your/gnet-PCB.scm /dans/gnet-PCB.scm

;;; $Id: gnet-PCB.scm,v 1.8 2006/10/21 02:43:50 ahvezda Exp $
;;;
;;; gEDA - GNU Electronic Design Automation
;;; gnetlist - GNU Netlist
;;; Copyright (C) 1998-2000 Ales V. Hvezda
;;;
;;; This program is free software; you can redistribute it and/or modify
;;; it under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 2 of the License, or
;;; (at your option) any later version.
;;;
;;; This program is distributed in the hope that it will be useful,
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with this program; if not, write to the Free Software
;;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

;;  PCB format

(use-modules (ice-9 format))


(define (PCB:display-connections nets)
  (apply format #f "~:@{~A-~A ~}\n" nets))


; This function is replaced with the above one. Due to non existent
; verification, this function is left commented out.
; /spe, 2002-01-08
;(define (PCB:display-connections nets)
;  (if (not (null? nets))
;      (string-append
;       (car (car nets)) "-" (car (cdr (car nets))) " " 
;       (PCB:display-connections (cdr nets)))
;      "\n"))


(define (PCB:write-net netnames port)
  (if (not (null? netnames))
      (let ((netname (car netnames)))
	(display netname port)
	(display "\t" port)
	(display (gnetlist:wrap (PCB:display-connections (gnetlist:get-all-connections netname)) 200 " \\") port)
	(PCB:write-net (cdr netnames) port))))


(define (PCB output-filename)
  (let ((port (open-output-file output-filename)))
    (PCB:write-net (gnetlist:get-all-unique-nets "dummy") port)
    (close-output-port port)))


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