Mail Archives: geda-user/2015/07/25/21:51:59
On Sat, 25 Jul 2015, Kai-Martin Knaak wrote:
> Jason White (whitewaterssoftwareinfo-
> Re5JQEeQqe8AvxtiuMwx3w AT public DOT gmane DOT org) [via geda-user-
> Ht4Cp5ncgjRBDgjK7y7TUQ AT public DOT gmane DOT org] wrote:
>
>> Hmm. I could get used to these parametric footprints. Good work!
>
> I feel like, parametric footprint production on the fly bears some
> disadvantages:
>
> * Any mechanism is necessarily less transparent than footprints that
> just exist. It makes the access less newbie friendly.
I agree. However, check connector(n,m) that generates a matrix of n*m
pins. It is simply not feasible to pregenerate all possible combinations,
not even if you say you limit yourself to only single and dual row setup.
>
> * parameters are communicated by the name of the footprint. This calls
> for some specialized grammar. However, many footprints also have
> traditional real name which does not contain any parameter. E.g.
> "0805", TO220
These are exactly the ones I don't have parametric versions for. For a
short while I thought I should have a to() and some smd() for the
1206-0805-0603 series, but then I realized they would be just huge tables
of custom dimensions. Hiding such a table in a generator felt wrong
compared to just having static file footprint for each.
> * There is an additional run time dependency. Have the wrong version
> of perl, python, java, whatever installed and you are screwed. Ready
> made footprints can be imported from somewhere else.
Like our old method used to depend on m4. While you have a point here, I
am not against dependencies in general, but I try to minimize unreasonable
dependencies. The few generators I've written depend on posix shell and
awk. On the awk side I tried to be portable so they should work on
anything back to the late 80s.
On modern UNIX this means 0 new dependency: you hardly find any
installation that offers all the gtk spaceship pcb needs anyway and not
offer sh and awk. Actually even busybox offers sh and awk, so my
generators potentially run fine on an embedded system...
On windows two standalone exe files are required: sh.exe (or bash.exe) and
awk.exe (mawk.exe or gawk.exe). If I ever get to get pcb-rnd to run on
windows again, I will probably just ship these. I don't think m4 was less
of a hassle on windows.
> I feel like the default library should be a simple set of ready made
> files. These files may or even should be produced algorithmically at
> compile time.
I disagree here. There are way too many combination. This method results
in too many files _and_ missing files. Often through mechanisms involving
"dip pacakges above N pins are always wider", which is just not true. As
an user I find learning such custom rules, or what the N, M or W suffix
really means is harder and more risky (footprint-mismatch-wise) than a
proper generator.
Regards,
Igor2
- Raw text -