Send commitlog mailing list submissions to
        commitlog@lists.openmoko.org

To subscribe or unsubscribe via the World Wide Web, visit
        http://lists.openmoko.org/mailman/listinfo/commitlog
or, via email, send a message with subject or body 'help' to
        commitlog-requ...@lists.openmoko.org

You can reach the person managing the list at
        commitlog-ow...@lists.openmoko.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of commitlog digest..."
Today's Topics:

   1. r5787 - in trunk/gta02-core: . modules (da...@docs.openmoko.org)
   2. r5788 - trunk/eda/fped (wer...@docs.openmoko.org)
   3. r5789 - trunk/gta02-core/modules (da...@docs.openmoko.org)
   4. r5790 - trunk/gta02-core/modules (da...@docs.openmoko.org)
--- Begin Message ---
Author: daveb
Date: 2010-01-10 12:04:48 +0100 (Sun, 10 Jan 2010)
New Revision: 5787

Added:
   trunk/gta02-core/modules/bf2520.fpd
Modified:
   trunk/gta02-core/AUTHORS
   trunk/gta02-core/modules/STATUS
   trunk/gta02-core/modules/mkloe
Log:
add bf2520


Modified: trunk/gta02-core/AUTHORS
===================================================================
--- trunk/gta02-core/AUTHORS    2010-01-10 10:35:48 UTC (rev 5786)
+++ trunk/gta02-core/AUTHORS    2010-01-10 11:04:48 UTC (rev 5787)
@@ -12,6 +12,7 @@
   components/pcf50633-04-n3.lib
   components/sc32442.lib
   components/wm8753lgefl.lib
+  modules/bf2520.fpd
   modules/ht210.fpd
   modules/k4m51323pe.fpd
   modules/pcf50633-04-n3.fpd

Modified: trunk/gta02-core/modules/STATUS
===================================================================
--- trunk/gta02-core/modules/STATUS     2010-01-10 10:35:48 UTC (rev 5786)
+++ trunk/gta02-core/modules/STATUS     2010-01-10 11:04:48 UTC (rev 5787)
@@ -1,6 +1,7 @@
 Footprint (file name)          Author  Review  2nd rv. 3rd rv. Remarks
 -----------------------                ------- ------- ------- ------- 
-------------
 332fbga-p05                    Werner  EXPERIMENTAL - DO NOT USE YET
+bf2520                         Dave
 bga96-8x12-0mm8                        Werner
 dfbm-cs320                     Rene
 exc24c                         Rene
@@ -11,7 +12,7 @@
 k4m51323pe                     Dave
 lis302dl                       Rene    DRAFT
 mini-usb                       Rene    drill holes still missing!
-pcf50633-04-n3                 Dave    DRAFT 
+pcf50633-04-n3                 Dave     
 smsn16                         Dave    DRAFT
 sc70-5                         Rene
 sc89-6                         Rene

Added: trunk/gta02-core/modules/bf2520.fpd
===================================================================
--- trunk/gta02-core/modules/bf2520.fpd                         (rev 0)
+++ trunk/gta02-core/modules/bf2520.fpd 2010-01-10 11:04:48 UTC (rev 5787)
@@ -0,0 +1,22 @@
+/* MACHINE-GENERATED ! */
+
+package "BF2520-B2R4CAB"
+unit mm
+__0: vec @(-1.9mm/2, 0.6mm/2)
+__1: vec __0(-1mm, -0.6mm)
+pad "4" . __0
+__2: vec @(1.9mm/2, -0.6mm/2)
+__3: vec __2(1mm, 0.6mm)
+pad "2" __2 .
+__4: vec @(-2.5mm/2, 1.4mm/2)
+__5: vec .(2.5mm, 1.05mm)
+pad "1" __4 .
+__6: vec @(2.5mm/2, -1.4mm/2)
+__7: vec .(-2.5mm, -1.05mm)
+pad "3" __6 .
+measy __3 >> __2 0.3mm
+measy __5 >> __4 1.2mm
+measy __4 >> __6 3.7mm
+measx __0 >> __2 -0.3mm
+measx __1 >> __0 0.8mm
+measx __7 >> __6 -0.5mm

Modified: trunk/gta02-core/modules/mkloe
===================================================================
--- trunk/gta02-core/modules/mkloe      2010-01-10 10:35:48 UTC (rev 5786)
+++ trunk/gta02-core/modules/mkloe      2010-01-10 11:04:48 UTC (rev 5787)
@@ -4,7 +4,7 @@
 MODS="332fbga-p05 bga96-8x12-0mm8 ge865 stdpass tst wm3236aq wm8753fl lis302dl"
 MODS="$MODS dfbm-cs320 exc24c sc70-5 vssop8 sot23-5 tdfn34-16 mini-usb tsop-6"
 MODS="$MODS sc89-6 son1408-3 fh23-39s-0.3shw fa2012 smsn16 wlcsp12-p05 sod-523"
-MODS="$MODS u.fl-r-smt-1 ht210 k4m51323pe pcf50633-04-n3"
+MODS="$MODS u.fl-r-smt-1 ht210 k4m51323pe pcf50633-04-n3 bf2520"
 
 LIB=gta02-core.mod
 




--- End Message ---
--- Begin Message ---
Author: werner
Date: 2010-01-10 14:09:55 +0100 (Sun, 10 Jan 2010)
New Revision: 5788

Modified:
   trunk/eda/fped/expr.c
   trunk/eda/fped/gui_frame.c
   trunk/eda/fped/obj.c
Log:
When editing a variable or value, the actual value is now shown. The choice
of active frame reference, row, and loop instance affects this value, as it
should.

- obj.c (run_loops): reset loop->curr_value to UNDEF when instantiation is done
- obj.c (generate_frame): reset frame->curr_parent to NULL when instantiation
  is done
- expr.c (eval_var, eval_string_var): distinguish beteen instantiation and
  editing mode, and use "active" values in the latter
- gui_frame.c (edit_var, edit_value, edit_value_list): display the value of the
  variable or the active expression in the "X" field
- gui_frame.c (assignment_value_select_event, table_value_select_event,
  loop_from_select_event, loop_to_select_event): pass the frame to edit_value
  and edit_value_list
- expr.c (str_unit): since we may now accidently expose a wider range of
  exponents, removed -2 ... 2 exponent range limitation



Modified: trunk/eda/fped/expr.c
===================================================================
--- trunk/eda/fped/expr.c       2010-01-10 11:04:48 UTC (rev 5787)
+++ trunk/eda/fped/expr.c       2010-01-10 13:09:55 UTC (rev 5788)
@@ -1,8 +1,8 @@
 /*
  * expr.c - Expressions and values
  *
- * Written 2009 by Werner Almesberger
- * Copyright 2009 by Werner Almesberger
+ * Written 2009, 2010 by Werner Almesberger
+ * Copyright 2009, 2010 by Werner Almesberger
  *
  * 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
@@ -41,39 +41,35 @@
 /* ----- unit conversion --------------------------------------------------- */
 
 
+/*
+ * If an expression contains a typo, we may get large exponents. Thus, we just
+ * "sprintf" in order to be able to handle any integer. Since the number of
+ * different exponents in a session will still be small, we use "unique" to
+ * give us a constant string, so that we don't have to worry about memory
+ * allocation.
+ */
+
 const char *str_unit(struct num n)
 {
+       const char *unit;
+       char buf[20]; /* @@@ plenty */
+
        if (n.exponent == 0)
-               return "";
-       if (n.type == nt_mm) {
-               switch (n.exponent) {
-               case -2:
-                       return "mm^-2";
-               case -1:
-                       return "mm^-1";
-               case 1:
-                       return "mm";
-               case 2:
-                       return "mm^2";
-               default:
-                       abort();
-               }
+               return stralloc("");
+       switch (n.type) {
+       case nt_mm:
+               unit = "mm";
+               break;
+       case nt_mil:
+               unit = "mil";
+               break;
+       default:
+               abort();
        }
-       if (n.type == nt_mil) {
-               switch (n.exponent) {
-               case -2:
-                       return "mil^(-2)";
-               case -1:
-                       return "mil^(-1)";
-               case 1:
-                       return "mil";
-               case 2:
-                       return "mil^2";
-               default:
-                       abort();
-               }
-       }
-       abort();
+       if (n.exponent == 1)
+               return unit;
+       sprintf(buf, "%s^%d", unit, n.exponent);
+       return unique(buf);
 }
 
 
@@ -115,6 +111,14 @@
 }
 
 
+/*
+ * We have two modes of operation: during instantiation and editing, after
+ * instantiation. During instantiation, we follow curr_row and curr_parent.
+ * These pointers are NULL when instantiation finishes, and we use this as a
+ * signal that we're now in editing mode. In editing mode, the "active" values
+ * are used instead of the "current" ones.
+ */
+
 struct num eval_var(const struct frame *frame, const char *name)
 {
        const struct table *table;
@@ -124,7 +128,8 @@
        struct num res;
 
        for (table = frame->tables; table; table = table->next) {
-               value = table->curr_row->values;
+               value = table->curr_row ? table->curr_row->values :
+                   table->active_row->values;
                for (var = table->vars; var; var = var->next) {
                        if (var->name == name) {
                                if (var->visited) {
@@ -143,6 +148,8 @@
        }
        for (loop = frame->loops; loop; loop = loop->next)
                if (loop->var.name == name) {
+                       if (loop->curr_value == UNDEF)
+                               return make_num(loop->n+loop->active);
                        if (!loop->initialized) {
                                fail("uninitialized loop \"%s\"", name);
                                return undef;
@@ -151,6 +158,8 @@
                }
        if (frame->curr_parent)
                return eval_var(frame->curr_parent, name);
+       if (frame->active_ref)
+               return eval_var(frame->active_ref->frame, name);
        return undef;
 }
 
@@ -164,7 +173,8 @@
        const char *res;
 
        for (table = frame->tables; table; table = table->next) {
-               value = table->curr_row->values;
+               value = table->curr_row ? table->curr_row->values :
+                   table->active_row->values;
                for (var = table->vars; var; var = var->next) {
                        if (var->name == name) {
                                if (var->visited)
@@ -183,6 +193,8 @@
                        return NULL;
        if (frame->curr_parent)
                return eval_string_var(frame->curr_parent, name);
+       if (frame->active_ref)
+               return eval_string_var(frame->active_ref->frame, name);
        return NULL;
 }
 

Modified: trunk/eda/fped/gui_frame.c
===================================================================
--- trunk/eda/fped/gui_frame.c  2010-01-10 11:04:48 UTC (rev 5787)
+++ trunk/eda/fped/gui_frame.c  2010-01-10 13:09:55 UTC (rev 5788)
@@ -535,6 +535,39 @@
 }
 
 
+static void show_value(const struct expr *expr, const struct frame *frame)
+{
+       const char *value_string;
+       struct num value;
+
+       status_set_type_x(NULL, "value =");
+       value_string = eval_str(expr, frame);
+       if (value_string)
+               status_set_x(NULL, "\"%s\"", value_string);
+       else {
+               value = eval_num(expr, frame);
+               if (is_undef(value))
+                       status_set_x(NULL, "undefined");
+               else
+                       status_set_x(NULL, "%lg%s", value.n, str_unit(value));
+       }
+}
+
+
+static void show_var_value(const struct var *var, const struct frame *frame)
+{
+       const struct var *walk;
+       const struct value *value;
+
+       if (!var->table)
+               return;
+       value = var->table->active_row->values;
+       for (walk = var->table->vars; walk != var; walk = walk->next)
+               value = value->next;
+       show_value(value->expr, frame);
+}
+
+
 static void edit_var(struct var *var,
     void (*set_values)(void *user, const struct value *values, int n_values),
     void *user, int max_values)
@@ -543,6 +576,7 @@
        label_in_box_bg(var->widget, COLOR_VAR_EDITING);
        status_set_type_entry(NULL, "name =");
        status_set_name("Variable name", "%s", var->name);
+       show_var_value(var, var->frame);
        edit_nothing();
        edit_unique_with_values(&var->name, validate_var_name, var,
            set_values, user, max_values,
@@ -575,21 +609,23 @@
 }
 
 
-static void edit_value(struct value *value)
+static void edit_value(struct value *value, const struct frame *frame)
 {
        inst_select_outside(value, unselect_value);
        label_in_box_bg(value->widget, COLOR_EXPR_EDITING);
+       show_value(value->expr, frame);
        edit_nothing();
        edit_expr(&value->expr, "Value");
 }
 
 
-static void edit_value_list(struct value *value,
+static void edit_value_list(struct value *value, const struct frame *frame,
     void (*set_values)(void *user, const struct value *values, int n_values),
     void *user)
 {
        inst_select_outside(value, unselect_value);
        label_in_box_bg(value->widget, COLOR_VAR_EDITING);
+       show_value(value->expr, frame);
        edit_nothing();
        edit_expr_list(value->expr, set_values, user, "Value(s)");
 }
@@ -674,7 +710,7 @@
        switch (event->button) {
        case 1:
                edit_nothing();
-               edit_value(value);
+               edit_value(value, value->row->table->vars->frame);
                break;
        }
        return TRUE;
@@ -797,7 +833,8 @@
                if (!value->row ||
                    value->row->table->active_row == value->row) {
                        edit_nothing();
-                       edit_value_list(value, set_row_values, value);
+                       edit_value_list(value, value->row->table->vars->frame,
+                           set_row_values, value);
                } else {
                        select_row(value->row);
                        change_world();
@@ -969,7 +1006,7 @@
        switch (event->button) {
        case 1:
                edit_nothing();
-               edit_value(&loop->from);
+               edit_value(&loop->from, loop->var.frame);
                break;
        }
        return TRUE;
@@ -984,7 +1021,7 @@
        switch (event->button) {
        case 1:
                edit_nothing();
-               edit_value(&loop->to);
+               edit_value(&loop->to, loop->var.frame);
                break;
        }
        return TRUE;

Modified: trunk/eda/fped/obj.c
===================================================================
--- trunk/eda/fped/obj.c        2010-01-10 11:04:48 UTC (rev 5787)
+++ trunk/eda/fped/obj.c        2010-01-10 13:09:55 UTC (rev 5788)
@@ -1,8 +1,8 @@
 /*
  * obj.c - Object definition model
  *
- * Written 2009 by Werner Almesberger
- * Copyright 2009 by Werner Almesberger
+ * Written 2009, 2010 by Werner Almesberger
+ * Copyright 2009, 2010 by Werner Almesberger
  *
  * 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
@@ -239,6 +239,7 @@
                n++;
        }
        loop->initialized = 0;
+       loop->curr_value = UNDEF;
        if (active) {
                loop->n = from.n;
                loop->iterations = n;
@@ -279,6 +280,7 @@
        frame->curr_parent = parent;
        ok = iterate_tables(frame, frame->tables, base, active);
        inst_end_frame(frame);
+       frame->curr_parent = NULL;
        return ok;
 }
 




--- End Message ---
--- Begin Message ---
Author: daveb
Date: 2010-01-10 15:59:39 +0100 (Sun, 10 Jan 2010)
New Revision: 5789

Modified:
   trunk/gta02-core/modules/k4m51323pe.fpd
   trunk/gta02-core/modules/pcf50633-04-n3.fpd
Log:
orientation markings


Modified: trunk/gta02-core/modules/k4m51323pe.fpd
===================================================================
--- trunk/gta02-core/modules/k4m51323pe.fpd     2010-01-10 13:09:55 UTC (rev 
5788)
+++ trunk/gta02-core/modules/k4m51323pe.fpd     2010-01-10 14:59:39 UTC (rev 
5789)
@@ -59,6 +59,9 @@
 __0: vec @(-E/2, -D/2)
 __1: vec .(E, D)
 rect __0 . 0.1mm
+__2: vec @(4mm, 5.6mm)
+__3: vec .(0.2mm, 0mm)
+circ __2 . 0.05mm
 frame Pads @
 measy col.y -> col.y 0.5mm
 measx Pads.__0 -> Pads.__0 1.5mm
@@ -67,3 +70,4 @@
 measx Pads.__0 << Pads.__1 1.5mm
 measx __0 >> __1 -0.5mm
 measy __0 >> __1 0.5mm
+measy col.br -> col.tl -2mm

Modified: trunk/gta02-core/modules/pcf50633-04-n3.fpd
===================================================================
--- trunk/gta02-core/modules/pcf50633-04-n3.fpd 2010-01-10 13:09:55 UTC (rev 
5788)
+++ trunk/gta02-core/modules/pcf50633-04-n3.fpd 2010-01-10 14:59:39 UTC (rev 
5789)
@@ -121,9 +121,16 @@
 
 set SPyTot = 2.7mm
 
+set pad_fill_perc = 100*nSPx*nSPy*SPx*SPy/(SLx*SLy)
+
+set pad_area_perc = 100*SPxTot*SPyTot/(SLx*SLy)
+
 __0: vec @(pin_extend-Ax/2, Ay/2-pin_extend)
 __1: vec @(Ax/2-pin_extend, pin_extend-Ay/2)
 rect __0 . silk
+__2: vec @(-3.4mm, -3.2mm)
+__3: vec .(0.1mm, -0.1mm)
+circ __2 . silk
 frame solder_paste @
 frame pads @
 frame gnd @
@@ -131,15 +138,15 @@
 measx pad_horiz.tl >> pad_horiz.lr 8.7mm
 measy pad_vert.lr >> pad_vert.tl -8.7mm
 measy gnd.__1 >> gnd.__0 -0.5mm
-measx pad_horiz.lr -> pad_horiz.tl 0.1mm
-measy pad_vert.tl -> pad_vert.lr -0.1mm
-measy pad_vert.lr -> pad_vert.tl 1.7mm
-measx pad_horiz.tl -> pad_horiz.lr -1.6mm
+measx pad_horiz.lr -> pad_horiz.tl -1.7mm
+measy pad_vert.tl -> pad_vert.lr 1.7mm
+measy pad_vert.lr -> pad_vert.tl 1.95mm
+measx pad_horiz.tl -> pad_horiz.lr -1.95mm
 measx gnd.__0 >> gnd.__1 0.5mm
-measy solder_paste.ll >> solder_paste.__0 0.7mm
-measy solder_paste.ll -> solder_paste.__0 0.2mm
-measx solder_paste.ll -> solder_paste.__0 -0.2mm
-measx solder_paste.ll >> solder_paste.__0 -0.6mm
+measy solder_paste.ll >> solder_paste.__0 1.7mm
+measy solder_paste.ll -> solder_paste.__0 1.2mm
+measx solder_paste.ll -> solder_paste.__0 -1.1mm
+measx solder_paste.ll >> solder_paste.__0 -1.5mm
 measy __1 >> __0 -0.9mm
 measy pads_r.__0 -> pads_r.__0 -0.65mm
 measy pad_horiz.lr -> pad_horiz.tl 1mm




--- End Message ---
--- Begin Message ---
Author: daveb
Date: 2010-01-10 23:11:46 +0100 (Sun, 10 Jan 2010)
New Revision: 5790

Modified:
   trunk/gta02-core/modules/k4m51323pe.fpd
   trunk/gta02-core/modules/pcf50633-04-n3.fpd
Log:
correct to be PADS view not PINS view.


Modified: trunk/gta02-core/modules/k4m51323pe.fpd
===================================================================
--- trunk/gta02-core/modules/k4m51323pe.fpd     2010-01-10 14:59:39 UTC (rev 
5789)
+++ trunk/gta02-core/modules/k4m51323pe.fpd     2010-01-10 22:11:46 UTC (rev 
5790)
@@ -26,13 +26,13 @@
 }
 
 frame col_l {
-       set cname = 9-col
+       set cname = col+1
 
        frame col @
 }
 
 frame col_r {
-       set cname = col+1
+       set cname = 9-col
 
        frame col @
 }
@@ -59,7 +59,7 @@
 __0: vec @(-E/2, -D/2)
 __1: vec .(E, D)
 rect __0 . 0.1mm
-__2: vec @(4mm, 5.6mm)
+__2: vec @(-4mm, 5.6mm)
 __3: vec .(0.2mm, 0mm)
 circ __2 . 0.05mm
 frame Pads @

Modified: trunk/gta02-core/modules/pcf50633-04-n3.fpd
===================================================================
--- trunk/gta02-core/modules/pcf50633-04-n3.fpd 2010-01-10 14:59:39 UTC (rev 
5789)
+++ trunk/gta02-core/modules/pcf50633-04-n3.fpd 2010-01-10 22:11:46 UTC (rev 
5790)
@@ -35,7 +35,7 @@
 frame pads_t {
        set pos = x*P
 
-       set name = nPin/4+1+x
+       set name = nPin-x
 
        loop x = 0, nPin/4-1
 
@@ -46,7 +46,7 @@
 frame pads_b {
        set pos = x*P
 
-       set name = nPin-x
+       set name = nPin/4+1+x
 
        loop x = 0, nPin/4-1
 
@@ -57,7 +57,7 @@
 frame pads_l {
        set pos = y*P
 
-       set name = y+1
+       set name = nPin/4-y
 
        loop y = 0, nPin/4-1
 
@@ -72,7 +72,7 @@
 
        loop y = 0, nPin/4-1
 
-       __0: vec @(0mm, nPin*P/8-P/2-pos)
+       __0: vec @(0mm, pos-nPin*P/8+P/2)
        frame pad_horiz .
 }
 
@@ -128,8 +128,8 @@
 __0: vec @(pin_extend-Ax/2, Ay/2-pin_extend)
 __1: vec @(Ax/2-pin_extend, pin_extend-Ay/2)
 rect __0 . silk
-__2: vec @(-3.4mm, -3.2mm)
-__3: vec .(0.1mm, -0.1mm)
+__2: vec @(-3.4mm, 3.2mm)
+__3: vec .(0.1mm, 0mm)
 circ __2 . silk
 frame solder_paste @
 frame pads @




--- End Message ---
_______________________________________________
commitlog mailing list
commitlog@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/commitlog

Reply via email to