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>)}</>
}