delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2012/07/07/07:30:51

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
X-Envelope-From: paubert AT iram DOT es
Date: Sat, 7 Jul 2012 13:30:22 +0200
From: Gabriel Paubert <paubert AT iram DOT es>
To: geda-user AT delorie DOT com
Subject: Re: [geda-user] [PATCH] Allow to create metric Gerber and drill
files, hopefully final version.
Message-ID: <20120707113022.GA17782@visitor2.iram.es>
References: <20120703140236 DOT GA12646 AT visitor2 DOT iram DOT es>
<CAKakQcdTgG6E2h+UgWoh-ujP6vFDH=voY-PBJR3OFG2awqL0_A AT mail DOT gmail DOT com>
<20120705101614 DOT GA19974 AT visitor2 DOT iram DOT es>
<20120706202633 DOT GA28355 AT malakian DOT lan>
<20120706213340 DOT GA30622 AT visitor2 DOT iram DOT es>
<20120707104156 DOT 17641 DOT qmail AT stuge DOT se>
MIME-Version: 1.0
In-Reply-To: <20120707104156.17641.qmail@stuge.se>
User-Agent: Mutt/1.5.20 (2009-06-14)
X-SPF-Received: 2
X-Spamina-Bogosity: Unsure
X-Spam-Score: -4.4 (----)
X-Spam-Report: Content analysis details: (-4.4 points)
pts rule name description
---- ---------------------- --------------------------------------------------
-1.8 ALL_TRUSTED Passed through trusted hosts only via SMTP
-2.6 BAYES_00 BODY: Bayesian spam probability is 0 to 1%
[score: 0.0003]
Reply-To: geda-user AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: geda-user AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Sat, Jul 07, 2012 at 12:41:56PM +0200, Peter Stuge wrote:
> Gabriel Paubert wrote:
> > @@ -668,7 +695,7 @@ gerber_set_layer (const char *name, int group, int empty)
> >  	    }
> >            /* Notice the last zeroes are literal zeroes here, a  *
> >             *  x10 scale factor.  v        v                     */
> > -          pcb_fprintf (f, "X%06.0ml0Y%06.0ml0\r\n",
> > +	  pcb_fprintf (f, metric ? "X%06.0muY%06.0mu\r\n" : "X%06.0ml0Y%06.0ml0\r\n",
> >  		   gerberDrX (PCB, pending_drills[i].x),
> >  		   gerberDrY (PCB, pending_drills[i].y));
> 
> It seems there is a whitespace error in this hunk.

Surprising, but I'll check. (I'm not on the machine with the git repository
right now).

> 
> 
> > @@ -996,13 +1025,13 @@ gerber_draw_line (hidGC gc, Coord x1, Coord y1, Coord x2, Coord y2)
> >      {
> >        m = true;
> >        lastX = x1;
> > -      pcb_fprintf (f, "X%.0mc", gerberX (PCB, lastX));
> > +      print_xcoord (f, PCB, lastX);
> >      }
> >    if (y1 != lastY)
> >      {
> >        m = true;
> >        lastY = y1;
> > -      pcb_fprintf (f, "Y%.0mc", gerberY (PCB, lastY));
> > +      print_ycoord (f, PCB, lastY);
> >      }
> >    if ((x1 == x2) && (y1 == y2))
> >      fprintf (f, "D03*\r\n");
> 
> What exactly is the relation between pcb_fprintf() -> print_*coord()
> in the context of enabling the mm/imp option?
> 
> print_*coord() don't seem to be conditional on the setting anyway, so
> could that change be moved to a separate commit, preceding the one
> that adds the mm option?

I don't think so: when the option is parsed 3 static variables are set:
metric, x_convspec, and y_convspec. print_?coord uses ?_convspec, this
avoids tests of the metric boolean in the generated code, there are 
already enough ternary ?: operators on metric.

The macro was not strictly necessary, but this limits the number
of redundancies in every line ?_convspec, gerber?. These are always
the source of cut and paste errors.

	Gabriel 

> 
> 
> //Peter

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019