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. r5480 - trunk/eda/fped (wer...@docs.openmoko.org)
2. r5481 - trunk/eda/fped (wer...@docs.openmoko.org)
3. r5482 - trunk/eda/fped (wer...@docs.openmoko.org)
4. r5483 - trunk/gta02-core/modules (wer...@docs.openmoko.org)
5. r5484 - trunk/eda/fped (wer...@docs.openmoko.org)
6. r5485 - in trunk/gta02-core: . modules (wer...@docs.openmoko.org)
--- Begin Message ---
Author: werner
Date: 2009-08-18 22:52:09 +0200 (Tue, 18 Aug 2009)
New Revision: 5480
Modified:
trunk/eda/fped/TODO
trunk/eda/fped/gui_tool.c
trunk/eda/fped/inst.c
trunk/eda/fped/inst.h
trunk/eda/fped/meas.c
trunk/eda/fped/meas.h
Log:
Finally found a nice way to draw arcs in the GUI.
- we freed a package's samples list after recalculating the number of samples,
which caused a crash after adding a new vector. We now record the original
list length in the package structure.
- when dragging a circle, offer the end point first, so that it becomes an arc
Modified: trunk/eda/fped/TODO
===================================================================
--- trunk/eda/fped/TODO 2009-08-17 21:00:09 UTC (rev 5479)
+++ trunk/eda/fped/TODO 2009-08-18 20:52:09 UTC (rev 5480)
@@ -35,7 +35,6 @@
- whenever we call parse_* for input parsing, we may leak lots of expressions
- can't edit measurement labels through the GUI
- r of rpads is misleading, particularly if we have a circle
-- we can't enter an arc through the GUI / can't convert a circle to an arc
- using variables in a measurement offset causes a crash because evaluation
takes place after all table entries have been visited
Modified: trunk/eda/fped/gui_tool.c
===================================================================
--- trunk/eda/fped/gui_tool.c 2009-08-17 21:00:09 UTC (rev 5479)
+++ trunk/eda/fped/gui_tool.c 2009-08-18 20:52:09 UTC (rev 5480)
@@ -471,12 +471,10 @@
case 0:
c = pos;
break;
- case 1:
- from = pos;
- if (inst->obj->u.arc.start != inst->obj->u.arc.end)
- break;
- /* fall through */
case 2:
+ from = pos;
+ break;
+ case 1:
to = pos;
break;
default:
@@ -502,7 +500,7 @@
buf = save_pix_buf(DA,
c.x-r_save, c.y-r_save, c.x+r_save, c.y+r_save, 1);
draw_arc(DA, gc_drag, FALSE, c.x, c.y, r, a1, a2);
- if (i == 2) {
+ if (i == 1) {
end = rotate_r(c, r_save, -a2);
gdk_draw_line(DA, gc_drag, c.x, c.y, end.x, end.y);
}
@@ -514,19 +512,15 @@
{
struct vec *vec = inst_get_vec(to);
struct obj *obj = inst->obj;
- int is_circle;
- is_circle = obj->u.arc.start == obj->u.arc.end;
switch (i) {
case 0:
obj->base = vec;
break;
- case 1:
- obj->u.arc.start = vec;
- if (!is_circle)
- break;
- /* fall through */
case 2:
+ obj->u.arc.start = vec;
+ break;
+ case 1:
obj->u.arc.end = vec;
break;
default:
Modified: trunk/eda/fped/inst.c
===================================================================
--- trunk/eda/fped/inst.c 2009-08-17 21:00:09 UTC (rev 5479)
+++ trunk/eda/fped/inst.c 2009-08-18 20:52:09 UTC (rev 5480)
@@ -737,9 +737,13 @@
{
struct obj *obj = inst->obj;
+ /*
+ * Put end point first so that this is what we grab if dragging a
+ * circle (thereby turning it into an arc).
+ */
anchors[0] = &obj->base;
- anchors[1] = &obj->u.arc.start;
- anchors[2] = &obj->u.arc.end;
+ anchors[1] = &obj->u.arc.end;
+ anchors[2] = &obj->u.arc.start;
return 3;
}
@@ -959,6 +963,7 @@
(*pkg)->next_inst[prio] = &(*pkg)->insts[prio];
(*pkg)->samples =
zalloc_size(sizeof(struct sample *)*n_samples);
+ (*pkg)->n_samples = n_samples;
}
curr_pkg = *pkg;
}
@@ -986,7 +991,7 @@
next = inst->next;
free(inst);
}
- reset_samples(pkg->samples);
+ reset_samples(pkg->samples, pkg->n_samples);
free(pkg->samples);
free(pkg);
pkg = next_pkg;
Modified: trunk/eda/fped/inst.h
===================================================================
--- trunk/eda/fped/inst.h 2009-08-17 21:00:09 UTC (rev 5479)
+++ trunk/eda/fped/inst.h 2009-08-18 20:52:09 UTC (rev 5480)
@@ -114,6 +114,7 @@
struct inst *insts[ip_n];
struct inst **next_inst[ip_n];
struct sample **samples;
+ int n_samples;
struct pkg *next;
};
Modified: trunk/eda/fped/meas.c
===================================================================
--- trunk/eda/fped/meas.c 2009-08-17 21:00:09 UTC (rev 5479)
+++ trunk/eda/fped/meas.c 2009-08-18 20:52:09 UTC (rev 5480)
@@ -27,12 +27,12 @@
struct num eval_unit(const struct expr *expr, const struct frame *frame);
-void reset_samples(struct sample **samples)
+void reset_samples(struct sample **samples, int n)
{
struct sample *next;
int i;
- for (i = 0; i != n_samples; i++)
+ for (i = 0; i != n; i++)
while (samples[i]) {
next = samples[i]->next;
free(samples[i]);
Modified: trunk/eda/fped/meas.h
===================================================================
--- trunk/eda/fped/meas.h 2009-08-17 21:00:09 UTC (rev 5479)
+++ trunk/eda/fped/meas.h 2009-08-18 20:52:09 UTC (rev 5480)
@@ -60,7 +60,7 @@
struct coord meas_find_max(lt_op_type lt, const struct sample *s);
-void reset_samples(struct sample **samples);
+void reset_samples(struct sample **samples, int n);
void meas_start(void);
void meas_post(const struct vec *vec, struct coord pos);
int instantiate_meas(void);
--- End Message ---
--- Begin Message ---
Author: werner
Date: 2009-08-18 22:57:09 +0200 (Tue, 18 Aug 2009)
New Revision: 5481
Modified:
trunk/eda/fped/inst.c
Log:
- stupid typo made us crash when setting the package name
Modified: trunk/eda/fped/inst.c
===================================================================
--- trunk/eda/fped/inst.c 2009-08-18 20:52:09 UTC (rev 5480)
+++ trunk/eda/fped/inst.c 2009-08-18 20:57:09 UTC (rev 5481)
@@ -1016,7 +1016,7 @@
struct pkg *pkg;
if (active_pkg) {
- for (pkg = pkgs; pkgs && pkg->name != active_pkg->name;
+ for (pkg = pkgs; pkg && pkg->name != active_pkg->name;
pkg = pkg->next);
active_pkg = pkg;
}
--- End Message ---
--- Begin Message ---
Author: werner
Date: 2009-08-19 00:03:51 +0200 (Wed, 19 Aug 2009)
New Revision: 5482
Modified:
trunk/eda/fped/inst.c
trunk/eda/fped/inst.h
trunk/eda/fped/postscript.c
Log:
- replaced awkward FOR_GLOBAL_INSTS / FOR_PKG_INSTS sequence with single
FOR_ALL_INSTS
- several functions only walked the active package instances, so we couldn't
access the origin of the root frame
Modified: trunk/eda/fped/inst.c
===================================================================
--- trunk/eda/fped/inst.c 2009-08-18 20:57:09 UTC (rev 5481)
+++ trunk/eda/fped/inst.c 2009-08-18 22:03:51 UTC (rev 5482)
@@ -158,7 +158,7 @@
enum inst_prio prio;
struct inst *inst;
int best_dist = 0; /* keep gcc happy */
- int dist;
+ int dist, i;
deselect_outside();
edit_nothing();
@@ -170,7 +170,7 @@
FOR_INST_PRIOS_DOWN(prio) {
if (!show(prio))
continue;
- for (inst = active_pkg->insts[prio]; inst; inst = inst->next) {
+ FOR_ALL_INSTS(i, prio, inst) {
if (!inst->active || !inst->ops->distance)
continue;
if (!inst_connected(inst))
@@ -190,7 +190,7 @@
/* give vectors a second chance */
- for (inst = active_pkg->insts[ip_vec]; inst; inst = inst->next) {
+ FOR_ALL_INSTS(i, ip_vec, inst) {
if (!inst->active)
continue;
if (!inst_connected(inst))
@@ -215,10 +215,10 @@
{
struct inst *inst, *found;
int best_dist = 0; /* keep gcc happy */
- int dist;
+ int dist, i;
found = NULL;
- for (inst = active_pkg->insts[ip_frame]; inst; inst = inst->next) {
+ FOR_ALL_INSTS(i, ip_frame, inst) {
if (!inst->u.frame.active)
continue;
dist = gui_dist_frame_eye(inst, pos, draw_ctx.scale);
@@ -230,7 +230,7 @@
if (found)
return found;
- for (inst = active_pkg->insts[ip_vec]; inst; inst = inst->next) {
+ FOR_ALL_INSTS(i, ip_vec, inst) {
if (!inst->active || !inst->ops->distance)
continue;
dist = inst->ops->distance(inst, pos, draw_ctx.scale);
@@ -249,14 +249,13 @@
int n, best_i, i;
struct inst *best = NULL;
struct inst *inst;
- int d_min, d;
+ int d_min, d, j;
assert(selected_inst);
n = inst_anchors(selected_inst, anchors);
for (i = 0; i != n; i++) {
if (*anchors[i]) {
- for (inst = active_pkg->insts[ip_vec]; inst;
- inst = inst->next) {
+ FOR_ALL_INSTS(j, ip_vec, inst) {
if (inst->vec != *anchors[i])
continue;
d = gui_dist_vec(inst, pos, draw_ctx.scale);
@@ -267,8 +266,7 @@
}
}
} else {
- for (inst = active_pkg->insts[ip_frame]; inst;
- inst = inst->next) {
+ FOR_ALL_INSTS(j, ip_vec, inst) {
if (inst != selected_inst->outer)
continue;
d = gui_dist_frame(inst, pos, draw_ctx.scale);
@@ -345,10 +343,11 @@
void inst_select_vec(struct vec *vec)
{
struct inst *inst;
+ int i;
if (vec->frame != active_frame)
select_frame(vec->frame);
- for (inst = active_pkg->insts[ip_vec]; inst; inst = inst->next)
+ FOR_ALL_INSTS(i, ip_vec, inst)
if (inst->vec == vec && inst->active) {
inst_deselect();
inst_select_inst(inst);
@@ -362,17 +361,14 @@
{
enum inst_prio prio;
struct inst *inst;
+ int i;
if (obj->frame != active_frame)
select_frame(obj->frame);
- FOR_INST_PRIOS_DOWN(prio) {
- FOR_GLOBAL_INSTS(prio, inst)
+ FOR_INST_PRIOS_DOWN(prio)
+ FOR_ALL_INSTS(i, prio, inst)
if (inst->obj && inst->obj == obj && inst->active)
goto found;
- FOR_PKG_INSTS(prio, inst)
- if (inst->obj && inst->obj == obj && inst->active)
- goto found;
- }
obj_edit(obj);
return;
@@ -1037,35 +1033,22 @@
{
enum inst_prio prio;
struct inst *inst;
+ int i;
- FOR_INST_PRIOS_UP(prio) {
- FOR_GLOBAL_INSTS(prio, inst)
+ FOR_INST_PRIOS_UP(prio)
+ FOR_ALL_INSTS(i, prio, inst)
if (show(prio) && !inst->active && inst->ops->draw)
inst->ops->draw(inst);
- FOR_PKG_INSTS(prio, inst)
- if (show(prio) && !inst->active && inst->ops->draw)
- inst->ops->draw(inst);
- }
- FOR_INST_PRIOS_UP(prio) {
- FOR_GLOBAL_INSTS(prio, inst)
+ FOR_INST_PRIOS_UP(prio)
+ FOR_ALL_INSTS(i, prio, inst)
if (show(prio) && prio != ip_frame && inst->active &&
inst != selected_inst && inst->ops->draw)
inst->ops->draw(inst);
- FOR_PKG_INSTS(prio, inst)
- if (show(prio) && prio != ip_frame && inst->active &&
- inst != selected_inst && inst->ops->draw)
- inst->ops->draw(inst);
- }
- if (show_stuff) {
- FOR_GLOBAL_INSTS(ip_frame, inst)
+ if (show_stuff)
+ FOR_ALL_INSTS(i, ip_frame, inst)
if (inst->active && inst != selected_inst &&
inst->ops->draw)
inst->ops->draw(inst);
- FOR_PKG_INSTS(ip_frame, inst)
- if (inst->active && inst != selected_inst &&
- inst->ops->draw)
- inst->ops->draw(inst);
- }
if (selected_inst && selected_inst->ops->draw)
selected_inst->ops->draw(selected_inst);
}
@@ -1074,13 +1057,11 @@
void inst_highlight_vecs(int (*pick)(struct inst *inst, void *user), void
*user)
{
struct inst *inst;
+ int i;
- FOR_GLOBAL_INSTS(ip_vec, inst)
+ FOR_ALL_INSTS(i, ip_vec, inst)
if (pick(inst, user))
gui_highlight_vec(inst);
- FOR_PKG_INSTS(ip_vec, inst)
- if (pick(inst, user))
- gui_highlight_vec(inst);
}
@@ -1089,10 +1070,10 @@
{
struct inst *inst, *found;
int best_dist = 0; /* keep gcc happy */
- int dist;
+ int dist, i;
found = NULL;
- FOR_GLOBAL_INSTS(ip_vec, inst) {
+ FOR_ALL_INSTS(i, ip_vec, inst) {
if (!inst->ops->distance)
continue;
dist = inst->ops->distance(inst, pos, draw_ctx.scale);
@@ -1103,17 +1084,6 @@
found = inst;
best_dist = dist;
}
- FOR_PKG_INSTS(ip_vec, inst) {
- if (!inst->ops->distance)
- continue;
- dist = inst->ops->distance(inst, pos, draw_ctx.scale);
- if (dist < 0 || (found && best_dist <= dist))
- continue;
- if (!pick(inst, user))
- continue;
- found = inst;
- best_dist = dist;
- }
return found;
}
Modified: trunk/eda/fped/inst.h
===================================================================
--- trunk/eda/fped/inst.h 2009-08-18 20:57:09 UTC (rev 5481)
+++ trunk/eda/fped/inst.h 2009-08-18 22:03:51 UTC (rev 5482)
@@ -137,19 +137,18 @@
* allow other items shared by all packages be there as well.
*/
-#define FOR_INST_PRIOS_UP(prio) \
+#define FOR_INST_PRIOS_UP(prio)
\
for (prio = 0; prio != ip_n; prio++)
-#define FOR_INST_PRIOS_DOWN(prio) \
+#define FOR_INST_PRIOS_DOWN(prio) \
for (prio = ip_n-1; prio != (enum inst_prio) -1; prio--)
-#define FOR_GLOBAL_INSTS(prio, inst) \
- for (inst = pkgs->insts[prio]; inst; inst = inst->next)
+#define FOR_ALL_INSTS(i, prio, inst)
\
+ for (i = 0; i != 2; i++) \
+ for (inst = (i ? active_pkg : pkgs)->insts[prio]; inst; \
+ inst = inst->next)
-#define FOR_PKG_INSTS(prio, inst) \
- for (inst = active_pkg->insts[prio]; inst; inst = inst->next)
-
void inst_select_outside(void *item, void (*deselect)(void *item));
int inst_select(struct coord pos);
void inst_deselect(void);
Modified: trunk/eda/fped/postscript.c
===================================================================
--- trunk/eda/fped/postscript.c 2009-08-18 20:57:09 UTC (rev 5481)
+++ trunk/eda/fped/postscript.c 2009-08-18 22:03:51 UTC (rev 5482)
@@ -278,6 +278,7 @@
{
enum inst_prio prio;
const struct inst *inst;
+ int i;
fprintf(file, "%%!PS\n");
@@ -373,18 +374,12 @@
" dup false charpath stroke grestore\n"
" show } def\n");
- FOR_INST_PRIOS_UP(prio) {
- FOR_GLOBAL_INSTS(prio, inst)
+ FOR_INST_PRIOS_UP(prio)
+ FOR_ALL_INSTS(i, prio, inst)
ps_background(file, prio, inst);
- FOR_PKG_INSTS(prio, inst)
- ps_background(file, prio, inst);
- }
- FOR_INST_PRIOS_UP(prio) {
- FOR_GLOBAL_INSTS(prio, inst)
+ FOR_INST_PRIOS_UP(prio)
+ FOR_ALL_INSTS(i, prio, inst)
ps_foreground(file, prio, inst);
- FOR_PKG_INSTS(prio, inst)
- ps_foreground(file, prio, inst);
- }
fprintf(file, "showpage\n");
fprintf(file, "%%%%EOF\n");
--- End Message ---
--- Begin Message ---
Author: werner
Date: 2009-08-19 00:08:54 +0200 (Wed, 19 Aug 2009)
New Revision: 5483
Added:
trunk/gta02-core/modules/ge865.fpd
Modified:
trunk/gta02-core/modules/INFO
trunk/gta02-core/modules/STATUS
Log:
Added experimental GE865 module. (Incomplete - need to add measurements and
have to find a way to drop H4.)
Modified: trunk/gta02-core/modules/INFO
===================================================================
--- trunk/gta02-core/modules/INFO 2009-08-18 22:03:51 UTC (rev 5482)
+++ trunk/gta02-core/modules/INFO 2009-08-18 22:08:54 UTC (rev 5483)
@@ -13,6 +13,10 @@
S: atr0635
# ATR0635 data sheet page 33
+# Telit GE865 BGA module
+F: ge865
+D: http://www.telit.com/module/infopool/download.php?id=1666
+
# Standard rectangular passive components
F: stdpass
D: http://www.vishay.com/doc?20035
Modified: trunk/gta02-core/modules/STATUS
===================================================================
--- trunk/gta02-core/modules/STATUS 2009-08-18 22:03:51 UTC (rev 5482)
+++ trunk/gta02-core/modules/STATUS 2009-08-18 22:08:54 UTC (rev 5483)
@@ -1,4 +1,5 @@
Footprint (file name) Author Review 2nd rv. 3rd rv. Remarks
----------------------- ------- ------- ------- -------
-------------
bga96-8x12-0mm8 Werner
+ge865 Werner EXPERIMENTAL - DO NOT USE YET
stdpass Werner EXPERIMENTAL - DO NOT USE YET
Added: trunk/gta02-core/modules/ge865.fpd
===================================================================
--- trunk/gta02-core/modules/ge865.fpd (rev 0)
+++ trunk/gta02-core/modules/ge865.fpd 2009-08-18 22:08:54 UTC (rev 5483)
@@ -0,0 +1,70 @@
+/* MACHINE-GENERATED ! */
+
+frame ball {
+ set diam = 1mm
+
+ __0: vec @(-diam/2, -diam/2)
+ __1: vec @(diam/2, diam/2)
+ rpad "$cname$row" __0 .
+}
+
+frame balls {
+ table
+ { cname, col }
+ { "A", 1 }
+ { "B", 2 }
+ { "C", 3 }
+ { "D", 4 }
+ { "E", 5 }
+ { "F", 6 }
+ { "G", 7 }
+ { "H", 8 }
+
+ set pitch = 2.4mm
+
+ loop row = 1, 8
+
+ __0: vec @((col-4.5)*pitch, (4.5-row)*pitch)
+ frame ball .
+}
+
+frame keepout {
+ set border = 1.5mm
+
+ __0: vec @(-w/2-border, -h/2-border)
+ __1: vec @(w/2+border, h/2+border)
+ rect __0 . silk
+}
+
+frame outline {
+ set cdiam = 0.8mm
+
+ __0: vec @(-w/2, h/2)
+ __1: vec @(w/2, -h/2)
+ __2: vec @(w/2, h/2)
+ __3: vec @(-w/2, -h/2)
+ __4: vec __2(-cdiam/2, 0mm)
+ line __0 . silk
+ __5: vec __2(0mm, -cdiam/2)
+ arc __2 __4 . silk
+ __6: vec __1(0mm, cdiam/2)
+ line __5 . silk
+ __7: vec __1(-cdiam/2, 0mm)
+ arc __1 __6 . silk
+ __8: vec __3(cdiam/2, 0mm)
+ line . __7 silk
+ __9: vec __3(0mm, cdiam/2)
+ line __0 . silk
+ arc __3 __8 . silk
+}
+
+package "GE865"
+set silk = 5mil
+
+set h = 22mm
+
+set w = 22mm
+
+frame outline @
+frame keepout @
+frame balls @
--- End Message ---
--- Begin Message ---
Author: werner
Date: 2009-08-19 01:49:54 +0200 (Wed, 19 Aug 2009)
New Revision: 5484
Modified:
trunk/eda/fped/gui_inst.c
trunk/eda/fped/gui_style.c
trunk/eda/fped/inst.c
trunk/eda/fped/inst.h
trunk/eda/fped/unparse.c
Log:
- fixed precedence of unary minus, so that -(a+b) isn't printed as -a+b
- removed in_path logic (never missed not having it) and made selected vectors
a little brighter
Modified: trunk/eda/fped/gui_inst.c
===================================================================
--- trunk/eda/fped/gui_inst.c 2009-08-18 22:08:54 UTC (rev 5483)
+++ trunk/eda/fped/gui_inst.c 2009-08-18 23:49:54 UTC (rev 5484)
@@ -111,9 +111,7 @@
{
if (selected_inst == self)
return mode_selected;
- if (self->active)
- return self->in_path ? mode_active_in_path : mode_active;
- return self->in_path ? mode_inactive_in_path : mode_inactive;
+ return self->active ? mode_active : mode_inactive;
}
Modified: trunk/eda/fped/gui_style.c
===================================================================
--- trunk/eda/fped/gui_style.c 2009-08-18 22:08:54 UTC (rev 5483)
+++ trunk/eda/fped/gui_style.c 2009-08-18 23:49:54 UTC (rev 5484)
@@ -49,13 +49,10 @@
static void style(GdkGC *gcs[mode_n],
- const char *in, const char *in_path, const char *act, const char *act_path,
- const char *sel)
+ const char *in, const char *act, const char *sel)
{
gcs[mode_inactive] = gc(in, 1);
- gcs[mode_inactive_in_path] = gc(in_path, 1);
gcs[mode_active] = gc(act, 1);
- gcs[mode_active_in_path] = gc(act_path, 1);
gcs[mode_selected] = gc(sel, 2);
}
@@ -65,13 +62,13 @@
gc_bg = gc("#000000", 0);
gc_bg_error = gc("#000040", 0);
gc_drag = gc("#ffffff", 2);
- /* inactive in+path active act+path selected */
- style(gc_vec, "#202000", "#404020", "#909040", "#c0c080", "#ffff80");
- style(gc_obj, "#006060", INVALID, "#00ffff", INVALID, "#ffff80");
- style(gc_pad, "#400000", INVALID, "#ff0000", INVALID, "#ffff80");
- style(gc_ptext, "#404040", INVALID, "#ffffff", INVALID, "#ffffff");
- style(gc_meas, "#280040", INVALID, "#ff00ff", INVALID, "#ffff80");
- style(gc_frame, "#004000", "#205020", "#009000", INVALID, "#ffff80");
+ /* inactive active selected */
+ style(gc_vec, "#202000", "#b0b050", "#ffff80");
+ style(gc_obj, "#006060", "#00ffff", "#ffff80");
+ style(gc_pad, "#400000", "#ff0000", "#ffff80");
+ style(gc_ptext, "#404040", "#ffffff", "#ffffff");
+ style(gc_meas, "#280040", "#ff00ff", "#ffff80");
+ style(gc_frame, "#004000", "#009000", "#ffff80");
gc_active_frame = gc("#00ff00", 2);
// gc_highlight = gc("#ff8020", 2);
Modified: trunk/eda/fped/inst.c
===================================================================
--- trunk/eda/fped/inst.c 2009-08-18 22:08:54 UTC (rev 5483)
+++ trunk/eda/fped/inst.c 2009-08-18 23:49:54 UTC (rev 5484)
@@ -127,25 +127,9 @@
/* ----- selection --------------------------------------------------------- */
-static void set_path(int on)
-{
- struct inst *inst;
-return;
- if (inst->ops != &vec_ops && inst->ops != &frame_ops)
- return;
-/* @@@ wrong */
- for (inst = selected_inst; inst; inst = inst->outer) {
- if (inst->ops != &vec_ops && inst->ops != &frame_ops)
- break;
- inst->in_path = on;
- }
-}
-
-
static void inst_select_inst(struct inst *inst)
{
selected_inst = inst;
- set_path(1);
tool_selected_inst(inst);
gui_frame_select_inst(inst);
if (inst->ops->select)
@@ -315,7 +299,6 @@
void inst_deselect(void)
{
if (selected_inst) {
- set_path(0);
tool_selected_inst(NULL);
gui_frame_deselect_inst(selected_inst);
}
@@ -448,7 +431,6 @@
inst->base = inst->bbox.min = inst->bbox.max = base;
inst->outer = curr_frame;
inst->active = IS_ACTIVE;
- inst->in_path = 0;
inst->next = NULL;
*curr_pkg->next_inst[prio] = inst;
curr_pkg->next_inst[prio] = &inst->next;
Modified: trunk/eda/fped/inst.h
===================================================================
--- trunk/eda/fped/inst.h 2009-08-18 22:08:54 UTC (rev 5483)
+++ trunk/eda/fped/inst.h 2009-08-18 23:49:54 UTC (rev 5484)
@@ -23,9 +23,7 @@
enum mode {
mode_inactive, /* on inactive frame */
- mode_inactive_in_path, /* inactive but is in path to selected */
mode_active, /* on active frame */
- mode_active_in_path, /* active and is in path to selected */
mode_selected, /* item is selected */
mode_hover, /* hovering over item's contact area */
mode_n /* number of modes */
@@ -80,7 +78,6 @@
struct obj *obj; /* NULL if not object */
struct inst *outer; /* frame containing this item */
int active;
- int in_path;
union {
struct {
const struct frame *ref;
Modified: trunk/eda/fped/unparse.c
===================================================================
--- trunk/eda/fped/unparse.c 2009-08-18 22:08:54 UTC (rev 5483)
+++ trunk/eda/fped/unparse.c 2009-08-18 23:49:54 UTC (rev 5484)
@@ -90,7 +90,7 @@
if (expr->op == op_var)
return stralloc(expr->u.var);
if (expr->op == op_minus)
- return merge2("-", unparse_op(expr->u.op.a, prec_add));
+ return merge2("-", unparse_op(expr->u.op.a, prec_unary));
if (expr->op == op_add)
return merge3(unparse_op(expr->u.op.a, prec_add), "+",
unparse_op(expr->u.op.b, prec_add));
--- End Message ---
--- Begin Message ---
Author: werner
Date: 2009-08-19 09:31:34 +0200 (Wed, 19 Aug 2009)
New Revision: 5485
Modified:
trunk/gta02-core/AUTHORS
trunk/gta02-core/modules/STATUS
trunk/gta02-core/modules/ge865.fpd
trunk/gta02-core/modules/mkloe
Log:
- finished GE865 footprint
- added GE865 to modules/mkloe
Modified: trunk/gta02-core/AUTHORS
===================================================================
--- trunk/gta02-core/AUTHORS 2009-08-18 23:49:54 UTC (rev 5484)
+++ trunk/gta02-core/AUTHORS 2009-08-19 07:31:34 UTC (rev 5485)
@@ -81,3 +81,4 @@
The scripts under scripts/ and expanded/
components/mkloe
modules/bga96-8x12-0mm8.fpd
+ modules/ge865.fpd
Modified: trunk/gta02-core/modules/STATUS
===================================================================
--- trunk/gta02-core/modules/STATUS 2009-08-18 23:49:54 UTC (rev 5484)
+++ trunk/gta02-core/modules/STATUS 2009-08-19 07:31:34 UTC (rev 5485)
@@ -1,5 +1,5 @@
Footprint (file name) Author Review 2nd rv. 3rd rv. Remarks
----------------------- ------- ------- ------- -------
-------------
bga96-8x12-0mm8 Werner
-ge865 Werner EXPERIMENTAL - DO NOT USE YET
+ge865 Werner
stdpass Werner EXPERIMENTAL - DO NOT USE YET
Modified: trunk/gta02-core/modules/ge865.fpd
===================================================================
--- trunk/gta02-core/modules/ge865.fpd 2009-08-18 23:49:54 UTC (rev 5484)
+++ trunk/gta02-core/modules/ge865.fpd 2009-08-19 07:31:34 UTC (rev 5485)
@@ -3,12 +3,17 @@
frame ball {
set diam = 1mm
- __0: vec @(-diam/2, -diam/2)
- __1: vec @(diam/2, diam/2)
- rpad "$cname$row" __0 .
+ ll: vec @(-diam/2, -diam/2)
+ ur: vec @(diam/2, diam/2)
+ rpad "$cname$row" ll .
}
-frame balls {
+frame ball_pos {
+ c: vec @(-(4.5-col)*pitch, (4.5-row)*pitch)
+ frame ball .
+}
+
+frame row4 {
table
{ cname, col }
{ "A", 1 }
@@ -18,44 +23,77 @@
{ "E", 5 }
{ "F", 6 }
{ "G", 7 }
+
+ set row = 4
+
+ frame ball_pos @
+}
+
+frame rows_except_4 {
+ table
+ { cname, col }
+ { "A", 1 }
+ { "B", 2 }
+ { "C", 3 }
+ { "D", 4 }
+ { "E", 5 }
+ { "F", 6 }
+ { "G", 7 }
{ "H", 8 }
- set pitch = 2.4mm
+ table
+ { row }
+ { 1 }
+ { 2 }
+ { 3 }
+ { 5 }
+ { 6 }
+ { 7 }
+ { 8 }
- loop row = 1, 8
+ frame ball_pos @
+}
- __0: vec @((col-4.5)*pitch, (4.5-row)*pitch)
- frame ball .
+frame balls {
+ frame rows_except_4 @
+ frame row4 @
}
frame keepout {
set border = 1.5mm
- __0: vec @(-w/2-border, -h/2-border)
- __1: vec @(w/2+border, h/2+border)
- rect __0 . silk
+ ll: vec @(-w/2-border, -h/2-border)
+ ur: vec @(w/2+border, h/2+border)
+ rect ll . silk
}
+frame A1 {
+ __0: vec @(-3.5*pitch, 3.5*pitch)
+ r: vec .(pitch/2, 0mm)
+ circ __0 . silk
+}
+
frame outline {
set cdiam = 0.8mm
- __0: vec @(-w/2, h/2)
- __1: vec @(w/2, -h/2)
- __2: vec @(w/2, h/2)
- __3: vec @(-w/2, -h/2)
- __4: vec __2(-cdiam/2, 0mm)
- line __0 . silk
- __5: vec __2(0mm, -cdiam/2)
- arc __2 __4 . silk
- __6: vec __1(0mm, cdiam/2)
- line __5 . silk
- __7: vec __1(-cdiam/2, 0mm)
- arc __1 __6 . silk
- __8: vec __3(cdiam/2, 0mm)
- line . __7 silk
- __9: vec __3(0mm, cdiam/2)
- line __0 . silk
- arc __3 __8 . silk
+ ul: vec @(-w/2, h/2)
+ lr: vec @(w/2, -h/2)
+ ur: vec @(w/2, h/2)
+ ll: vec @(-w/2, -h/2)
+ ur_l: vec ur(-cdiam/2, 0mm)
+ line ul . silk
+ ur_d: vec ur(0mm, -cdiam/2)
+ arc ur ur_l . silk
+ lr_u: vec lr(0mm, cdiam/2)
+ line ur_d . silk
+ lr_l: vec lr(-cdiam/2, 0mm)
+ arc lr lr_u . silk
+ ll_r: vec ll(cdiam/2, 0mm)
+ line . lr_l silk
+ ll_u: vec ll(0mm, cdiam/2)
+ line ul . silk
+ arc ll ll_r . silk
+ frame A1 @
}
package "GE865"
@@ -65,6 +103,14 @@
set w = 22mm
+set pitch = 2.4mm
+
frame outline @
frame keepout @
frame balls @
+measy ball.ll -> ball.ur 5mm
+measx ball_pos.c -> ball_pos.c -6mm
+measy keepout.ll >> outline.ll_r 1mm
+measy outline.ur >> outline.lr 3mm
+measx outline.ul >> outline.ur 3mm
+measx "r = " outline.lr_l >> outline.lr -3mm
Modified: trunk/gta02-core/modules/mkloe
===================================================================
--- trunk/gta02-core/modules/mkloe 2009-08-18 23:49:54 UTC (rev 5484)
+++ trunk/gta02-core/modules/mkloe 2009-08-19 07:31:34 UTC (rev 5485)
@@ -1,7 +1,7 @@
#!/bin/sh
# Make a Library of Everything
-MODS="bga96-8x12-0mm8 stdpass"
+MODS="bga96-8x12-0mm8 ge865 stdpass"
LIB=gta02-core.mod
--- End Message ---
_______________________________________________
commitlog mailing list
commitlog@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/commitlog