pcb

experimental feature enhancement: blind and buried vias

Bug #699448 reported by stefan_ba
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
pcb
Won't Fix
Wishlist
Unassigned

Bug Description

Hello,

please excuse that I abuse the bug reporter to submit an experimental feature enhancement patch, but I did not find another way to submit such a patch.

I was in need to design a multilayer PCB with blind and buried vias. So I tried to add this functionality to PCB. It worked out quite well and I was able to complete the board. So I'm sending in the patch file.

However, this patch file is experimental/proof-of-concept code. There are some points that could use some improvements:
- creation of blind and buried vias is controlled by layer visiblity at via creation time
- vias cannot be near each other, even if on different layers
- wires stick to vias not exisiting on the layer of the wire when moving the wire in rubber-band-mode
- ...

I'm even not really sure if my code is correct with respect to layers and groups. I suppose I've mixed this a few times.

I hope that my patch will be useful for someone in some way.

Regards,
stefan_BA

Tags: sf-patches
Revision history for this message
stefan_ba (stefan-ba) wrote :
Revision history for this message
Bert Timmerman (bert-timmerman) wrote :

Hi stefan_BA,

Patching with:

patch -p1 < pcb-20080202-stefan_BA-20080703.diff

in the pcb dir gives no problem or error messages.

configure doesn't complain either.

make complains about the texinfo.tex or pcb.texi being broken, maybe something in the patch regarding pcb.texi, allthough reading the patch I see no strange things.

<error log>
if /bin/sh /home/bert/MyDocuments/projects/gEDA/devel/pcb-20080202/missing --run makeinfo --html --css-include=./pcb.css --no-split -I . \
         -o pcb.htp pcb.texi; \
        then \
          rm -rf pcb.html; \
          if test ! -d pcb.htp && test -d pcb; then \
            mv pcb pcb.html; else mv pcb.htp pcb.html; fi; \
        else \
          if test ! -d pcb.htp && test -d pcb; then \
            rm -rf pcb; else rm -Rf pcb.htp pcb.html; fi; \
          exit 1; \
        fi
TEXINPUTS=".:$TEXINPUTS" \
        MAKEINFO='/bin/sh /home/bert/MyDocuments/projects/gEDA/devel/pcb-20080202/missing --run makeinfo -I .' \
        texi2dvi pcb.texi
This is e-TeXk, Version 3.141592-2.2 (Web2C 7.5.4)
 file:line:error style messages enabled.
 %&-line parsing enabled.
---! /var/lib/texmf/web2c/etex.fmt was written by pdfetex
(Fatal format file error; I'm stymied)
/usr/bin/texi2dvi: texinfo.tex appears to be broken, quitting.
make[3]: *** [pcb.dvi] Error 1
</error log>

I hope this gives enough information.

A quick testing your patch gives the impression that this seems to work.

The testpcb gives some additional drill holes in the fab drawing (ps HID) outside the pcb limits).

I can send the pcb file if you will, just ask.

Kind regards,

Bert Timmerman <email address hidden>

BTW: I would normally make a diff with:

diff -Naur ....

instead of:

diff -C 3 -r ....

although patch did the job.

Traumflug (mah-jump-ing)
Changed in pcb:
importance: Undecided → High
Revision history for this message
Bert Timmerman (bert-timmerman) wrote :

[bert@vortex pcb]$ patch -p1 < pcb-20080202-stefan_BA-20080703.diff
patching file doc/pcb.texi
Hunk #1 succeeded at 289 (offset 9 lines).
Hunk #2 succeeded at 303 (offset 9 lines).
patching file src/action.c
Hunk #1 FAILED at 999.
Hunk #2 succeeded at 1029 (offset 17 lines).
1 out of 2 hunks FAILED -- saving rejects to file src/action.c.rej
patching file src/draw.c
Hunk #1 FAILED at 113.
Hunk #2 FAILED at 304.
Hunk #3 FAILED at 328.
Hunk #4 FAILED at 337.
Hunk #5 FAILED at 351.
Hunk #6 FAILED at 368.
Hunk #7 succeeded at 532 with fuzz 1 (offset 149 lines).
Hunk #8 FAILED at 399.
Hunk #9 succeeded at 591 with fuzz 1 (offset 149 lines).
Hunk #10 FAILED at 466.
Hunk #11 FAILED at 480.
Hunk #12 FAILED at 492.
Hunk #13 FAILED at 515.
Hunk #14 FAILED at 643.
Hunk #15 succeeded at 806 with fuzz 2 (offset 151 lines).
Hunk #16 FAILED at 681.
Hunk #17 FAILED at 689.
14 out of 17 hunks FAILED -- saving rejects to file src/draw.c.rej
patching file src/find.c
Hunk #1 FAILED at 649.
Hunk #2 FAILED at 673.
Hunk #3 FAILED at 738.
Hunk #4 FAILED at 899.
Hunk #5 FAILED at 967.
Hunk #6 FAILED at 987.
Hunk #7 FAILED at 1007.
Hunk #8 FAILED at 1028.
Hunk #9 FAILED at 1095.
Hunk #10 FAILED at 1113.
10 out of 10 hunks FAILED -- saving rejects to file src/find.c.rej
patching file src/global.h
Hunk #1 FAILED at 78.
1 out of 1 hunk FAILED -- saving rejects to file src/global.h.rej
patching file src/hid/common/flags.c
Hunk #1 succeeded at 151 with fuzz 2 (offset -1 lines).
Hunk #2 FAILED at 178.
1 out of 2 hunks FAILED -- saving rejects to file src/hid/common/flags.c.rej
patching file src/hid/gerber/gerber.c
Hunk #1 succeeded at 760 with fuzz 2 (offset 288 lines).
Hunk #2 FAILED at 509.
Hunk #3 succeeded at 1027 with fuzz 2 (offset 510 lines).
1 out of 3 hunks FAILED -- saving rejects to file src/hid/gerber/gerber.c.rej
patching file src/hid/hidint.h
Hunk #1 succeeded at 5 (offset -2 lines).
patching file src/hid/nelma/nelma.c
Hunk #1 succeeded at 738 (offset 29 lines).
patching file src/hid/png/png.c
Hunk #1 succeeded at 1216 with fuzz 2 (offset 693 lines).
patching file src/hid/ps/eps.c
Hunk #1 succeeded at 377 (offset 54 lines).
patching file src/hid/ps/ps.c
Hunk #1 FAILED at 513.
1 out of 1 hunk FAILED -- saving rejects to file src/hid/ps/ps.c.rej
patching file src/hid.h
Hunk #1 FAILED at 194.
1 out of 1 hunk FAILED -- saving rejects to file src/hid.h.rej
patching file src/macro.h
Hunk #1 succeeded at 121 (offset -86 lines).
patching file src/polygon.c
Hunk #1 succeeded at 792 with fuzz 1 (offset 268 lines).
patching file src/strflags.c

Revision history for this message
Bert Timmerman (bert-timmerman) wrote :

OK, pushed the first (easiest) part of Stefan's patch in topic branch LP699448 to upstream.

Kind regards,

Bert Timmerman.

Changed in pcb:
milestone: none → next-feature-release
Changed in pcb:
status: New → Triaged
Traumflug (mah-jump-ing)
Changed in geda-project:
importance: Undecided → Medium
status: New → In Progress
Changed in pcb:
importance: High → Wishlist
Revision history for this message
Bert Timmerman (bert-timmerman) wrote :

Have a look at LP1656661 for an other implementation.

Kind regards,

Bert Timmerman.

Changed in pcb:
status: Triaged → Won't Fix
milestone: pcb-4.1.0 → none
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.