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. r5450 - in trunk/gta02-core/docs/ecn: . ecn0014
      (wer...@docs.openmoko.org)
   2. r5451 - trunk/gta02-core/docs/ecn (wer...@docs.openmoko.org)
   3. r5452 - trunk/gta02-core/docs/ecn (wer...@docs.openmoko.org)
   4. r5453 - trunk/gta02-core/docs/ecn (wer...@docs.openmoko.org)
   5. r5454 - trunk/eda/fped (wer...@docs.openmoko.org)
   6. r5455 - trunk/eda/fped (wer...@docs.openmoko.org)
   7. r5456 - in trunk/gta02-core: . modules (wer...@docs.openmoko.org)
--- Begin Message ---
Author: werner
Date: 2009-08-15 12:16:23 +0200 (Sat, 15 Aug 2009)
New Revision: 5450

Added:
   trunk/gta02-core/docs/ecn/ecn0014/
   trunk/gta02-core/docs/ecn/ecn0014/U4905-circuit.png
Modified:
   trunk/gta02-core/docs/ecn/STATUS
   trunk/gta02-core/docs/ecn/ecn0014.txt
Log:
- ECN0014: added motivation and replacement part number
- ECN0014: added Joerg's BQ24314DSG design



Modified: trunk/gta02-core/docs/ecn/STATUS
===================================================================
--- trunk/gta02-core/docs/ecn/STATUS    2009-08-14 23:34:25 UTC (rev 5449)
+++ trunk/gta02-core/docs/ecn/STATUS    2009-08-15 10:16:23 UTC (rev 5450)
@@ -13,7 +13,7 @@
 0011   Edit    Reduce number of varistors on USB_VBUS (C4902, C4909)
 0012   Defer   Add fuse to USB_VBUS
 0013   Defer   Increase rated current of B4902
-0014   Defer   Limit non-ESD overvoltage on USB_VBUS
+0014   Defer   Limit non-ESD overvoltage on USB_VBUS (U4905)
 0015   Discuss Remove Calypso serial interface on headset (U4401)
 0016   Edit    Remove upper acceleration sensor (U7801)
 0017   Edit    Move Bluetooth module (U2) to main PCB

Added: trunk/gta02-core/docs/ecn/ecn0014/U4905-circuit.png
===================================================================
(Binary files differ)


Property changes on: trunk/gta02-core/docs/ecn/ecn0014/U4905-circuit.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: trunk/gta02-core/docs/ecn/ecn0014.txt
===================================================================
--- trunk/gta02-core/docs/ecn/ecn0014.txt       2009-08-14 23:34:25 UTC (rev 
5449)
+++ trunk/gta02-core/docs/ecn/ecn0014.txt       2009-08-15 10:16:23 UTC (rev 
5450)
@@ -1,7 +1,20 @@
-Limit non-ESD overvoltage on USB_VBUS
+Limit non-ESD overvoltage on USB_VBUS (U4905)
 
 
-To do:
-- issue: broken power supply and such, PMU not very tolerant
-- change U4905 to better part
-- defer since it's not an emergency
+The issue: the highest USB voltage the PMU is specied for is 5.5 V,
+which makes it not very tolerant to USB overvoltage. Excessive USB
+voltage may come from defective power supplies and supplies with
+loose design tolerances, such as car chargers.
+
+The RT9711 only provides overcurrent protection but no overvoltage
+protection. A better choice would be the TI BQ24314DSG:
+http://focus.ti.com/lit/ds/symlink/bq24314.pdf
+
+Joerg Reisenweber has designed a circuit using the BQ24314DSG:
+ecn0014/U4905-circuit.png
+
+Defer this to post-gta02-core since it requires a new part and it's
+not an emergency.
+
+
+Author: Werner Almesberger <wer...@openmoko.org>




--- End Message ---
--- Begin Message ---
Author: werner
Date: 2009-08-15 12:33:57 +0200 (Sat, 15 Aug 2009)
New Revision: 5451

Modified:
   trunk/gta02-core/docs/ecn/STATUS
   trunk/gta02-core/docs/ecn/ecn0028.txt
Log:
- ECN0028: cancelled as too risky



Modified: trunk/gta02-core/docs/ecn/STATUS
===================================================================
--- trunk/gta02-core/docs/ecn/STATUS    2009-08-15 10:16:23 UTC (rev 5450)
+++ trunk/gta02-core/docs/ecn/STATUS    2009-08-15 10:33:57 UTC (rev 5451)
@@ -27,4 +27,4 @@
 0025   Done    Connect CLKOUT1 to UEXTCLK (U1501)
 0026   Discuss Improve bus termination at sd-card
 0027   Edit    Renamed some nets for clarity
-0028   Edit    Remove USB "charge path" power switch U4905
+0028   Cancel  Remove USB "charge path" power switch U4905

Modified: trunk/gta02-core/docs/ecn/ecn0028.txt
===================================================================
--- trunk/gta02-core/docs/ecn/ecn0028.txt       2009-08-15 10:16:23 UTC (rev 
5450)
+++ trunk/gta02-core/docs/ecn/ecn0028.txt       2009-08-15 10:33:57 UTC (rev 
5451)
@@ -1,7 +1,7 @@
 Remove USB "charge path" power switch U4905
 
 
-We can just disable USB host power at the PMU, so U4905 has no real
+We could just disable USB host power at the PMU, so U4905 has no real
 purpose. Note that an overvoltage-limiting component should be used in
 the future, as explained in ECN0014.
 
@@ -19,5 +19,7 @@
 - when switching to USB host mode, make sure the PMU MBC is in USB
   suspend mode (MBCC7.usbdevstat = 3)
 
+Considered too risky, so let's not do this.
 
+
 Author: Werner Almesberger <wer...@openmoko.org>




--- End Message ---
--- Begin Message ---
Author: werner
Date: 2009-08-15 12:58:52 +0200 (Sat, 15 Aug 2009)
New Revision: 5452

Modified:
   trunk/gta02-core/docs/ecn/ecn0014.txt
Log:
- ecn0014: clean up VBAT and discuss naming of nUSB_OC net



Modified: trunk/gta02-core/docs/ecn/ecn0014.txt
===================================================================
--- trunk/gta02-core/docs/ecn/ecn0014.txt       2009-08-15 10:33:57 UTC (rev 
5451)
+++ trunk/gta02-core/docs/ecn/ecn0014.txt       2009-08-15 10:58:52 UTC (rev 
5452)
@@ -13,6 +13,19 @@
 Joerg Reisenweber has designed a circuit using the BQ24314DSG:
 ecn0014/U4905-circuit.png
 
+Based on further comments from Joerg:
+
+VBAT overvoltage checking is not really used in this scenario.
+According to the BQ24314 data sheet:
+
+| If the Bat-OVP function is not required, the VBAT pin should be
+| connected to VSS.
+
+Therefore, R4903 should be removed and VBAT connected to GND.
+Also, nUSB_OC is a bit mis-named since there should never be an
+overcurrent condition (barring catastrophic PMU failure.) nUSB_OV
+would describe its function more accurately.
+
 Defer this to post-gta02-core since it requires a new part and it's
 not an emergency.
 




--- End Message ---
--- Begin Message ---
Author: werner
Date: 2009-08-15 21:37:13 +0200 (Sat, 15 Aug 2009)
New Revision: 5453

Modified:
   trunk/gta02-core/docs/ecn/STATUS
Log:
- Moved ECNs 0003-0007 from "Discuss" to "Execute".



Modified: trunk/gta02-core/docs/ecn/STATUS
===================================================================
--- trunk/gta02-core/docs/ecn/STATUS    2009-08-15 10:58:52 UTC (rev 5452)
+++ trunk/gta02-core/docs/ecn/STATUS    2009-08-15 19:37:13 UTC (rev 5453)
@@ -2,11 +2,11 @@
 -------        ------- 
---------------------------------------------------------------
 0001   Edit    Remove Glamo (U1801)
 0002   Edit    Remove NOR (U2501)
-0003   Discuss Remove SHUTDOWN net and connect PMU.SHUTDOWN directly to GND
-0004   Discuss Remove R1767 and R1768 and connect all PMU.EXTONx to R1766
-0005   Discuss Simplify/remove BAT_ID/BATTEMP circuit (R1769)
-0006   Discuss Either remove or populate R1701 (PMU.ADAPTSNS pull-down)
-0007   Discuss Remove KEEPACT net and connect PMU.KEEPACT directly to IO_3V3
+0003   Execute Remove SHUTDOWN net and connect PMU.SHUTDOWN directly to GND
+0004   Execute Remove R1767 and R1768 and connect all PMU.EXTONx to R1766
+0005   Execute Simplify/remove BAT_ID/BATTEMP circuit (R1769)
+0006   Execute Either remove or populate R1701 (PMU.ADAPTSNS pull-down)
+0007   Execute Remove KEEPACT net and connect PMU.KEEPACT directly to IO_3V3
 0008   Edit    Remove external GPS antenna connector and circuit (CON7602)
 0009   Execute Remove LED transistors (Q1501 and Q1502)
 0010   Discuss Remove audio amplifier (U4101)




--- End Message ---
--- Begin Message ---
Author: werner
Date: 2009-08-15 22:52:08 +0200 (Sat, 15 Aug 2009)
New Revision: 5454

Modified:
   trunk/eda/fped/Makefile
   trunk/eda/fped/TODO
   trunk/eda/fped/coord.c
   trunk/eda/fped/coord.h
   trunk/eda/fped/gui_canvas.c
   trunk/eda/fped/gui_status.c
   trunk/eda/fped/gui_status.h
   trunk/eda/fped/inst.c
Log:
- added -std=gnu99 so that we can use "round" and M_PI
- added unit status and selection (in lower right corner)
- added automatic unit selection
- pointer coordinates are now shown with their unit
- updated display of X, Y, width, offset, and radius for unit selection



Modified: trunk/eda/fped/Makefile
===================================================================
--- trunk/eda/fped/Makefile     2009-08-15 19:37:13 UTC (rev 5453)
+++ trunk/eda/fped/Makefile     2009-08-15 20:52:08 UTC (rev 5454)
@@ -27,7 +27,7 @@
 
 CFLAGS_WARN=-Wall -Wshadow -Wmissing-prototypes \
             -Wmissing-declarations
-CFLAGS=-g $(CFLAGS_GTK) -DCPP='"cpp"' $(CFLAGS_WARN)
+CFLAGS=-g -std=gnu99 $(CFLAGS_GTK) -DCPP='"cpp"' $(CFLAGS_WARN)
 SLOPPY=-Wno-unused -Wno-implicit-function-declaration -Wno-missing-prototypes \
        -Wno-missing-declarations
 LDLIBS = -lm -lfl $(LIBS_GTK)

Modified: trunk/eda/fped/TODO
===================================================================
--- trunk/eda/fped/TODO 2009-08-15 19:37:13 UTC (rev 5453)
+++ trunk/eda/fped/TODO 2009-08-15 20:52:08 UTC (rev 5454)
@@ -1,7 +1,5 @@
 Major missing features:
 - populate input area (still needed: mm/mil, rezoom)
-- add default unit (combine with grid unit selection ?)
-- consider adding auto/mm/mil selection for each dimension
 - add postscript output (partially done)
 - add option to include/omit helper vecs and frames (done for display, still
   need postscript). Better idea: in PS, print the component 10x, 1x, and then

Modified: trunk/eda/fped/coord.c
===================================================================
--- trunk/eda/fped/coord.c      2009-08-15 19:37:13 UTC (rev 5453)
+++ trunk/eda/fped/coord.c      2009-08-15 20:52:08 UTC (rev 5454)
@@ -30,6 +30,44 @@
        return mil*pow(MIL_IN_MM, exponent);
 }
 
+
+/* ----- convert internal units to best external unit ---------------------- */
+
+
+double units_to_best(unit_type u, int *mm)
+{
+       /*
+        * For finding the best choice, we work with deci-micrometers and
+        * micro-inches. The conversion to "dum" is actually a no-op, but that
+        * may change if we ever pick a different internal unit than 0.1 um.
+        */
+
+       long dum = round(units_to_mm(u)*10000.0);
+       long uin = round(units_to_mil(u)*1000.0);
+
+       /* remove trailing zeroes */
+
+       while (dum && !(dum % 10))
+               dum /= 10;
+       while (uin && !(uin % 10))
+               uin /= 10;
+
+       /* ceil(log10(dum)) <= ceil(log10(uin)) ? */
+
+       while (dum && uin) {
+               dum /= 10;
+               uin /= 10;
+       }
+       if (!dum) {
+               *mm = 1;
+               return units_to_mm(u);
+       } else {
+               *mm = 0;
+               return units_to_mil(u);
+       }
+}
+
+
 /* ----- vector operations ------------------------------------------------- */
 
 

Modified: trunk/eda/fped/coord.h
===================================================================
--- trunk/eda/fped/coord.h      2009-08-15 19:37:13 UTC (rev 5453)
+++ trunk/eda/fped/coord.h      2009-08-15 20:52:08 UTC (rev 5454)
@@ -54,6 +54,12 @@
 }
 
 
+static inline double units_to_mil(unit_type u)
+{
+       return (double) u/MIL_UNITS;
+}
+
+
 static inline int units_to_kicad(unit_type u)
 {
        return (double) u/KICAD_UNIT;
@@ -69,6 +75,8 @@
 double mm_to_mil(double mm, int exponent);
 double mil_to_mm(double mil, int exponent);
 
+double units_to_best(unit_type u, int *mm);
+
 struct coord normalize(struct coord v, unit_type len);
 struct coord rotate(struct coord v, double angle);
 struct coord add_vec(struct coord a, struct coord b);

Modified: trunk/eda/fped/gui_canvas.c
===================================================================
--- trunk/eda/fped/gui_canvas.c 2009-08-15 19:37:13 UTC (rev 5453)
+++ trunk/eda/fped/gui_canvas.c 2009-08-15 20:52:08 UTC (rev 5454)
@@ -55,10 +55,10 @@
 
 static void update_pos(struct coord pos)
 {
-       status_set_sys_x("X %5.2lf" , units_to_mm(pos.x));
-       status_set_sys_y("Y %5.2lf" , units_to_mm(pos.y));
-       status_set_user_x("x %5.2lf", units_to_mm(pos.x-user_origin.x));
-       status_set_user_y("y %5.2lf", units_to_mm(pos.y-user_origin.y));
+       set_with_units(status_set_sys_x, "X ", pos.x);
+       set_with_units(status_set_sys_y, "Y ", pos.x);
+       set_with_units(status_set_user_x, "x ", pos.x-user_origin.x);
+       set_with_units(status_set_user_y, "y ", pos.y-user_origin.y);
 }
 
 

Modified: trunk/eda/fped/gui_status.c
===================================================================
--- trunk/eda/fped/gui_status.c 2009-08-15 19:37:13 UTC (rev 5453)
+++ trunk/eda/fped/gui_status.c 2009-08-15 20:52:08 UTC (rev 5454)
@@ -41,6 +41,15 @@
        void (*store)(const char *s, void *ctx);
 };
 
+
+static enum curr_unit {
+       unit_mm,
+       unit_mil,
+       unit_auto,
+       unit_n
+} curr_unit = unit_mm;
+
+
 static GtkWidget *open_edits = NULL;
 static GtkWidget *last_edit = NULL;
 
@@ -55,7 +64,7 @@
 static GtkWidget *status_r, *status_angle;
 static GtkWidget *status_sys_x, *status_sys_y;
 static GtkWidget *status_user_x, *status_user_y;
-static GtkWidget *status_zoom, *status_grid;
+static GtkWidget *status_zoom, *status_grid, *status_unit;
 static GtkWidget *status_msg;
 
 
@@ -93,8 +102,43 @@
 SETTER(user_y)
 SETTER(zoom)
 SETTER(grid)
+SETTER(unit)
 
 
+/* ----- set things with units --------------------------------------------- */
+
+
+void set_with_units(void (*set)(const char *fmt, ...), const char *prefix,
+    unit_type u)
+{
+       double n;
+       int mm;
+
+       switch (curr_unit) {
+       case unit_mm:
+               n = units_to_mm(u);
+               mm = 1;
+               break;
+       case unit_mil:
+               n = units_to_mil(u);
+               mm = 0;
+               break;
+       case unit_auto:
+               n = units_to_best(u, &mm);
+               break;
+       default:
+               abort();
+       }
+       if (mm) {
+               /* -NNN.NNN mm */
+               set("%s%8.3f mm", prefix, n);
+       } else {
+               /* -NNNN.N mil */
+               set("%s%7.1f mil", prefix, n);
+       }
+}
+
+
 /* ----- complex status updates -------------------------------------------- */
 
 
@@ -104,8 +148,8 @@
        status_set_type_x("X =");
        status_set_type_y("Y =");
 
-       status_set_x("%5.2f mm", units_to_mm(coord.x));
-       status_set_y("%5.2f mm", units_to_mm(coord.y));
+       set_with_units(status_set_x, "", coord.x);
+       set_with_units(status_set_y, "", coord.y);
 }
 
 
@@ -500,12 +544,10 @@
                return TRUE;
        for (edit = open_edits; edit;
            edit = gtk_object_get_data(GTK_OBJECT(edit), "edit-next"))
-{
                if (get_status(edit) == es_good) {
                        entry_color(edit, COLOR_EDIT_ASIS);
                        set_edit(edit);
                }
-}
        inst_deselect();
        change_world();
        return TRUE;
@@ -553,10 +595,38 @@
 }
 
 
+/* ----- unit selection ---------------------------------------------------- */
+
+
+static gboolean unit_button_press_event(GtkWidget *widget,
+    GdkEventButton *event, gpointer data)
+{
+       switch (event->button) {
+       case 1:
+               curr_unit = (curr_unit+1) % unit_n;
+               switch (curr_unit) {
+               case unit_mm:
+                       status_set_unit("mm");
+                       break;
+               case unit_mil:
+                       status_set_unit("mil");
+                       break;
+               case unit_auto:
+                       status_set_unit("auto");
+                       break;
+               default:
+                       abort();
+               }
+               break;
+       }
+       return TRUE;
+}
+
+
 /* ----- setup ------------------------------------------------------------- */
 
 
-static GtkWidget *add_label(GtkWidget *tab, int col, int row)
+static GtkWidget *add_label_basic(GtkWidget *tab, int col, int row)
 {
        GtkWidget *label;
 
@@ -565,7 +635,15 @@
            col, col+1, row, row+1,
            GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 1);
            /* 0 , 1 - padding */
+       return label;
+}
 
+
+static GtkWidget *add_label(GtkWidget *tab, int col, int row)
+{
+       GtkWidget *label;
+
+       label = add_label_basic(tab, col, row);
        gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
        gtk_label_set_selectable(GTK_LABEL(label), TRUE);
        return label;
@@ -632,11 +710,18 @@
        status_r = add_label(tab, 4, 2);
        status_angle = add_label(tab, 5, 2);
 
-       /* zoom / grid */
+       /* zoom / grid / unit */
 
        status_zoom = add_label(tab, 6, 0);
        status_grid = add_label(tab, 6, 1);
+       status_unit = add_label_basic(tab, 6, 2);
 
+       /* unit selection */
+
+       status_set_unit("mm");
+       g_signal_connect(G_OBJECT(box_of_label(status_unit)),
+           "button_press_event", G_CALLBACK(unit_button_press_event), NULL);
+
        /* message bar */
 
        status_msg = gtk_statusbar_new();

Modified: trunk/eda/fped/gui_status.h
===================================================================
--- trunk/eda/fped/gui_status.h 2009-08-15 19:37:13 UTC (rev 5453)
+++ trunk/eda/fped/gui_status.h 2009-08-15 20:52:08 UTC (rev 5454)
@@ -30,6 +30,9 @@
 void edit_y(struct expr **expr);
 void edit_nothing(void);
 
+void set_with_units(void (*set)(const char *fmt, ...), const char *prefix,
+    unit_type u);
+
 void status_set_type_x(const char *fmt, ...);
 void status_set_type_y(const char *fmt, ...);
 void status_set_type_entry(const char *fmt, ...);
@@ -44,6 +47,7 @@
 void status_set_user_y(const char *fmt, ...);
 void status_set_zoom(const char *fmt, ...);
 void status_set_grid(const char *fmt, ...);
+void status_set_unit(const char *fmt, ...);
 
 void status_set_xy(struct coord coord);
 

Modified: trunk/eda/fped/inst.c
===================================================================
--- trunk/eda/fped/inst.c       2009-08-15 19:37:13 UTC (rev 5453)
+++ trunk/eda/fped/inst.c       2009-08-15 20:52:08 UTC (rev 5454)
@@ -389,10 +389,10 @@
                angle = theta(a, b);
                status_set_angle("a = %3.1f deg", angle);
        }
-       status_set_r("r = %5.2f mm", hypot(units_to_mm(d.x), units_to_mm(d.y)));
+       set_with_units(status_set_r, "r = ", hypot(d.x, d.y));
        if (width != -1) {
                status_set_type_entry("width =");
-               status_set_name("%5.2f mm", units_to_mm(width));
+               set_with_units(status_set_name, "", width);
        }
 }
 
@@ -769,9 +769,9 @@
        status_set_angle("a = %3.1f deg",
            self->u.arc.a1 == self->u.arc.a2 ? 360 :
            self->u.arc.a2-self->u.arc.a1);
-       status_set_r("r = %5.2f mm", units_to_mm(self->u.arc.r));
+       set_with_units(status_set_r, "r = ", self->u.arc.r);
        status_set_type_entry("width =");
-       status_set_name("%5.2f mm", units_to_mm(self->u.arc.width));
+       set_with_units(status_set_name, "", self->u.arc.width);
        obj_arc_edit(self->obj);
 }
 
@@ -845,7 +845,7 @@
 {
        rect_status(self->bbox.min, self->bbox.max, -1);
        status_set_type_entry("offset =");
-       status_set_name("%5.2f mm", units_to_mm(self->u.meas.offset));
+       set_with_units(status_set_name, "", self->u.meas.offset);
        obj_meas_edit(self->obj);
 }
 




--- End Message ---
--- Begin Message ---
Author: werner
Date: 2009-08-16 00:06:51 +0200 (Sun, 16 Aug 2009)
New Revision: 5455

Modified:
   trunk/eda/fped/dump.c
Log:
- dump.c didn't complete vector names used in measurements, causing them to be
  lost and producing an invalid fpd file



Modified: trunk/eda/fped/dump.c
===================================================================
--- trunk/eda/fped/dump.c       2009-08-15 20:52:08 UTC (rev 5454)
+++ trunk/eda/fped/dump.c       2009-08-15 22:06:51 UTC (rev 5455)
@@ -355,10 +355,14 @@
 
 static char *print_meas_base(struct vec *base)
 {
+       char *name, *res;
+
+       name = base_name(base, NULL);
        if (base->frame == root_frame)
-               return stralloc_printf("%s", base->name);
-       else
-               return stralloc_printf("%s.%s", base->frame->name, base->name);
+               return name;
+       res = stralloc_printf("%s.%s", base->frame->name, name);
+       free(name);
+       return res;
 }
 
 




--- End Message ---
--- Begin Message ---
Author: werner
Date: 2009-08-16 00:36:39 +0200 (Sun, 16 Aug 2009)
New Revision: 5456

Added:
   trunk/gta02-core/modules/
   trunk/gta02-core/modules/INFO
   trunk/gta02-core/modules/STATUS
   trunk/gta02-core/modules/bga96-8x12-0mm8.fpd
Modified:
   trunk/gta02-core/AUTHORS
Log:
Started module collection with ATR0635 BGA96, 8x12 balls, 0.8 mm pitch.



Modified: trunk/gta02-core/AUTHORS
===================================================================
--- trunk/gta02-core/AUTHORS    2009-08-15 22:06:51 UTC (rev 5455)
+++ trunk/gta02-core/AUTHORS    2009-08-15 22:36:39 UTC (rev 5456)
@@ -80,3 +80,4 @@
 
   The scripts under scripts/ and expanded/
   components/mkloe
+  modules/bga96-8x12-0mm8.fpd

Added: trunk/gta02-core/modules/INFO
===================================================================
--- trunk/gta02-core/modules/INFO                               (rev 0)
+++ trunk/gta02-core/modules/INFO       2009-08-15 22:36:39 UTC (rev 5456)
@@ -0,0 +1,14 @@
+#
+# Tags:
+#
+# F  Footprint name (must be first)
+# S  Symbol name (from ../components/INFO)
+# C  Component name
+# D  Data sheet URL
+#
+# If symbol data sheet contains footprint, don't repeat it here.
+#
+
+F: bga96-8x12-0mm8.fpd
+S: atr0635
+# ATR0635 data sheet page 33

Added: trunk/gta02-core/modules/STATUS
===================================================================
--- trunk/gta02-core/modules/STATUS                             (rev 0)
+++ trunk/gta02-core/modules/STATUS     2009-08-15 22:36:39 UTC (rev 5456)
@@ -0,0 +1,3 @@
+Footprint (file name)          Author  Review  2nd rv. 3rd rv. Remarks
+-----------------------                ------- ------- ------- ------- 
-------------
+bga96-8x12-0mm8                        Werner

Added: trunk/gta02-core/modules/bga96-8x12-0mm8.fpd
===================================================================
--- trunk/gta02-core/modules/bga96-8x12-0mm8.fpd                                
(rev 0)
+++ trunk/gta02-core/modules/bga96-8x12-0mm8.fpd        2009-08-15 22:36:39 UTC 
(rev 5456)
@@ -0,0 +1,59 @@
+/* MACHINE-GENERATED ! */
+
+frame outline {
+       set A = 7mm
+
+       set B = 10mm
+
+       ll: vec @(-B/2, -A/2)
+       ur: vec @(B/2, A/2)
+       rect ll . silk
+}
+
+frame marking {
+       __0: vec @(e/2, 0mm)
+       circ @ . silk
+}
+
+frame ball {
+       ll: vec @(-Pd/2, -Pd/2)
+       ur: vec @(Pd/2, Pd/2)
+       rpad "$rname$col" ll .
+}
+
+frame balls {
+       table
+           { row, rname }
+           { 1, "A" }
+           { 2, "B" }
+           { 3, "C" }
+           { 4, "D" }
+           { 5, "E" }
+           { 6, "F" }
+           { 7, "G" }
+           { 8, "H" }
+
+       loop col = 1, 12
+
+       cxy: vec @(e*(col-1), -e*(row-1))
+       frame ball .
+}
+
+part "BGA96-8x12-0.8mm"
+set Pd = 0.4mm
+
+set e = 0.8mm
+
+set silk = 5mil
+
+a1: vec @(-5.5*e, 3.5*e)
+frame balls .
+frame marking .
+frame outline @
+measy balls.cxy -> balls.cxy 1mm
+measy balls.cxy >> a1 1.3mm
+measx a1 >> balls.cxy 1.3mm
+measx a1 -> balls.cxy 1mm
+measy outline.ll >> outline.ur 1.1mm
+measx outline.ll >> outline.ur -1mm
+measx ball.ll -> ball.ur -1mm




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

Reply via email to