gokul/cm4-media-carrier

A tscircuit package created by gokul.

Version
0.1.0
License
unset
Stars
0

power-connections.tsx

/** Short, parallel through-via feeds into the solid L3 power and L2 ground planes. */
export function PowerConnections() {
 const cm4 = [77,79,81,83,85,87].map((pin,index) => ({
   name:`V5_CM4_${pin}`,net:"V5",port:`.J_CM4A > .pin${pin}`,
   pad:{x:-18.5,y:0.1-index*0.4},via:{x:index%2 ? -20.1 : -19.3,y:0.1-index*0.4},width:0.15,
 }))
 const usb = [
  {port:"VBUS1",net:"V5",x:24.8258552,y:26.4001603},
  {port:"VBUS2",net:"V5",x:24.8260203,y:21.6000429},
  {port:"GND1",net:"GND",x:24.8259568,y:20.8000445},
  {port:"GND2",net:"GND",x:24.8258552,y:27.2000063},
 ].flatMap(p => [0,1].map(i => ({name:`FEED_${p.port}_${i}`,net:p.net,port:`.J_USB > .${p.port}`,pad:{x:p.x,y:p.y},via:{x:26.6-i*.8,y:p.y},width:0.3})))
 const reference = [68,74,80,86,92].map((pin,index)=>({
   name:`GND_HDMI_${pin}`,net:"GND",port:`.J_CM4B > .pin${pin}`,
   pad:{x:18.5,y:2.1-index*1.2},via:{x:19.3,y:2.1-index*1.2},width:0.1,
 }))
 return <>{[...cm4,...usb,...reference].map(p=><group key={p.name} pcbRelative>
   <via name={p.name} pcbX={p.via.x} pcbY={p.via.y} fromLayer="top" toLayer="bottom" outerDiameter={0.45} holeDiameter={0.2} connectsTo={`net.${p.net}`} tented />
   <trace name={`${p.name}_FEED`} from={p.port} to={`.${p.name} > .top`} thickness={p.width} pcbPath={[p.port, `.${p.name} > .top`]} />
 </group>)}</>
}