jbreidfjord-dev / Op Amp V1

Files

Schematic

PCB

Open in Flux
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
const invertingInputTerminalUid = "7f2edaba-0781-75e6-741c-126d44ef6f8f"; // IN1
const nonInvertingInputTerminalUid = "2ed2fa39-50d8-d57b-8cd2-957cb1594ce8"; // IN2
const outputTerminalUid = "46d8fb2d-90cd-e6bf-8f9a-4823cbecadd8"; // OUT
const invertingInputTerminal = flux.getNodeById(invertingInputTerminalUid, "elementTerminal");
const nonInvertingInputTerminal = flux.getNodeById(nonInvertingInputTerminalUid, "elementTerminal");
const outputTerminal = flux.getNodeById(outputTerminalUid, "elementTerminal");
if (!invertingInputTerminal || !nonInvertingInputTerminal || !outputTerminal) {
    throw new Error("Oops! Couldn't find terminals by uid")
}
const outputVoltage = flux.createOutputNode("output-voltage");
outputVoltage.name = "VOut";
outputVoltage.unit = "V";
const invertingInputVoltage = flux.createOutputNode("inv-in-voltage");
invertingInputVoltage.name = "VInv";
invertingInputVoltage.unit = "V";
const nonInvertingInputVoltage = flux.createOutputNode("noninv-in-voltage");
nonInvertingInputVoltage.name = "VNonInv";
nonInvertingInputVoltage.unit = "V";
/**
 * Helper for getting a typed, defined property value.
 * Default value will be used when property value cannot be resolved.
 */
function getPropValueOrDefault(propName: string, defaultValue: number): number {
    const maybeValue = Number(flux.properties.find((prop) => prop.name === propName)?.value);
    return Number.isNaN(maybeValue) ? defaultValue : maybeValue;
}
flux.on("setup", () => {
Enter to Rename, Shift+Enter to Preview

Reviews