gokul/fieldkit-usb
USB-C-powered ESP32-S3 Wi-Fi/Bluetooth handheld with an SMD 128x32 OLED, six navigation buttons, USB-C power/data, complete checked routing, and four native schematic sheets.
- Version
- 0.4.2
- License
- UNLICENSED
- Stars
- 0
sections/controls.tsx
import { Fragment } from "react"
import { A_19_217_BHC_ZL1M2RY_3T } from "../imports/A_19_217_BHC_ZL1M2RY_3T"
import { TS_1088_AR02016 } from "../imports/TS_1088_AR02016"
import { Res, Cap } from "../lib/passives"
const keys = [
{name:'SW1',net:'KEY_UP',x:32,y:16,label:'UP'},
{name:'SW2',net:'KEY_DOWN',x:32,y:-2,label:'DOWN'},
{name:'SW3',net:'KEY_LEFT',x:23.5,y:7,label:'LEFT'},
{name:'SW4',net:'KEY_RIGHT',x:40.5,y:7,label:'RIGHT'},
{name:'SW5',net:'KEY_OK',x:32,y:7,label:'OK'},
{name:'SW6',net:'KEY_BACK',x:23.5,y:-2,label:'BACK'},
]
export const Controls = () => <>
{keys.map(key=><Fragment key={key.name}><schematicsection name={`key_${key.name}`} displayName={key.label} /></Fragment>)}
<schematicsection name="controls" displayName="Status LEDs" />
{keys.map((key,index)=><Fragment key={key.name}>
<TS_1088_AR02016 schSectionName={`key_${key.name}`} name={key.name} pcbX={key.x} pcbY={key.y} connections={{pin1:`net.${key.net}`,pin2:'net.GND'}} />
<Res schSectionName={`key_${key.name}`} name={`R${20+index}`} resistance="10k" pcbX={key.x-2} pcbY={key.y-4} connections={{pin1:'net.V3_3',pin2:`net.${key.net}`}} />
<Cap schSectionName={`key_${key.name}`} name={`C${20+index}`} capacitance="100nF" pcbX={key.x+2} pcbY={key.y-4} connections={{pin1:`net.${key.net}`,pin2:'net.GND'}} />
<silkscreentext text={key.label} pcbX={key.x} pcbY={key.y+3.5} fontSize={1} />
</Fragment>)}
<Res schSectionName="controls" name="R26" schMarginX={2.5} schRotation={0} resistance="1k" pcbX={3.5} pcbY={-26} connections={{pin1:'net.STATUS',pin2:'net.STATUS_LED'}} />
<A_19_217_BHC_ZL1M2RY_3T schSectionName="controls" name="D2" schRotation={0} pcbX={7.5} pcbY={-26} connections={{anode:'net.STATUS_LED',cathode:'net.GND'}} />
</>