diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ConnectorsDPV.pic')
-rw-r--r-- | Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ConnectorsDPV.pic | 368 |
1 files changed, 368 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ConnectorsDPV.pic b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ConnectorsDPV.pic new file mode 100644 index 00000000000..1fe2aeabfac --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ConnectorsDPV.pic @@ -0,0 +1,368 @@ +.PS +# ConnectorsDPV.m4 +# log_init Version 10.1: SVG m4 macro settings. + + # gen_init Version 10.1: SVG m4 macro settings. + + + define rpoint__ { + rp_wid = last line.end.x-last line.start.x + rp_ht = last line.end.y-last line.start.y + rp_len = sqrt(abs((rp_wid)^2+(rp_ht)^2)); move to last line.start + rp_ang = atan2(rp_ht,rp_wid) } + + rtod_ = 57.295779513082323; dtor_ = 0.017453292519943295 + twopi_ = 6.2831853071795862; pi_ = (twopi_/2) + rp_ang = 0; right + + + linethick = 0.8 + arrowwid = 0.05*scale; arrowht = 0.1*scale + + + # gen_init end + + +# log_init end + + + +m4thtmp=textht; dptextratio=0.71; m4thtmp=textht; textht=(8.5*(scale/72))*dptextratio; +command "<g style=\"font-family:sans-serif\" +>" + + +#vg_rot_init(test) + +# svg_rot_init begin + if dpicopt > 0 then { copy "/cygdrive/d/Dwight/lib/dpictools.pic" } + + +# Extract from the .svg file the x= y= coordinates +# that appear after each transform="rotate(.." line + retcode = ( sh "awk -e \"/transform=\\"rotate/ { r=1 }; /x=\\".*y=\\"/ { if(r==1){ print; r=0 } }\" ConnectorsDPV.tmp | sed -e \"s/x=\\"\([0-9.]*\)\\" y=\\"\([0-9.]*\)\\".*/\1 \2/\" > ConnectorsDPV.cor" ) + if retcode != 0 then { print " + Awk failure. + Awk and sed are required by svg_rot to rotate svg text. + " } + svgrot_k = 0 + define svg_rotcoords { if "$1" != "" then { svgrot_k += 1 + svg_rx[svgrot_k] = $1; svg_ry[svgrot_k] = $2 } + } + copythru(svg_rotcoords, ConnectorsDPV.cor) + sh "rm -f ConnectorsDPV.tmp ConnectorsDPV.cor" + svgrot_i = 0 + + +# `svg_rot(degrees,"text",[at position]) +# Rotate text degrees ccw +# Requires svg_rot_init(filename) +# which uses both awk and sed. +# The source must be processed twice by m4 and dpic.' + define svg_rot { if retcode != 0 then {$2} else { + if "$1" != "" then { svg_rang = -($1) } else { svg_rang = -90 } + if svgrot_k != 0 then { svgrot_i +=1 + command sprintf("<g transform=\"rotate(%g %g %g)\">",svg_rang,\ + svg_rx[svgrot_i]+textht/2*sin((svg_rang)*dtor_),\ + svg_ry[svgrot_i]+textht/2*(1-cos((svg_rang)*dtor_))) }\ + else { command sprintf("<g transform=\"rotate(%g)\">",svg_rang) } + if "$3"=="" then { $2 } \ + else { $2 $3 - (sin((svg_rang)*dtor_),(cos((svg_rang)*dtor_)-1))*textht/2 } + command "</g>" } } + + +# svg_rot_init end + + +# ArduinoUno +# "Arduino Uno Rev 3" at last [].Connector.s below + Ar: [ + # + Connector: box wid 24*(linewid/10) ht 20*(3*(linewid/10)) +# + plen = 2*(linewid/10) +# +Pin6: line left plen from Connector.nw-(0,(5+1)*(3*(linewid/10))) + { "IOREF" ljust at last line.start } +Pin7: line left plen from Connector.nw-(0,(5+2)*(3*(linewid/10))) + { "RESET" ljust at last line.start } +Pin8: line left plen from Connector.nw-(0,(5+3)*(3*(linewid/10))) + { "<tspan font-style=\"italic\">+</tspan>3V3" ljust at last line.start } +Pin9: line left plen from Connector.nw-(0,(5+4)*(3*(linewid/10))) + { "<tspan font-style=\"italic\">+</tspan>5V" ljust at last line.start } +Pin10: line left plen from Connector.nw-(0,(5+5)*(3*(linewid/10))) + { "GND" ljust at last line.start } +Pin11: line left plen from Connector.nw-(0,(5+6)*(3*(linewid/10))) + { "GND" ljust at last line.start } +Pin12: line left plen from Connector.nw-(0,(5+7)*(3*(linewid/10))) + { "VIN" ljust at last line.start } + +Pin14: line left plen from Connector.nw-(0,(5+9)*(3*(linewid/10))) + { "A0" ljust at last line.start } +Pin15: line left plen from Connector.nw-(0,(5+10)*(3*(linewid/10))) + { "A1" ljust at last line.start } +Pin16: line left plen from Connector.nw-(0,(5+11)*(3*(linewid/10))) + { "A2" ljust at last line.start } +Pin17: line left plen from Connector.nw-(0,(5+12)*(3*(linewid/10))) + { "A3" ljust at last line.start } +Pin18: line left plen from Connector.nw-(0,(5+13)*(3*(linewid/10))) + { "A4" ljust at last line.start } +Pin19: line left plen from Connector.nw-(0,(5+14)*(3*(linewid/10))) + { "A5" ljust at last line.start } + +# +Pin21: line right plen from Connector.ne-(0,1*(3*(linewid/10))) + { "SCL" rjust at last line.start } +Pin20: line right plen from Connector.ne-(0,2*(3*(linewid/10))) + { "SDA" rjust at last line.start } +Pin19: line right plen from Connector.ne-(0,3*(3*(linewid/10))) + { "AREF" rjust at last line.start } +Pin18: line right plen from Connector.ne-(0,4*(3*(linewid/10))) + { "GND" rjust at last line.start } +Pin17: line right plen from Connector.ne-(0,5*(3*(linewid/10))) + { "~D13" rjust at last line.start } +Pin16: line right plen from Connector.ne-(0,6*(3*(linewid/10))) + { "D12" rjust at last line.start } +Pin15: line right plen from Connector.ne-(0,7*(3*(linewid/10))) + { "~D11" rjust at last line.start } +Pin14: line right plen from Connector.ne-(0,8*(3*(linewid/10))) + { "~D10" rjust at last line.start } +Pin13: line right plen from Connector.ne-(0,9*(3*(linewid/10))) + { "~D9" rjust at last line.start } +Pin12: line right plen from Connector.ne-(0,10*(3*(linewid/10))) + { "D8" rjust at last line.start } + +Pin10: line right plen from Connector.ne-(0,12*(3*(linewid/10))) + { "D7" rjust at last line.start } +Pin9: line right plen from Connector.ne-(0,13*(3*(linewid/10))) + { "~D6" rjust at last line.start } +Pin8: line right plen from Connector.ne-(0,14*(3*(linewid/10))) + { "~D5" rjust at last line.start } +Pin7: line right plen from Connector.ne-(0,15*(3*(linewid/10))) + { "D4" rjust at last line.start } +Pin6: line right plen from Connector.ne-(0,16*(3*(linewid/10))) + { "~D3" rjust at last line.start } +Pin5: line right plen from Connector.ne-(0,17*(3*(linewid/10))) + { "D2" rjust at last line.start } +Pin4: line right plen from Connector.ne-(0,18*(3*(linewid/10))) + { "TX D1" rjust at last line.start } +Pin3: line right plen from Connector.ne-(0,19*(3*(linewid/10))) + { "RX D0" rjust at last line.start } + +# + ] #with .sw at last [].se+(0.25,0) + "Arduino Leonardo" at last [].Connector.s below + + RPI: [ + # + GPIO: box wid 34*(linewid/10) ht 21*(3*(linewid/10)) + plen = 6*(linewid/10) +# +define A_LeftGPIO { + exec sprintf("Pin%g: line left plen from GPIO.nw-(0,%g)",\ + 2*($1)-1,($1)*(3*(linewid/10))) + { "$3" ljust at last line.start } + "$2" at last line.c above } +# +A_LeftGPIO(1,,3V3) +A_LeftGPIO(2,2,SDA1) +A_LeftGPIO(3,3,SCL1) +A_LeftGPIO(4,4,GPIO_GCLK) +A_LeftGPIO(5,,GND) +A_LeftGPIO(6,17,GPIO_GEN0) +A_LeftGPIO(7,27,GPIO_GEN2) +A_LeftGPIO(8,22,GPIO_GEN3) +A_LeftGPIO(9,,3V3) +A_LeftGPIO(10,10,SPI_MOSI) +A_LeftGPIO(11,9,SPI_MISO) +A_LeftGPIO(12,11,SPI_SCLK) +A_LeftGPIO(13,,GND) +A_LeftGPIO(14,,ID_SD) +A_LeftGPIO(15,5,) +A_LeftGPIO(16,6,) +A_LeftGPIO(17,13,) +A_LeftGPIO(18,19,) +A_LeftGPIO(19,26,) +A_LeftGPIO(20,,GND ) + +# +define A_RightGPIO { + exec sprintf("Pin%g: line right plen from GPIO.ne-(0,%g)",\ + 2*($1),($1)*(3*(linewid/10))) + { "$3" rjust at last line.start } + "$2" at last line.c above } +# +A_RightGPIO(1,,5V) +A_RightGPIO(2,,5V) +A_RightGPIO(3,,GND) +A_RightGPIO(4,14,TXD0) +A_RightGPIO(5,15,RXD0) +A_RightGPIO(6,18,GPIO_GEN1) +A_RightGPIO(7,,GND) +A_RightGPIO(8,23,GPIO_GEN4) +A_RightGPIO(9,24,GPIO_GEN5) +A_RightGPIO(10,,GND) +A_RightGPIO(11,25,GPIO_GEN6) +A_RightGPIO(12,8,SPI_CEO_N) +A_RightGPIO(13,7,SPI_CE1_N) +A_RightGPIO(14,,ID_SC) +A_RightGPIO(15,,GND) +A_RightGPIO(16,12,) +A_RightGPIO(17,,GND) +A_RightGPIO(18,16,) +A_RightGPIO(19,20,) +A_RightGPIO(20,21, ) + +# + ] with .sw at last [].se+(0.25,0) + "Raspberry Pi 4 GPIO" at last [].GPIO.s below + + HD: [ + # + Base:[line up 19*(3*(linewid/10))+16*(linewid/10)*2/3/2 then right 16*(linewid/10)*2/3 \ + then right 16*(linewid/10)/3 down 16*(linewid/10)/3 \ + then down 19*(3*(linewid/10))+16*(linewid/10)*2/3-2*16*(linewid/10)/3 then down 16*(linewid/10)/3 left 16*(linewid/10)/3 \ + then left 16*(linewid/10)*2/3 then to Here] + plen = 6*(linewid/10) +# + Pin1: line left plen from Base.nw-(0,16*(linewid/10)/3+(1-1/2)*(3*(linewid/10))) + {"HPD" ljust at last line.start} + "1" at last line.c above +Pin2: line left plen from Base.nw-(0,16*(linewid/10)/3+(2-1/2)*(3*(linewid/10))) + {"UTILITY" ljust at last line.start} + "2" at last line.c above +Pin3: line left plen from Base.nw-(0,16*(linewid/10)/3+(3-1/2)*(3*(linewid/10))) + {"D2<tspan font-style=\"italic\">+</tspan>" ljust at last line.start} + "3" at last line.c above +Pin4: line left plen from Base.nw-(0,16*(linewid/10)/3+(4-1/2)*(3*(linewid/10))) + {"D2_SH" ljust at last line.start} + "4" at last line.c above +Pin5: line left plen from Base.nw-(0,16*(linewid/10)/3+(5-1/2)*(3*(linewid/10))) + {"D2<tspan font-style=\"italic\">-</tspan>" ljust at last line.start} + "5" at last line.c above +Pin6: line left plen from Base.nw-(0,16*(linewid/10)/3+(6-1/2)*(3*(linewid/10))) + {"D1<tspan font-style=\"italic\">+</tspan>" ljust at last line.start} + "6" at last line.c above +Pin7: line left plen from Base.nw-(0,16*(linewid/10)/3+(7-1/2)*(3*(linewid/10))) + {"D1_SH" ljust at last line.start} + "7" at last line.c above +Pin8: line left plen from Base.nw-(0,16*(linewid/10)/3+(8-1/2)*(3*(linewid/10))) + {"D1<tspan font-style=\"italic\">-</tspan>" ljust at last line.start} + "8" at last line.c above +Pin9: line left plen from Base.nw-(0,16*(linewid/10)/3+(9-1/2)*(3*(linewid/10))) + {"D0<tspan font-style=\"italic\">+</tspan>" ljust at last line.start} + "9" at last line.c above +Pin10: line left plen from Base.nw-(0,16*(linewid/10)/3+(10-1/2)*(3*(linewid/10))) + {"D0_SH" ljust at last line.start} + "10" at last line.c above +Pin11: line left plen from Base.nw-(0,16*(linewid/10)/3+(11-1/2)*(3*(linewid/10))) + {"D0<tspan font-style=\"italic\">-</tspan>" ljust at last line.start} + "11" at last line.c above +Pin12: line left plen from Base.nw-(0,16*(linewid/10)/3+(12-1/2)*(3*(linewid/10))) + {"CLK<tspan font-style=\"italic\">+</tspan>" ljust at last line.start} + "12" at last line.c above +Pin13: line left plen from Base.nw-(0,16*(linewid/10)/3+(13-1/2)*(3*(linewid/10))) + {"CLK_SH" ljust at last line.start} + "13" at last line.c above +Pin14: line left plen from Base.nw-(0,16*(linewid/10)/3+(14-1/2)*(3*(linewid/10))) + {"CLK<tspan font-style=\"italic\">-</tspan>" ljust at last line.start} + "14" at last line.c above +Pin15: line left plen from Base.nw-(0,16*(linewid/10)/3+(15-1/2)*(3*(linewid/10))) + {"CEC" ljust at last line.start} + "15" at last line.c above +Pin16: line left plen from Base.nw-(0,16*(linewid/10)/3+(16-1/2)*(3*(linewid/10))) + {"GND" ljust at last line.start} + "16" at last line.c above +Pin17: line left plen from Base.nw-(0,16*(linewid/10)/3+(17-1/2)*(3*(linewid/10))) + {"SCL" ljust at last line.start} + "17" at last line.c above +Pin18: line left plen from Base.nw-(0,16*(linewid/10)/3+(18-1/2)*(3*(linewid/10))) + {"SDA" ljust at last line.start} + "18" at last line.c above +Pin19: line left plen from Base.nw-(0,16*(linewid/10)/3+(19-1/2)*(3*(linewid/10))) + {"<tspan font-style=\"italic\">+</tspan>5V" ljust at last line.start} + "19" at last line.c above + +L1: line from Base.nw+(16*(linewid/10)*2/3-(3*(linewid/10)),0) up plen + svg_rot(90,"21",at last line.c +(-4*(scale/72),0)) + svg_rot(90,"SH2",at last line.start + (4*(scale/72),-8*(scale/72))) + line from Base.nw+(16*(linewid/10)*2/3-2*(3*(linewid/10)),0) up plen + svg_rot(90,"20",at last line.c+(-4*(scale/72),0)) + svg_rot(90,"SH1",at last line.start + (4*(scale/72),-8*(scale/72))) + line from Base.sw+(16*(linewid/10)*2/3-(3*(linewid/10)),0) down plen + svg_rot(90,"23",at last line.c+(-4*(scale/72),0)) + svg_rot(90,"SH4",at last line.start + (4*(scale/72),14*(scale/72))) + line from Base.sw+(16*(linewid/10)*2/3-2*(3*(linewid/10)),0) down plen + svg_rot(90,"22",at last line.c+(-4*(scale/72),0)) + svg_rot(90,"SH3",at last line.start + (4*(scale/72),14*(scale/72))) +# + ] with .nw at last [].ne+(0.25,0.5) + "Micro" rjust at HD.Base.sw "HDMI" rjust + + S: [ + # + Base: box wid 18*(linewid/10) ht 14*(3*(linewid/10)) rad 5/3*(3*(linewid/10)) + plen = 6*(linewid/10) +# + B12: line left plen from Base.n-(18*(linewid/10)/2,(1+0.5)*(3*(linewid/10))) + {"GND" ljust at last line.start} +B11: line left plen from Base.n-(18*(linewid/10)/2,(2+0.5)*(3*(linewid/10))) + {"RX1<tspan font-style=\"italic\">+</tspan>" ljust at last line.start} +B10: line left plen from Base.n-(18*(linewid/10)/2,(3+0.5)*(3*(linewid/10))) + {"RX1<tspan font-style=\"italic\">-</tspan>" ljust at last line.start} +B9: line left plen from Base.n-(18*(linewid/10)/2,(4+0.5)*(3*(linewid/10))) + {"VBUS" ljust at last line.start} +B8: line left plen from Base.n-(18*(linewid/10)/2,(5+0.5)*(3*(linewid/10))) + {"SBU2" ljust at last line.start} +B7: line left plen from Base.n-(18*(linewid/10)/2,(6+0.5)*(3*(linewid/10))) + {"D<tspan font-style=\"italic\">-</tspan>" ljust at last line.start} +B6: line left plen from Base.n-(18*(linewid/10)/2,(7+0.5)*(3*(linewid/10))) + {"D<tspan font-style=\"italic\">+</tspan>" ljust at last line.start} +B5: line left plen from Base.n-(18*(linewid/10)/2,(8+0.5)*(3*(linewid/10))) + {"CC2" ljust at last line.start} +B4: line left plen from Base.n-(18*(linewid/10)/2,(9+0.5)*(3*(linewid/10))) + {"VBUS" ljust at last line.start} +B3: line left plen from Base.n-(18*(linewid/10)/2,(10+0.5)*(3*(linewid/10))) + {"TX2<tspan font-style=\"italic\">-</tspan>" ljust at last line.start} +B2: line left plen from Base.n-(18*(linewid/10)/2,(11+0.5)*(3*(linewid/10))) + {"TX2<tspan font-style=\"italic\">+</tspan>" ljust at last line.start} +B1: line left plen from Base.n-(18*(linewid/10)/2,(12+0.5)*(3*(linewid/10))) + {"GND" ljust at last line.start} + +# + A1: line right plen from Base.n+(18*(linewid/10)/2,-(1+0.5)*(3*(linewid/10))) + {"GND" rjust at last line.start} +A2: line right plen from Base.n+(18*(linewid/10)/2,-(2+0.5)*(3*(linewid/10))) + {"TX1<tspan font-style=\"italic\">+</tspan>" rjust at last line.start} +A3: line right plen from Base.n+(18*(linewid/10)/2,-(3+0.5)*(3*(linewid/10))) + {"TX1<tspan font-style=\"italic\">-</tspan>" rjust at last line.start} +A4: line right plen from Base.n+(18*(linewid/10)/2,-(4+0.5)*(3*(linewid/10))) + {"VBUS" rjust at last line.start} +A5: line right plen from Base.n+(18*(linewid/10)/2,-(5+0.5)*(3*(linewid/10))) + {"CC1" rjust at last line.start} +A6: line right plen from Base.n+(18*(linewid/10)/2,-(6+0.5)*(3*(linewid/10))) + {"D<tspan font-style=\"italic\">+</tspan>" rjust at last line.start} +A7: line right plen from Base.n+(18*(linewid/10)/2,-(7+0.5)*(3*(linewid/10))) + {"D<tspan font-style=\"italic\">-</tspan>" rjust at last line.start} +A8: line right plen from Base.n+(18*(linewid/10)/2,-(8+0.5)*(3*(linewid/10))) + {"SBU1" rjust at last line.start} +A9: line right plen from Base.n+(18*(linewid/10)/2,-(9+0.5)*(3*(linewid/10))) + {"VBUS" rjust at last line.start} +A10: line right plen from Base.n+(18*(linewid/10)/2,-(10+0.5)*(3*(linewid/10))) + {"RX2<tspan font-style=\"italic\">-</tspan>" rjust at last line.start} +A11: line right plen from Base.n+(18*(linewid/10)/2,-(11+0.5)*(3*(linewid/10))) + {"RX2<tspan font-style=\"italic\">+</tspan>" rjust at last line.start} +A12: line right plen from Base.n+(18*(linewid/10)/2,-(12+0.5)*(3*(linewid/10))) + {"GND" rjust at last line.start} + +# + ] with .sw at (HD.e.x+0.25,RPI.s.y) + "USB-C Socket" at S.Base.s below + "B12" at S.B12.end above ljust + "B1" at S.B1.end above ljust + "A1" at S.A1.end above rjust + "A12" at S.A12.end above rjust + + command "</g>" + +.PE |