r5328 - developers/werner/fped

werner at docs.openmoko.org werner at docs.openmoko.org
Tue Jul 28 20:03:44 CEST 2009


Author: werner
Date: 2009-07-28 20:03:43 +0200 (Tue, 28 Jul 2009)
New Revision: 5328

Modified:
   developers/werner/fped/TODO
   developers/werner/fped/gui_canvas.c
   developers/werner/fped/gui_inst.c
   developers/werner/fped/obj.c
   developers/werner/fped/qfn.fpd
Log:
- bug: vectors always started at the origin of the frame
- corrected various bugs in qfn.fpd
- gui_draw_frame: frame origin was translated twice



Modified: developers/werner/fped/TODO
===================================================================
--- developers/werner/fped/TODO	2009-07-28 16:10:50 UTC (rev 5327)
+++ developers/werner/fped/TODO	2009-07-28 18:03:43 UTC (rev 5328)
@@ -21,3 +21,6 @@
 - consider adding auto/mm/mil selection for each dimension
 - syntax seems a little cryptic. too many dots and at signs.
 - add measurements
+- add continuous coordinate display
+- add user coordinates. hide if inactive ?
+- arc syntax is weird, with comma where we use spaces

Modified: developers/werner/fped/gui_canvas.c
===================================================================
--- developers/werner/fped/gui_canvas.c	2009-07-28 16:10:50 UTC (rev 5327)
+++ developers/werner/fped/gui_canvas.c	2009-07-28 18:03:43 UTC (rev 5328)
@@ -22,7 +22,7 @@
 #include "gui.h"
 
 
-struct draw_ctx ctx;
+static struct draw_ctx ctx;
 
 
 /* ----- zoom display ------------------------------------------------------ */

Modified: developers/werner/fped/gui_inst.c
===================================================================
--- developers/werner/fped/gui_inst.c	2009-07-28 16:10:50 UTC (rev 5327)
+++ developers/werner/fped/gui_inst.c	2009-07-28 18:03:43 UTC (rev 5328)
@@ -70,7 +70,6 @@
 static void draw_eye(struct draw_ctx *ctx, GdkGC *gc, struct coord center,
     int r1, int r2)
 {
-	center = translate(ctx, center);
 	draw_circle(ctx, gc, TRUE, center.x, center.y, r1);
 	draw_circle(ctx, gc, FALSE, center.x, center.y, r2);
 }
@@ -117,10 +116,10 @@
 	struct coord from = translate(ctx, self->base);
 	struct coord to = translate(ctx, self->u.end);
 
-	draw_circle(ctx, gc_vec_bg, FALSE, to.x, to.y, VEC_EYE_R);
 	draw_arrow(ctx, gc_vec_bg, TRUE, from, to,
 	  VEC_ARROW_LEN, VEC_ARROW_ANGLE);
 	gdk_draw_line(DA, gc_vec_bg, from.x, from.y, to.x, to.y);
+	draw_circle(ctx, gc_vec_bg, FALSE, to.x, to.y, VEC_EYE_R);
 }
 
 
@@ -180,10 +179,10 @@
 
 void gui_draw_frame(struct inst *self, struct draw_ctx *ctx)
 {
-	struct coord pos = translate(ctx, self->base);
+	struct coord center = translate(ctx, self->base);
 	struct coord corner = { self->bbox.min.x, self->bbox.max.y };
 
-	draw_eye(ctx, gc_frame_bg, pos, FRAME_EYE_R1, FRAME_EYE_R2);
+	draw_eye(ctx, gc_frame_bg, center, FRAME_EYE_R1, FRAME_EYE_R2);
 	if (!self->u.frame.ref->name)
 		return;
 	corner = translate(ctx, corner);

Modified: developers/werner/fped/obj.c
===================================================================
--- developers/werner/fped/obj.c	2009-07-28 16:10:50 UTC (rev 5327)
+++ developers/werner/fped/obj.c	2009-07-28 18:03:43 UTC (rev 5328)
@@ -27,6 +27,7 @@
 
 static int generate_objects(struct frame *frame, struct coord base)
 {
+	struct coord vec_base;
 	struct vec *vec;
 	struct obj *obj;
 	double x, y;
@@ -38,10 +39,11 @@
 		y = eval_num(vec->y, frame);
 		if (y == UNDEF)
 			return 0;
-		vec->pos = vec->base ? vec->base->pos : base;
+		vec_base = vec->base ? vec->base->pos : base;
+		vec->pos = vec_base;
 		vec->pos.x += x;
 		vec->pos.y += y;
-		if (!inst_vec(vec, base))
+		if (!inst_vec(vec, vec_base))
 			return 0;
 	}
 	for (obj = frame->objs; obj; obj = obj->next)

Modified: developers/werner/fped/qfn.fpd
===================================================================
--- developers/werner/fped/qfn.fpd	2009-07-28 16:10:50 UTC (rev 5327)
+++ developers/werner/fped/qfn.fpd	2009-07-28 18:03:43 UTC (rev 5328)
@@ -1,17 +1,17 @@
 # http://www.nxp.com/acrobat/packages/footprint/SOT616-1_fp_reflow.pdf
 
 .frame pad_up {
-	.vec @ -D/2, 0
+	c = .vec @ -D/2, 0
 	.vec . D, C
-	.pad "N/4+n" @ .
+	.pad "N/4+n" c .
 }
 
 N = 24
 
 .table
-    { P, Ax, Ay, By, C, D, SLx, SLy, SPx_tot, SPy_tot, SPx, SPy, Gx, Gy, Hx, Hy }
+    { P, Ax, Ay, Bx, By, C, D, SLx, SLy, SPx_tot, SPy_tot, SPx, SPy, Gx, Gy, Hx, Hy }
     { 0.5mm, 5mm, 5mm, 3.2mm, 3.2mm, 0.9mm, 0.24mm, 2.1mm, 2.1mm, 1.2mm,
-      0.45mm, 0.45mm, 4.3mm, 4.3mm, 5.25mm, 5.25mm }
+      1.2mm, 0.45mm, 0.45mm, 4.3mm, 4.3mm, 5.25mm, 5.25mm }
 
 h_x0y0 = .vec @ -Hx/2, -Hy/2
 h_x1y1 = .vec . Hx, Hy
@@ -23,7 +23,7 @@
 
 n = 0, N/4-1
 
-.vec @ P*(n-N/4/2), -Ay/2
+.vec @ P*(n-(N/4-1)/2), -Ay/2
 .frame pad_up .
 
 # ARC, just for testing




More information about the commitlog mailing list