seveibar/f1c100s-dev-board
This code defines the hardware layout and schematic for a four-layer F1C100S-based module, including footprint placement, pin mappings, power regulation, decoupling capacitors, support components, and routing configurations, enabling automated PCB generation, routing, and verification.
- Version
- 1.3.0
- License
- unset
- Stars
- 0
footprints/index.tsx
import jst6 from './jst6.json'
import jst4 from './jst4.json'
import so8 from './so8.json'
import flash from './flash.json'
import reset from './reset.json'
import rgb from './rgb.json'
// Preserve cached KiCad pads and outlines; omit library placeholder text.
const render = (data: any[]) => <footprint>{data.map((e,i) => {
const xy={pcbX:e.x,pcbY:e.y}
if(e.type==='pcb_smtpad') return <smtpad {...xy} shape="rect" width={e.width} height={e.height}
cornerRadius={e.corner_radius} portHints={e.port_hints} layer={e.layer} />
if(e.type==='pcb_plated_hole' && e.shape==='pill') return <platedhole {...xy} shape="pill"
outerWidth={e.outer_width} outerHeight={e.outer_height} holeWidth={e.hole_width} holeHeight={e.hole_height}
pcbRotation={e.ccw_rotation??0} portHints={e.port_hints} />
if(e.type==='pcb_plated_hole' && e.shape==='circular_hole_with_rect_pad') return <platedhole {...xy}
shape="circular_hole_with_rect_pad" holeDiameter={e.hole_diameter} rectPadWidth={e.rect_pad_width}
rectPadHeight={e.rect_pad_height} rectBorderRadius={e.rect_border_radius} portHints={e.port_hints} />
if(e.type==='pcb_silkscreen_path') return <silkscreenpath route={e.route} strokeWidth={e.stroke_width} layer={e.layer} />
if(e.type==='pcb_courtyard_outline') return <courtyardoutline outline={e.outline} layer={e.layer} />
if(e.type==='pcb_courtyard_rect') return <courtyardrect pcbX={e.center.x} pcbY={e.center.y}
width={e.width} height={e.height} layer={e.layer} />
return null
})}</footprint>
export const footprints={jst6:render(jst6),jst4:render(jst4),so8:render(so8),flash:render(flash),reset:render(reset),rgb:render(rgb)}
