r5835 - in trunk: eda/boom gta02-core/bom
werner at docs.openmoko.org
werner at docs.openmoko.org
Sun Feb 7 18:46:18 CET 2010
Author: werner
Date: 2010-02-07 18:46:18 +0100 (Sun, 07 Feb 2010)
New Revision: 5835
Modified:
trunk/eda/boom/annotate
trunk/gta02-core/bom/Makefile
Log:
Annotations can now also use order data instead of or in addition to the parts
list.
- eda/boom/annotate: if .ord data is available, use it for descriptions too
- bom/Makefile: annotations now use gta02-core.ord, not gta02-core.par
- bom/Makefile: annotations can be switched back to gta02-core.par by setting
ANNOTATE=par
- bom/Makefile (spotless): didn't remove .ps files
Modified: trunk/eda/boom/annotate
===================================================================
--- trunk/eda/boom/annotate 2010-02-07 17:02:40 UTC (rev 5834)
+++ trunk/eda/boom/annotate 2010-02-07 17:46:18 UTC (rev 5835)
@@ -103,6 +103,45 @@
}
+sub find_dsc
+{
+ local ($id) = @_;
+
+ for ($id, &eq($id)) {
+ return $dsc{$_} if defined $dsc{$_};
+ }
+ return ();
+}
+
+
+sub dsc_parts
+{
+ local ($ref) = @_;
+ my @p = @{ $parts{$ref} };
+ my @f = ();
+ while (@p) {
+ my @id = splice(@p, 0, 2);
+ my $id = "$id[0] $id[1]";
+ push(@f, &find_dsc($id));
+ }
+ return @f;
+}
+
+
+sub dsc_order
+{
+ local ($ref) = @_;
+ my @f = ();
+ for my $id (keys %order) {
+ my @p = @{ $order{$id} };
+ for (splice(@p, 3)) {
+ push(@f, &find_dsc($id)) if $_ eq $ref;
+ }
+ }
+ return @f;
+}
+
+
#
# pass 1: find the orientation of all parts
#
@@ -150,16 +189,8 @@
undef @f if /^\$Comp/;
if (/^L \S+ (\S+)/) {
$ref = $1;
- my @p = @{ $parts{$ref} };
- while (@p) {
- my @id = splice(@p, 0, 2);
- my $id = "$id[0] $id[1]";
- for ($id, &eq($id)) {
- next unless defined $dsc{$_};
- push(@f, $dsc{$_});
- last;
- }
- }
+ push(@f, &dsc_order($ref)) if %order;
+ push(@f, &dsc_parts($ref)) if %parts;
}
if (/^P (\d+) (\d+)/) {
$x = $1;
Modified: trunk/gta02-core/bom/Makefile
===================================================================
--- trunk/gta02-core/bom/Makefile 2010-02-07 17:02:40 UTC (rev 5834)
+++ trunk/gta02-core/bom/Makefile 2010-02-07 17:46:18 UTC (rev 5835)
@@ -3,6 +3,8 @@
BOOM=../../eda/boom/boom
+ANNOTATE=ord # make ANNOTATE=par ... for the parts list
+
KITS=20
EQU=fic/fic.equ fic/missing.equ digi-key.equ
INV=fic/fic.inv gta02-core.inv dummy.inv fic/missing.inv digi-key.inv
@@ -59,7 +61,7 @@
rm -f gta02-core.par gta02-core.ord darfon.chr ralec.chr
rm -f gta02-core-bom.pro gta02-core-bom.sch
rm -f gta02-core-bom-all.ps.gz gta02-core-bom-all.pdf
- rm -f $(SCH:%=%-bom.sch) $(SCH:%=%-bom.ps)
+ rm -f $(SCH:%=%-bom.sch) gta02-core-bom-*.ps
show-dup: gta02-core.par
$(BOOM) ./pardup.pl gta02-core.par
@@ -82,10 +84,11 @@
$(EQU) >$(ANN)-bom.sch || { rm -f $(ANN)-bom.sch; exit 1; }
$(SCH:%=%-bom.sch): \
- $(SCH:%=../%.sch) fic/fic.dsc gta02-core.par $(EQU)
+ $(SCH:%=../%.sch) fic/fic.dsc gta02-core.$(ANNOTATE) $(EQU)
for n in $(SCH); do \
- $(BOOM) annotate ../$$n.sch fic/fic.dsc gta02-core.par \
- $(EQU) >$$n-bom.sch || { rm -f $$n-bom.sch; exit 1; }; \
+ $(BOOM) annotate ../$$n.sch fic/fic.dsc \
+ gta02-core.$(ANNOTATE) $(EQU) >$$n-bom.sch \
+ || { rm -f $$n-bom.sch; exit 1; }; \
done
gta02-core-bom.pro: ../gta02-core.pro
More information about the commitlog
mailing list