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. r5445 - trunk/eda/fped (wer...@docs.openmoko.org)
   2. r5446 - trunk/eda/fped (wer...@docs.openmoko.org)
   3. r5447 - trunk/gta02-core/docs/ecn (wer...@docs.openmoko.org)
   4. r5448 - trunk/gta02-core/docs/ecn (wer...@docs.openmoko.org)
   5. r5449 - trunk/gta02-core/docs/ecn (wer...@docs.openmoko.org)
--- Begin Message ---
Author: werner
Date: 2009-08-14 17:53:21 +0200 (Fri, 14 Aug 2009)
New Revision: 5445

Modified:
   trunk/eda/fped/inst.c
Log:
- when selecting an item in the canvas, we now check that the underlying object
  is still connected. This prevents surprises when making extensive changes
  during instantiation failure.



Modified: trunk/eda/fped/inst.c
===================================================================
--- trunk/eda/fped/inst.c       2009-08-14 14:39:17 UTC (rev 5444)
+++ trunk/eda/fped/inst.c       2009-08-14 15:53:21 UTC (rev 5445)
@@ -40,7 +40,10 @@
 
 static unsigned long active_set = 0;
 
+static struct inst_ops vec_ops;
+static struct inst_ops frame_ops;
 
+
 #define        IS_ACTIVE       ((active_set & 1))
 
 
@@ -87,13 +90,44 @@
 }
 
 
-/* ----- selection --------------------------------------------------------- */
+/* ----- check connectedness ----------------------------------------------- */
 
 
-static struct inst_ops vec_ops;
-static struct inst_ops frame_ops;
+/*
+ * After an instantiation failure, the instances can get out of sync with the
+ * object tree, and attempts to select an item on the canvas can cause accesses
+ * to objects that aren't there anymore. So we need to check if we can still
+ * reach the corresponding object.
+ *
+ * Note: even this isn't bullet-proof. Theoretically, we may get a new object
+ * in the old place. However, this probably doesn't do any serious damage.
+ */
 
 
+static int inst_connected(const struct inst *inst)
+{
+       const struct frame *frame;
+       const struct vec *vec;
+       const struct obj *obj;
+
+       for (frame = frames; frame; frame = frame->next) {
+               if (inst->ops == &vec_ops) {
+                       for (vec = frame->vecs; vec; vec = vec->next)
+                               if (vec == inst->vec)
+                                       return 1;
+               } else {
+                       for (obj = frame->objs; obj; obj = obj->next)
+                               if (obj == inst->obj)
+                                       return 1;
+               }
+       }
+       return 0;
+}
+
+
+/* ----- selection --------------------------------------------------------- */
+
+
 static void set_path(int on)
 {
        struct inst *inst;
@@ -140,6 +174,8 @@
                for (inst = insts[prio]; inst; inst = inst->next) {
                        if (!inst->active || !inst->ops->distance)
                                continue;
+                       if (!inst_connected(inst))
+                               continue;
                        dist = inst->ops->distance(inst, pos, draw_ctx.scale);
                        if (dist >= 0 && (!selected_inst || best_dist > dist)) {
                                selected_inst = inst;
@@ -158,6 +194,8 @@
        for (inst = insts[ip_vec]; inst; inst = inst->next) {
                if (!inst->active)
                        continue;
+               if (!inst_connected(inst))
+                       continue;
                dist = gui_dist_vec_fallback(inst, pos, draw_ctx.scale);
                if (dist >= 0 && (!selected_inst || best_dist > dist)) {
                        selected_inst = inst;




--- End Message ---
--- Begin Message ---
Author: werner
Date: 2009-08-15 00:12:16 +0200 (Sat, 15 Aug 2009)
New Revision: 5446

Modified:
   trunk/eda/fped/fpd.y
   trunk/eda/fped/gui_frame.c
Log:
- KiCad is very liberal when it comes to valid part names, and so are we now
  (i.e., we now accept anything but control and non-ASCII characters)



Modified: trunk/eda/fped/fpd.y
===================================================================
--- trunk/eda/fped/fpd.y        2009-08-14 15:53:21 UTC (rev 5445)
+++ trunk/eda/fped/fpd.y        2009-08-14 22:12:16 UTC (rev 5446)
@@ -207,7 +207,7 @@
                                YYABORT;
                        }
                        for (p = $2; *p; *p++)
-                               if (!is_id_char(*p, 0)) {
+                               if (*p < 32 || *p > 126) {
                                        yyerrorf("invalid part name");
                                        YYABORT;
                                }

Modified: trunk/eda/fped/gui_frame.c
===================================================================
--- trunk/eda/fped/gui_frame.c  2009-08-14 15:53:21 UTC (rev 5445)
+++ trunk/eda/fped/gui_frame.c  2009-08-14 22:12:16 UTC (rev 5446)
@@ -1120,9 +1120,11 @@
 {
        if (!*s)
                return 0;
-       while (*s)
-               if (!is_id_char(*s++, 0))
+       while (*s) {
+               if (*s < 32 || *s > 126)
                        return 0;
+               s++;
+       }
        return 1;
 }
 




--- End Message ---
--- Begin Message ---
Author: werner
Date: 2009-08-15 01:16:40 +0200 (Sat, 15 Aug 2009)
New Revision: 5447

Modified:
   trunk/gta02-core/docs/ecn/README
   trunk/gta02-core/docs/ecn/STATUS
   trunk/gta02-core/docs/ecn/ecn0009.txt
   trunk/gta02-core/docs/ecn/ecn0012.txt
Log:
- ecn0009 moves from Discuss to Execute. Also got reviewed by Joerg.
- README: added new state "Done". Until now, the only way to stop working
  on an ECNs was to cancel or defer it :-)



Modified: trunk/gta02-core/docs/ecn/README
===================================================================
--- trunk/gta02-core/docs/ecn/README    2009-08-14 22:12:16 UTC (rev 5446)
+++ trunk/gta02-core/docs/ecn/README    2009-08-14 23:16:40 UTC (rev 5447)
@@ -102,6 +102,9 @@
 
 - Execute: ECN is being implemented and reviewed.
 
+- Done: ECN has been implemented and the implementation has been
+  reviewed.
+
 - Defer: ECN will not be implemented in the current hardware revision
   but may be considered for future revisions.
 

Modified: trunk/gta02-core/docs/ecn/STATUS
===================================================================
--- trunk/gta02-core/docs/ecn/STATUS    2009-08-14 22:12:16 UTC (rev 5446)
+++ trunk/gta02-core/docs/ecn/STATUS    2009-08-14 23:16:40 UTC (rev 5447)
@@ -8,7 +8,7 @@
 0006   Discuss Either remove or populate R1701 (PMU.ADAPTSNS pull-down)
 0007   Discuss Remove KEEPACT net and connect PMU.KEEPACT directly to IO_3V3
 0008   Edit    Remove external GPS antenna connector and circuit (CON7602)
-0009   Discuss Remove LED transistors (Q1501 and Q1502)
+0009   Execute Remove LED transistors (Q1501 and Q1502)
 0010   Discuss Remove audio amplifier (U4101)
 0011   Edit    Reduce number of varistors on USB_VBUS (C4902, C4909)
 0012   Defer   Add fuse to USB_VBUS

Modified: trunk/gta02-core/docs/ecn/ecn0009.txt
===================================================================
--- trunk/gta02-core/docs/ecn/ecn0009.txt       2009-08-14 22:12:16 UTC (rev 
5446)
+++ trunk/gta02-core/docs/ecn/ecn0009.txt       2009-08-14 23:16:40 UTC (rev 
5447)
@@ -49,3 +49,4 @@
 Author: Werner Almesberger <wer...@openmoko.org>
 Review: Dave Ball <openm...@daveball.org.uk>, rev5338, reverse the logic 
        for gta02-core, less hassle than sourcing new LED's.
+Review: Joerg Reisenweber <jo...@openmoko.org>, SVN 5446

Modified: trunk/gta02-core/docs/ecn/ecn0012.txt
===================================================================
--- trunk/gta02-core/docs/ecn/ecn0012.txt       2009-08-14 22:12:16 UTC (rev 
5446)
+++ trunk/gta02-core/docs/ecn/ecn0012.txt       2009-08-14 23:16:40 UTC (rev 
5447)
@@ -4,3 +4,6 @@
 The GTA03-6410 design added a small fuse of USB_VBUS.
 
 To keep sourcing for gta02-core simple, we should defer this change.
+
+
+Author: Werner Almesberger <wer...@openmoko.org>




--- End Message ---
--- Begin Message ---
Author: werner
Date: 2009-08-15 01:32:47 +0200 (Sat, 15 Aug 2009)
New Revision: 5448

Added:
   trunk/gta02-core/docs/ecn/ecn0028.txt
Modified:
   trunk/gta02-core/docs/ecn/STATUS
   trunk/gta02-core/docs/ecn/ecn0025.txt
Log:
- ECN0025 moves to Done. First one to cross the finishing line.
- added ECN0028, proposing removal of U4905



Modified: trunk/gta02-core/docs/ecn/STATUS
===================================================================
--- trunk/gta02-core/docs/ecn/STATUS    2009-08-14 23:16:40 UTC (rev 5447)
+++ trunk/gta02-core/docs/ecn/STATUS    2009-08-14 23:32:47 UTC (rev 5448)
@@ -24,6 +24,7 @@
 0022   Discuss Apply bass fix
 0023   Edit    Fix #1024 (C1009)
 0024   Edit    Improve GPS ground and PCB layout
-0025   Discuss Connect CLKOUT1 to UEXTCLK (U1501)
+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 host power switch

Modified: trunk/gta02-core/docs/ecn/ecn0025.txt
===================================================================
--- trunk/gta02-core/docs/ecn/ecn0025.txt       2009-08-14 23:16:40 UTC (rev 
5447)
+++ trunk/gta02-core/docs/ecn/ecn0025.txt       2009-08-14 23:32:47 UTC (rev 
5448)
@@ -12,3 +12,4 @@
 Author: Rask Ingemann Lambertsen <ccc94...@vip.cybercity.dk>
 Review: Dave Ball <openm...@daveball.org.uk>, rev5338.
 Commit: SVN 5339, Connect CLKOUT1 to UEXTCLK
+Review: Werner Almesberger <wer...@openmoko.org>, SVN 5447

Added: trunk/gta02-core/docs/ecn/ecn0028.txt
===================================================================
--- trunk/gta02-core/docs/ecn/ecn0028.txt                               (rev 0)
+++ trunk/gta02-core/docs/ecn/ecn0028.txt       2009-08-14 23:32:47 UTC (rev 
5448)
@@ -0,0 +1,23 @@
+Remove USB "charge path" power switch U4905
+
+
+We can 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.
+
+Hardware changes:
+
+- remove U4905
+- eliminate net USB_VBUS and just call it VBUS (i.e., merge the two)
+- remove C4911, C4913, R4920
+- remove C4909 (see also ECN0011)
+- keep R1918 but move it to the up-converter delivering host mode power
+- eliminate net nUSB_OC, freeing GPG9
+
+Software changes:
+
+- when switching to USB host mode, make sure the PMU MBC is in USB
+  suspend mode (MBCC7.usbdevstat = 3)
+
+
+Author: Werner Almesberger <wer...@openmoko.org>




--- End Message ---
--- Begin Message ---
Author: werner
Date: 2009-08-15 01:34:25 +0200 (Sat, 15 Aug 2009)
New Revision: 5449

Modified:
   trunk/gta02-core/docs/ecn/STATUS
Log:
Oops, title of ECN0028 was wrong in STATUS.



Modified: trunk/gta02-core/docs/ecn/STATUS
===================================================================
--- trunk/gta02-core/docs/ecn/STATUS    2009-08-14 23:32:47 UTC (rev 5448)
+++ trunk/gta02-core/docs/ecn/STATUS    2009-08-14 23:34:25 UTC (rev 5449)
@@ -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 host power switch
+0028   Edit    Remove USB "charge path" power switch U4905




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

Reply via email to