[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-user: Din connector footprints and symbols



Hi all.
Over a year ago I used gSchem/PCB to produce a board design for which footprints/symbols were not part of the supplied sets. After much head scratching and re-reading the documentation I produced the files attached here. Unfortunately I chose to produce m4 versions which I then built into my version of gSchem/PCB. They seem to work as far as I can tell and I offer them as-is under the GPL. Feel free to modify them in any way you deem fit. I am not too sure how to contribute these but hope this is an acceptable method!
I am not a skilled circuit designer but I like to follow the discussions on the list. Many thanks to all those who contributed code to this project over the years.


Colin Ager Garboldisham Norfolk UK
# -*-m4-*-
#
# For 32-Pin Type D Type Connectors 
# Colin Ager 10/01/05
# Derived from work by Volker Bosch 
#
# Note that all odd no pins are omitted in this connector
#
# $1: canonical name
# $2: name on PCB
# $3: value
# $4: requested rows a,c
#
define(`PKG_DIN41_612FEMALE_D_TYPE',
	`define(`MAXX', 420)
	define(`MAXX1', `eval(MAXX -170)')
	define(`MAXX2', `eval(MAXX -40)')
Element(0x00 "$1" "$2" "$3" 50 100 3 200 0x00)
(
	# Row a
	ifelse(index(`$4', `a'), `-1', ,
		forloop(`i', 1, 16, `PIN(200, eval(300 + 200 *i), 60, 30, eval(i*2)a)
	'))

	# Row c
	ifelse(index(`$4', `c'), `-1', , `define(`MAXX', 520)'
		forloop(`i', 1, 16, `PIN(400, eval(300 + 200 *i), 60, 30, eval(i*2)c)
	'))

	# Fixing Holes
	Pin(290  180 120 80 "M1" 0x01)
	Pin(290 3720 120 80 "M2" 0x01)

	# Outline of outer part of moulding
	ElementLine( 80  80 MAXX   80 20)
	ElementLine(MAXX  80 MAXX 3820 20)
	ElementLine(MAXX 3820 80 3820 20)
	ElementLine( 80 3820 80   80 20)

	# Outline of female part of moulding
	ElementLine(120  320 MAXX1  320 10)
	ElementLine(MAXX1  320 MAXX1  360 10)
	ElementLine(MAXX1  360 MAXX2  360 10)
	ElementLine(MAXX2  360 MAXX2 3540 10)
	ElementLine(MAXX2 3540 MAXX1 3540 10)
	ElementLine(MAXX1 3540 MAXX1 3580 10)
	ElementLine(MAXX1 3580 120 3580 10)
	ElementLine(120 3580 120  320 10)

	# Mark: Pin 2a
	Mark(200 500)
)')

# -*- m4 -*-
#
# For 32-Pin Type D Type Connectors 
# Colin Ager 10/01/05
# Derived from work by Volker Bosch 

#
# Note that all odd no pins are omitted in this connector
#
# $1: canonical name# Derived  for 32-Pin Type D Connectors from the same series
# Colin Ager 10/01/05
# $2: name on PCB
# $3: value
# $4: requested rows a,c
#
define(`PKG_DIN41_612MALE_D_TYPE',
	`define(`XPOS', `eval(300 + 200 * i)')
	define(`MINY', 300)
Element(0x00 "$1" "$2" "$3" 520 550 0 200 0x00)
(
	# Row a
	ifelse(index(`$4', `a'), `-1', ,
		forloop(`i', 1, 16, `PIN(eval(3600 - 200 *i), 300, 60, 30,eval(i*2)a)
	'))

	# Row c
	ifelse(index(`$4', `c'), `-1', , `define(`MINY', 100)'
		forloop(`i', 1, 16, `PIN(eval(3600 - 200 *i), 100, 60, 30, eval(i*2)c)
	'))
    # Reverse side contact pin
	forloop(`i', 1, 16, `ElementLine(eval(XPOS-100) MINY eval(XPOS-100) 375 40)
	')

	# Fixing Holes
	Pin( 200 400 120 80 "M1" 0x01)
	Pin(3700 400 120 80 "M2" 0x01)

	# Boundary of M1
	ElementLine( 100  300  320  300 20)
	ElementLine( 320  300  320  395 20)
	ElementLine( 320  395  320  620 10)
	ElementLine( 320  620  200  620 10)
	ElementLine( 200  620  100  620 20)
	ElementLine( 100  620  100  300 20)

	# Boundary of M2
	ElementLine(3580  300 3800  300 20)
	ElementLine(3800  300 3800  620 20)
	ElementLine(3800  620 3700  620 20)
	ElementLine(3700  620 3580  620 10)
	ElementLine(3580  620 3580  395 10)
	ElementLine(3580  395 3580  300 20)

	# Pin edge of body
	ElementLine( 320  395 3580  395 20)

	# Pin area Boundary
	ElementLine( 200 620  200 800 20)
	ElementLine( 200 800 3700 800 20)
	ElementLine(3700 800 3700 620 20)

	#Mark Pin 2a
	Mark(3400 300)
)')


v 20040111 1
P 400 12500 100 12500 1 0 1
{
T 400 12500 5 10 0 1 0 0 1
pinnumber=1
T 400 12500 5 10 0 1 0 0 1
pinseq=1
T 500 12500 5 10 1 1 0 0 1
pinlabel=2a
}
P 400 11700 100 11700 1 0 1
{
T 400 11700 5 10 0 1 0 0 1
pinnumber=2
T 400 11700 5 10 0 1 0 0 1
pinseq=2
T 500 11700 5 10 1 1 0 0 1
pinlabel=4a
}
P 400 10900 100 10900 1 0 1
{
T 400 10900 5 10 0 1 0 0 1
pinnumber=3
T 400 10900 5 10 0 1 0 0 1
pinseq=3
T 500 10900 5 10 1 1 0 0 1
pinlabel=6a
}
P 400 10100 100 10100 1 0 1
{
T 400 10100 5 10 0 1 0 0 1
pinnumber=4
T 400 10100 5 10 0 1 0 0 1
pinseq=4
T 500 10100 5 10 1 1 0 0 1
pinlabel=8a
}
P 400 9300 100 9300 1 0 1
{
T 400 9300 5 10 0 1 0 0 1
pinnumber=5
T 100 9400 5 10 0 1 0 0 1
pinseq=5
T 500 9300 5 10 1 1 0 0 1
pinlabel=10a
}
P 100 8500 400 8500 1 0 0
{
T 400 8500 5 10 0 1 0 0 1
pinnumber=6
T 100 8500 5 10 0 1 0 0 1
pinseq=6
T 500 8500 5 10 1 1 0 0 1
pinlabel=12a
}
P 100 7700 400 7700 1 0 0
{
T 400 7700 5 10 0 1 0 0 1
pinnumber=7
T 100 7700 5 10 0 1 0 0 1
pinseq=7
T 500 7700 5 10 1 1 0 0 1
pinlabel=14a
}
P 100 6900 400 6900 1 0 0
{
T 400 6900 5 10 0 1 0 0 1
pinnumber=8
T 100 6900 5 10 0 1 0 0 1
pinseq=8
T 500 6900 5 10 1 1 0 0 1
pinlabel=16a
}
P 100 6100 400 6100 1 0 0
{
T 400 6100 5 10 0 1 0 0 1
pinnumber=9
T 100 6100 5 10 0 1 0 0 1
pinseq=9
T 500 6100 5 10 1 1 0 0 1
pinlabel=18a
}
P 100 5300 400 5300 1 0 0
{
T 400 5300 5 10 0 1 0 0 1
pinnumber=10
T 100 5300 5 10 0 1 0 0 1
pinseq=10
T 500 5300 5 10 1 1 0 0 1
pinlabel=20a
}
P 100 4500 400 4500 1 0 0
{
T 400 4500 5 10 0 1 0 0 1
pinnumber=11
T 100 4500 5 10 0 1 0 0 1
pinseq=11
T 500 4500 5 10 1 1 0 0 1
pinlabel=22a
}
P 100 3700 400 3700 1 0 0
{
T 400 3700 5 10 0 1 0 0 1
pinnumber=12
T 100 3700 5 10 0 1 0 0 1
pinseq=12
T 500 3700 5 10 1 1 0 0 1
pinlabel=24a
}
P 100 2900 400 2900 1 0 0
{
T 400 2900 5 10 0 1 0 0 1
pinnumber=13
T 100 2900 5 10 0 1 0 0 1
pinseq=13
T 500 2900 5 10 1 1 0 0 1
pinlabel=26a
}
P 100 2100 400 2100 1 0 0
{
T 400 2100 5 10 0 1 0 0 1
pinnumber=14
T 100 2100 5 10 0 1 0 0 1
pinseq=14
T 500 2100 5 10 1 1 0 0 1
pinlabel=28a
}
P 100 1300 400 1300 1 0 0
{
T 400 1300 5 10 0 1 0 0 1
pinnumber=15
T 100 1300 5 10 0 1 0 0 1
pinseq=15
T 500 1300 5 10 1 1 0 0 1
pinlabel=30a
}
P 100 500 400 500 1 0 0
{
T 400 500 5 10 0 1 0 0 1
pinnumber=16
T 100 500 5 10 0 1 0 0 1
pinseq=16
T 500 500 5 10 1 1 0 0 1
pinlabel=32a
}
P 3400 12500 3700 12500 1 0 1
{
T 3200 12500 5 10 0 1 0 0 1
pinnumber=17
T 3600 12600 5 10 0 1 0 0 1
pinseq=17
T 3100 12500 5 10 1 1 0 0 1
pinlabel=2c
}
P 3400 10100 3700 10100 1 0 1
{
T 3200 10100 5 10 0 1 0 0 1
pinnumber=20
T 3500 10200 5 10 0 1 0 0 1
pinseq=20
T 3100 10100 5 10 1 1 0 0 1
pinlabel=8c
}
P 3700 9300 3400 9300 1 0 0
{
T 3100 9300 5 10 0 1 0 0 1
pinnumber=21
T 3700 9300 5 10 0 1 0 0 1
pinseq=21
T 3000 9300 5 10 1 1 0 0 1
pinlabel=10c
}
P 3700 7700 3400 7700 1 0 0
{
T 3100 7700 5 10 0 1 0 0 1
pinnumber=23
T 3700 7700 5 10 0 1 0 0 1
pinseq=23
T 3000 7700 5 10 1 1 0 0 1
pinlabel=14c
}
P 3700 6900 3400 6900 1 0 0
{
T 3100 6900 5 10 0 1 0 0 1
pinnumber=24
T 3700 6900 5 10 0 1 0 0 1
pinseq=24
T 3000 6900 5 10 1 1 0 0 1
pinlabel=16c
}
P 3700 6100 3400 6100 1 0 0
{
T 3100 6100 5 10 0 1 0 0 1
pinnumber=25
T 3700 6100 5 10 0 1 0 0 1
pinseq=25
T 3000 6100 5 10 1 1 0 0 1
pinlabel=18c
}
P 3700 5300 3400 5300 1 0 0
{
T 3000 5300 5 10 0 1 0 0 1
pinnumber=26
T 3700 5300 5 10 0 1 0 0 1
pinseq=26
T 3000 5300 5 10 1 1 0 0 1
pinlabel=20c
}
P 3700 4500 3400 4500 1 0 0
{
T 3000 4500 5 10 0 1 0 0 1
pinnumber=27
T 3700 4500 5 10 0 1 0 0 1
pinseq=27
T 3000 4500 5 10 1 1 0 0 1
pinlabel=22c
}
P 3700 3700 3400 3700 1 0 0
{
T 3000 3700 5 10 0 1 0 0 1
pinnumber=28
T 3500 3800 5 10 0 1 0 0 1
pinseq=28
T 3000 3700 5 10 1 1 0 0 1
pinlabel=24c
}
P 3700 2900 3400 2900 1 0 0
{
T 3000 2900 5 10 0 1 0 0 1
pinnumber=29
T 3500 3000 5 10 0 1 0 0 1
pinseq=29
T 3000 2900 5 10 1 1 0 0 1
pinlabel=26c
}
P 3400 2100 3700 2100 1 0 1
{
T 3000 2100 5 10 0 1 0 0 1
pinnumber=30
T 3400 2100 5 10 0 1 0 0 1
pinseq=30
T 3000 2100 5 10 1 1 0 0 1
pinlabel=28c
}
P 3400 1300 3700 1300 1 0 1
{
T 3000 1300 5 10 0 1 0 0 1
pinnumber=31
T 3400 1300 5 10 0 1 0 0 1
pinseq=31
T 3000 1300 5 10 1 1 0 0 1
pinlabel=30c
}
P 3400 500 3700 500 1 0 1
{
T 3000 500 5 10 0 1 0 0 1
pinnumber=32
T 3400 500 5 10 0 1 0 0 1
pinseq=32
T 3000 500 5 10 1 1 0 0 1
pinlabel=32c
}
B 400 100 3000 12900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
{
T 1900 13800 5 10 1 0 0 0 1
slot=0
}
T 2100 13400 8 10 1 1 0 6 1
refdes=J?
P 3700 11700 3400 11700 1 0 0
{
T 3200 11700 5 10 0 1 0 0 1
pinnumber=18
T 3100 11700 5 10 0 1 0 0 1
pinseq=18
T 3100 11700 5 10 1 1 0 0 1
pinlabel=4c
}
P 3700 10900 3400 10900 1 0 0
{
T 3200 10900 5 10 0 1 0 0 1
pinnumber=19
T 3700 10900 5 10 0 1 0 0 1
pinseq=19
T 3100 10900 5 10 1 1 0 0 1
pinlabel=6c
}
P 3700 8500 3400 8500 1 0 0
{
T 3100 8500 5 10 0 1 0 0 1
pinnumber=22
T 3700 8500 5 10 0 1 0 0 1
pinseq=22
T 3000 8500 5 10 1 1 0 0 1
pinlabel=12c
}
T 1200 2400 8 10 1 1 0 0 1
device=DIN41612D32
T 100 100 8 10 0 1 0 0 1
numslots=0