Abse2001/OR-Gate-Tutorial
A USB-C powered circuit with two push buttons controlling four red LEDs and an OR gate to combine button signals.
Usage: To import and use the OR Gate component: ```tsx import { useOrGate } from "@tsci/Abse2001.OR-Gate-Chip" // In your component: const OR = useOrGate("OR") // Then use in a board, referencing its pins <board> <OR schY={-1} schX={-3} /> {/* Connect to specific pins */} <trace from={OR.pin2} to="net.VBUS1" /> <trace from={OR.pin4} to={someOtherComponent.pin} /> </board> ``` Key points: - Import from "@tsci/Abse2001.OR-Gate-Chip" - Use `useOrGate()` to create an instance - Passes name as argument - Can position with `schX/schY` - Pins can be referenced like `OR.pin2`, `OR.pin4`, etc.
- Version
- 0.0.1
- License
- unset
- Stars
- 0
dist/index.js
PCB
Schematic
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _seveibar = require("@tsci/seveibar.red-led");
var _seveibar2 = require("@tsci/seveibar.push-button");
var _seveibar3 = require("@tsci/seveibar.smd-usb-c");
var _Abse = require("@tsci/Abse2001.OR-Gate-Chip");
var _default = () => {
const B1 = (0, _seveibar2.usePushButton)("B1");
const B2 = (0, _seveibar2.usePushButton)("B2");
const USBC = (0, _seveibar3.useUsbC)("USBC");
const LED1 = (0, _seveibar.useRedLed)("LED1");
const LED2 = (0, _seveibar.useRedLed)("LED2");
const LED3 = (0, _seveibar.useRedLed)("LED3");
const LED4 = (0, _seveibar.useRedLed)("LED4");
const OR = (0, _Abse.useOrGate)("OR");
return /*#__PURE__*/React.createElement("board", {
outline: [{
x: -15,
y: -30
}, {
x: 15,
y: -30
}, {
x: 25,
y: -15
}, {
x: 15,
y: 10
}, {
x: 0,
y: 25
}, {
x: -15,
y: 10
}, {
x: -25,
y: -15
}, {
x: -15,
y: -30
}],
width: "30mm",
height: "60mm"
}, /*#__PURE__*/React.createElement(USBC, {
GND1: "net.GND1",
GND2: "net.GND2",
VBUS1: "net.VBUS1",
VBUS2: "net.VBUS2",
schY: 0,
schX: -12,
pcbY: -24.6
}), /*#__PURE__*/React.createElement(B1, {
schY: -4,
schX: -7,
pcbY: -14,
pcbX: -14.3
}), /*#__PURE__*/React.createElement(B2, {
schY: 2,
schX: -7,
pcbY: -14,
pcbX: 13
}), /*#__PURE__*/React.createElement("resistor", {
name: "R1",
schY: -4,
schX: -5,
pcbRotation: "90",
pcbX: -11,
resistance: "150",
footprint: "0402"
}), /*#__PURE__*/React.createElement("resistor", {
name: "R2",
pcbRotation: "90",
pcbX: 12.77,
schY: 2,
schX: -5,
resistance: "150",
footprint: "0402"
}), /*#__PURE__*/React.createElement("resistor", {
name: "R3",
pcbRotation: "90",
pcbX: 0.8,
pcbY: 5,
schY: -1.15,
schX: 1,
resistance: "150",
footprint: "0402"
}), /*#__PURE__*/React.createElement("resistor", {
name: "R4",
pcbRotation: "90",
pcbY: -26,
pcbX: -6.3,
schY: -6,
schX: -12,
resistance: "150",
footprint: "0402"
}), /*#__PURE__*/React.createElement(LED1, {
schY: -4,
schX: -2,
pcbY: 8,
pcbX: -12
}), /*#__PURE__*/React.createElement(LED2, {
schY: 2,
schX: -2,
pcbY: 8,
pcbX: 12
}), /*#__PURE__*/React.createElement(LED3, {
schY: -1.15,
schX: 4,
pos: OR.pin2,
pcbY: 20,
pcbX: 0
}), /*#__PURE__*/React.createElement(LED4, {
schY: -4,
schX: -12,
pcbY: -29,
pcbX: -7
}), /*#__PURE__*/React.createElement(OR, {
schY: -1,
schX: -3
}), /*#__PURE__*/React.createElement("trace", {
pcbRouteHints: [{
x: -13.4,
y: -18.7
}],
from: B1.pin3,
to: "net.VBUS1"
}), /*#__PURE__*/React.createElement("trace", {
pcbRouteHints: [{
x: -13.4,
y: -18.7
}],
from: B1.pin3,
to: "net.VBUS2"
}), /*#__PURE__*/React.createElement("trace", {
from: ".B2 > .pin2",
to: ".OR > .pin4"
}), /*#__PURE__*/React.createElement("trace", {
from: ".B2 > .pin2",
to: ".R2 > .pin1"
}), /*#__PURE__*/React.createElement("trace", {
from: B1.pin2,
to: ".R1 > .pin1"
}), /*#__PURE__*/React.createElement("trace", {
from: ".B1 > .pin2",
to: ".OR > .pin5"
}), /*#__PURE__*/React.createElement("trace", {
from: ".B2 > .pin3",
to: "net.VBUS1"
}), /*#__PURE__*/React.createElement("trace", {
from: ".B2 > .pin3",
to: "net.VBUS2"
}), /*#__PURE__*/React.createElement("trace", {
from: ".LED1 > .neg",
to: ".USBC > .GND2"
}), /*#__PURE__*/React.createElement("trace", {
from: ".LED1 > .neg",
to: ".USBC > .GND1"
}), /*#__PURE__*/React.createElement("trace", {
from: ".LED1 > .pos",
to: ".R1 > .pin2"
}), /*#__PURE__*/React.createElement("trace", {
from: ".LED2 > .pos",
to: ".R2 > .pin2"
}), /*#__PURE__*/React.createElement("trace", {
from: ".LED2 > .neg",
to: "net.GND1"
}), /*#__PURE__*/React.createElement("trace", {
from: ".LED3 > .pos",
to: ".R3 > .neg"
}), /*#__PURE__*/React.createElement("trace", {
from: ".R4 > .pos",
to: ".LED4 > .pos"
}), /*#__PURE__*/React.createElement("trace", {
from: ".USBC > .GND2",
to: ".LED3 > .neg"
}), /*#__PURE__*/React.createElement("trace", {
from: ".OR > .pin2",
to: "net.VBUS1"
}), /*#__PURE__*/React.createElement("trace", {
from: ".OR > .pin1",
to: ".R3 > .pos"
}), /*#__PURE__*/React.createElement("trace", {
from: ".OR > .pin3",
to: ".USBC > .GND1"
}), /*#__PURE__*/React.createElement("trace", {
from: "net.VBUS1",
to: ".R4 > .neg"
}), /*#__PURE__*/React.createElement("trace", {
from: "net.GND1",
to: ".LED4 > .neg"
}));
};
exports.default = _default;