@vessel-dsp/compiler 0.18.0 → 0.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +26 -13
- package/dist/compile.js.map +1 -1
- package/dist/device-laws.d.ts.map +1 -1
- package/dist/device-laws.js +83 -4
- package/dist/device-laws.js.map +1 -1
- package/dist/latch-seed.d.ts +7 -6
- package/dist/latch-seed.d.ts.map +1 -1
- package/dist/latch-seed.js +199 -31
- package/dist/latch-seed.js.map +1 -1
- package/dist/lower.d.ts.map +1 -1
- package/dist/lower.js +145 -0
- package/dist/lower.js.map +1 -1
- package/dist/netlist.d.ts.map +1 -1
- package/dist/netlist.js +16 -0
- package/dist/netlist.js.map +1 -1
- package/dist/part-catalog.d.ts +21 -0
- package/dist/part-catalog.d.ts.map +1 -1
- package/dist/part-catalog.js +750 -21
- package/dist/part-catalog.js.map +1 -1
- package/dist/partition.d.ts.map +1 -1
- package/dist/partition.js +5 -0
- package/dist/partition.js.map +1 -1
- package/dist/registry-data/index.d.ts +1 -0
- package/dist/registry-data/index.d.ts.map +1 -1
- package/dist/registry-data/index.js +3 -0
- package/dist/registry-data/index.js.map +1 -1
- package/dist/registry-data/poweramp.d.ts +10 -0
- package/dist/registry-data/poweramp.d.ts.map +1 -0
- package/dist/registry-data/poweramp.js +191 -0
- package/dist/registry-data/poweramp.js.map +1 -0
- package/dist/registry-data/schema.d.ts +2 -0
- package/dist/registry-data/schema.d.ts.map +1 -1
- package/dist/registry-data/schema.js +22 -0
- package/dist/registry-data/schema.js.map +1 -1
- package/dist/registry.d.ts +89 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +148 -0
- package/dist/registry.js.map +1 -1
- package/dist/types.d.ts +75 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/unverified-pinout.d.ts.map +1 -1
- package/dist/unverified-pinout.js +8 -1
- package/dist/unverified-pinout.js.map +1 -1
- package/package.json +2 -2
package/dist/partition.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"partition.d.ts","sourceRoot":"","sources":["../src/partition.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,KAAK,EAGX,YAAY,EAEZ,YAAY,EAEZ,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"partition.d.ts","sourceRoot":"","sources":["../src/partition.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,KAAK,EAGX,YAAY,EAEZ,YAAY,EAEZ,MAAM,SAAS,CAAC;AAuGjB,wBAAgB,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAgG3D;AAwDD,qBAAa,cAAe,SAAQ,YAAY;gBACnC,OAAO,EAAE,MAAM;CAG3B"}
|
package/dist/partition.js
CHANGED
|
@@ -100,6 +100,11 @@ const NEWTON_BY_LAW_KIND = {
|
|
|
100
100
|
// exists this law is unproducible -- the entry below only satisfies the
|
|
101
101
|
// exhaustiveness the table's header demands.
|
|
102
102
|
ujt: true,
|
|
103
|
+
// A fixed-gain power amp lowers to linear stamps only (conductances, two linear
|
|
104
|
+
// vccs branches, a linear follower); the one rail-limited element is the follower,
|
|
105
|
+
// whose saturation is a mode switch like any railed op-amp. Conservative true:
|
|
106
|
+
// linear drive still converges in one pass, clipping takes Newton iterations.
|
|
107
|
+
"power-amp": true,
|
|
103
108
|
};
|
|
104
109
|
function lawNeedsNewton(law) {
|
|
105
110
|
// A rail-limited op-amp saturates, which is a mode switch and needs Newton. Without rails it
|
package/dist/partition.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"partition.js","sourceRoot":"","sources":["../src/partition.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,EAAE;AACF,kFAAkF;AAClF,gFAAgF;AAChF,6CAA6C;AAC7C,EAAE;AACF,oCAAoC;AACpC,EAAE;AACF,sFAAsF;AACtF,sFAAsF;AACtF,mFAAmF;AACnF,yEAAyE;AACzE,EAAE;AACF,qFAAqF;AACrF,mFAAmF;AACnF,sFAAsF;AACtF,mFAAmF;AAEnF,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAUnD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,kBAAkB,GAEpB;IACH,WAAW,EAAE,KAAK;IAClB,wBAAwB,EAAE,KAAK;IAC/B,uBAAuB,EAAE,KAAK;IAC9B,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,KAAK;IACjB,gBAAgB,EAAE,KAAK;IACvB,uFAAuF;IACvF,uFAAuF;IACvF,yFAAyF;IACzF,WAAW,EAAE,KAAK;IAClB,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,KAAK;IACf,gBAAgB,EAAE,KAAK;IACvB,WAAW,EAAE,KAAK;IAClB,aAAa,EAAE,KAAK;IACpB,IAAI,EAAE,KAAK;IACX,uFAAuF;IACvF,uFAAuF;IACvF,eAAe,EAAE,KAAK;IACtB,mFAAmF;IACnF,oFAAoF;IACpF,gFAAgF;IAChF,eAAe,EAAE,KAAK;IACtB,6EAA6E;IAC7E,iFAAiF;IACjF,sCAAsC;IACtC,aAAa,EAAE,KAAK;IACpB,KAAK,EAAE,IAAI;IACX,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,IAAI;IACb,yFAAyF;IACzF,wFAAwF;IACxF,0CAA0C;IAC1C,YAAY,EAAE,IAAI;IAClB,mFAAmF;IACnF,qFAAqF;IACrF,oFAAoF;IACpF,kFAAkF;IAClF,sEAAsE;IACtE,GAAG,EAAE,IAAI;IACT,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,IAAI;IACjB,eAAe,EAAE,IAAI;IACrB,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,IAAI;IAChB,iFAAiF;IACjF,kFAAkF;IAClF,4EAA4E;IAC5E,YAAY,EAAE,IAAI;IAClB,iEAAiE;IACjE,4DAA4D;IAC5D,SAAS,EAAE,IAAI;IACf,kFAAkF;IAClF,kFAAkF;IAClF,cAAc,EAAE,IAAI;IACpB,WAAW,EAAE,IAAI;IACjB,wEAAwE;IACxE,6EAA6E;IAC7E,yEAAyE;IACzE,wEAAwE;IACxE,6CAA6C;IAC7C,GAAG,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"partition.js","sourceRoot":"","sources":["../src/partition.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ export { zenerRegistryRecords } from "./zener";
|
|
|
10
10
|
export { jfetRegistryRecords } from "./jfet";
|
|
11
11
|
export { ujtRegistryRecords } from "./ujt";
|
|
12
12
|
export { regulatorRegistryRecords } from "./regulator";
|
|
13
|
+
export { powerAmpRegistryRecords } from "./poweramp";
|
|
13
14
|
export { chargePumpRegistryRecords } from "./charge-pump";
|
|
14
15
|
/**
|
|
15
16
|
* The whole wave-1 data set, validated and frozen. Throws at module load on a duplicate
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registry-data/index.ts"],"names":[],"mappings":"AAqDA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registry-data/index.ts"],"names":[],"mappings":"AAqDA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAa9C,OAAO,EACN,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,aAAa,GAClB,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,aAAa,GAClB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EACN,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,GACtB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AA0B1D;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,aAAa,EAYnD,CAAC;AAEH,kEAAkE;AAClE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAEzE"}
|
|
@@ -59,6 +59,7 @@ import { zenerRegistryRecords } from "./zener.js";
|
|
|
59
59
|
import { jfetRegistryRecords } from "./jfet.js";
|
|
60
60
|
import { ujtRegistryRecords } from "./ujt.js";
|
|
61
61
|
import { regulatorRegistryRecords } from "./regulator.js";
|
|
62
|
+
import { powerAmpRegistryRecords } from "./poweramp.js";
|
|
62
63
|
import { chargePumpRegistryRecords } from "./charge-pump.js";
|
|
63
64
|
export { CLASS_PARAM_SCHEMAS, classParamNames, REQUIRED_CLASS_PARAMS, requiredClassParams, } from "./schema.js";
|
|
64
65
|
export { assemblePartData, definePartData, findPartData, validateCitedParam, communityProvenanceOf, } from "./loader.js";
|
|
@@ -71,6 +72,7 @@ export { zenerRegistryRecords } from "./zener.js";
|
|
|
71
72
|
export { jfetRegistryRecords } from "./jfet.js";
|
|
72
73
|
export { ujtRegistryRecords } from "./ujt.js";
|
|
73
74
|
export { regulatorRegistryRecords } from "./regulator.js";
|
|
75
|
+
export { powerAmpRegistryRecords } from "./poweramp.js";
|
|
74
76
|
export { chargePumpRegistryRecords } from "./charge-pump.js";
|
|
75
77
|
const opampAsEntries = definePartData(
|
|
76
78
|
// The cited engine params only: the swing's printed condition (supply, load,
|
|
@@ -108,6 +110,7 @@ export const partRegistryData = assemblePartData([
|
|
|
108
110
|
regulatorRegistryRecords,
|
|
109
111
|
chargePumpRegistryRecords,
|
|
110
112
|
ujtRegistryRecords,
|
|
113
|
+
powerAmpRegistryRecords,
|
|
111
114
|
]);
|
|
112
115
|
/** Find a stage-1 data entry by exact folded part id or alias. */
|
|
113
116
|
export function findPartRegistryData(partId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry-data/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry-data/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { PartClassName } from "./schema";
|
|
2
|
+
import { type PartDataEntry } from "./loader";
|
|
3
|
+
/** LM386 resistor + GBW record, as cited parameters. */
|
|
4
|
+
export type PowerAmpRegistryRecord = PartDataEntry & {
|
|
5
|
+
class: "power-amp";
|
|
6
|
+
};
|
|
7
|
+
export declare const powerAmpRegistryRecords: readonly PartDataEntry[];
|
|
8
|
+
export declare function findPowerAmpRegistryData(data: readonly PartDataEntry[] | undefined, partId: string): PartDataEntry | null;
|
|
9
|
+
export type { PartClassName };
|
|
10
|
+
//# sourceMappingURL=poweramp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poweramp.d.ts","sourceRoot":"","sources":["../../src/registry-data/poweramp.ts"],"names":[],"mappings":"AA0CA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9D,wDAAwD;AACxD,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,CAAC;AAK5E,eAAO,MAAM,uBAAuB,EAAE,SAAS,aAAa,EAuJ1D,CAAC;AAEH,wBAAgB,wBAAwB,CACvC,IAAI,EAAE,SAAS,aAAa,EAAE,YAA0B,EACxD,MAAM,EAAE,MAAM,GACZ,aAAa,GAAG,IAAI,CAStB;AAED,YAAY,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
// LM386 / NJM386 fixed-gain power-amp registry data: the printed resistor network and
|
|
2
|
+
// the derived gain-bandwidth product, by exact part id.
|
|
3
|
+
//
|
|
4
|
+
// One record per maker sheet (TI, NJR). The five resistor values below are the printed
|
|
5
|
+
// internal-schematic figures both sheets draw identically (TI SNAS545D Rev D p1 equivalent
|
|
6
|
+
// schematic; NJR NJM386 databook p5-1 Equivalent Circuit): 15 kΩ feedback (output to pin-1
|
|
7
|
+
// node), 1.35 kΩ gain-set (pin 1 to pin 8), 150 Ω degeneration (pin-8 node to the
|
|
8
|
+
// input-stage emitter node), 50 kΩ input shunt (each input to ground) and 15 kΩ bypass
|
|
9
|
+
// upper (Vs to pin 7). The lower bypass 15 kΩ terminates on an unmodeled internal bias
|
|
10
|
+
// node, so only the upper half is a pin-to-pin stamp (`lower.ts` documents the omission).
|
|
11
|
+
//
|
|
12
|
+
// The gain-bandwidth product is DERIVED, not printed: neither sheet prints a GBW row. Both
|
|
13
|
+
// print closed-loop bandwidth 300 kHz TYP at gain 20 (TI p5 §6.5, NJR p5-2), and the follower
|
|
14
|
+
// that carries the product is a unity-gain buffer, so its closed-loop corner equals the
|
|
15
|
+
// product directly (no noise-gain multiple: the pole sits in the x1 follower, not in a x20
|
|
16
|
+
// loop; `lower.ts` and the report show the loop algebra and the measured loop factor ~0.9,
|
|
17
|
+
// disclosed as part of the derivation rather than hidden in the number). Basis `derived`
|
|
18
|
+
// with the working written so it can be checked; the circularity (the product is derived
|
|
19
|
+
// from the very bandwidth it reproduces) is stated, not hidden.
|
|
20
|
+
//
|
|
21
|
+
// Provenance, per parameter:
|
|
22
|
+
// - The five resistors: `datasheet`; the value is a direct reading of the printed
|
|
23
|
+
// equivalent schematic.
|
|
24
|
+
// - `gainBandwidthHz`: `derived`; the arithmetic is the closed identity above, quoted with
|
|
25
|
+
// the printed BW row it is derived from.
|
|
26
|
+
// - `openLoopGain` (class schema) is NOT carried here: like the op-amp rows, the builder in
|
|
27
|
+
// `part-catalog.ts` supplies the house ideal-opamp value (1e5) with its prose citation.
|
|
28
|
+
//
|
|
29
|
+
// `JRC386D` is the one knowingly non-printed id here, carried on the NJR record per owner
|
|
30
|
+
// decision 2026-10-28, on the same footing as `JRC4558D` (part-catalog.ts, owner decision
|
|
31
|
+
// 2026-10-15). The NJR databook prints NJM386D (p5-1 lists NJM386D / M / L / E) and carries the
|
|
32
|
+
// maker's "JRC" logo and "New Japan Radio Co., Ltd." footer; it does NOT print the string
|
|
33
|
+
// JRC386D, so this is an owner marking alias, not a maker statement (the registry rule that a
|
|
34
|
+
// typed alias needs a source stating equivalence is met only by that owner decision). Two
|
|
35
|
+
// vendor listings name the part ("NJM386D / JRC386D NOS NJR JAPAN"; "JRC386D full analog of
|
|
36
|
+
// NJM386D") and are weak, so they are not the basis. The NJR sheet disagrees with itself on
|
|
37
|
+
// quiescent current (table ICC 3 mA TYP / 8 mA MAX at 6 V against page-1 prose "4mA"), and TI
|
|
38
|
+
// prints 4 mA TYP; no quiescent figure is carried here because the law does not need one.
|
|
39
|
+
// Bare `LM386` rides the TI record as an alias: the TI sheet's family title plus its Device
|
|
40
|
+
// Information table (all orderables LM386-prefixed) is the stated source, per owner ruling
|
|
41
|
+
// 2026-10-28 (asked, answered "Alias allowed on TI title").
|
|
42
|
+
import { definePartData } from "./loader.js";
|
|
43
|
+
const TI_SHEET = "TI LM386 SNAS545D Rev D (Aug 2023)";
|
|
44
|
+
const NJR_SHEET = "NJR NJM386 databook pp. 5-1-5-5 (JRC logo, New Japan Radio Co., Ltd. footer)";
|
|
45
|
+
export const powerAmpRegistryRecords = definePartData([
|
|
46
|
+
{
|
|
47
|
+
// TI orderables: Device Information table p1 (LM386N-1/N-3/N-4 PDIP, LM386M-1/MX-1
|
|
48
|
+
// SOIC, LM386MMX-1 VSSOP). The bare LM386 alias rests on the sheet's family title
|
|
49
|
+
// 'LM386 Low Voltage Audio Power Amplifier' (p1) plus this table (every orderable
|
|
50
|
+
// LM386-prefixed); no orderable prints the bare stem alone.
|
|
51
|
+
partIds: ["LM386N-1", "LM386N-3", "LM386N-4", "LM386M-1", "LM386MX-1", "LM386MMX-1"],
|
|
52
|
+
aliases: ["LM386"],
|
|
53
|
+
class: "power-amp",
|
|
54
|
+
params: {
|
|
55
|
+
feedbackOhms: {
|
|
56
|
+
value: 15000,
|
|
57
|
+
basis: "datasheet",
|
|
58
|
+
source: `${TI_SHEET} p1 equivalent schematic: the 15 k resistor from the ` +
|
|
59
|
+
`VOUT (pin 5) node to the GAIN 1 node (feedback path). Identical value and ` +
|
|
60
|
+
`placement in ${NJR_SHEET} p5-1 Equivalent Circuit.`,
|
|
61
|
+
},
|
|
62
|
+
gainSetOhms: {
|
|
63
|
+
value: 1350,
|
|
64
|
+
basis: "datasheet",
|
|
65
|
+
source: `${TI_SHEET} p1 equivalent schematic: the 1.35 k resistor between the ` +
|
|
66
|
+
`GAIN 8 and GAIN 1 pins. Identical in ${NJR_SHEET} p5-1 Equivalent Circuit.`,
|
|
67
|
+
},
|
|
68
|
+
degenerationOhms: {
|
|
69
|
+
value: 150,
|
|
70
|
+
basis: "datasheet",
|
|
71
|
+
source: `${TI_SHEET} p1 equivalent schematic: the 150 resistor from the GAIN 8 ` +
|
|
72
|
+
`node to the input-stage emitter node (internal end). Identical in ` +
|
|
73
|
+
`${NJR_SHEET} p5-1 Equivalent Circuit.`,
|
|
74
|
+
},
|
|
75
|
+
inputShuntOhms: {
|
|
76
|
+
value: 50000,
|
|
77
|
+
basis: "datasheet",
|
|
78
|
+
source: `${TI_SHEET} p1 equivalent schematic and §9.2.1.2.2 Input Biasing p11 ` +
|
|
79
|
+
`('both inputs are biased to ground with a 50 kΩ resistor'); the 50 k ` +
|
|
80
|
+
`resistors from -INPUT (pin 2) and +INPUT (pin 3) to ground. Identical in ` +
|
|
81
|
+
`${NJR_SHEET} p5-1 Equivalent Circuit and p5-3 INPUT BIASING ('biased to ` +
|
|
82
|
+
`ground with a 50 kΩ resistor').`,
|
|
83
|
+
},
|
|
84
|
+
bypassUpperOhms: {
|
|
85
|
+
value: 15000,
|
|
86
|
+
basis: "datasheet",
|
|
87
|
+
source: `${TI_SHEET} p1 equivalent schematic: the 15 k resistor from Vs (pin 6) ` +
|
|
88
|
+
`to the BYPASS (pin 7) node (upper half of the bypass divider; the lower ` +
|
|
89
|
+
`15 k lands on an unmodeled internal bias node). Identical in ` +
|
|
90
|
+
`${NJR_SHEET} p5-1 Equivalent Circuit.`,
|
|
91
|
+
},
|
|
92
|
+
gainBandwidthHz: {
|
|
93
|
+
value: 300000,
|
|
94
|
+
basis: "derived",
|
|
95
|
+
source: `${TI_SHEET} p5 §6.5 Electrical Characteristics: 'BW | Bandwidth | VS = 6 V, ` +
|
|
96
|
+
`Pins 1 and 8 Open | TYP 300 | kHz' (TYP column; MIN/MAX blank). Derivation: ` +
|
|
97
|
+
`the GBW is carried by the output follower, a unity-gain buffer whose ` +
|
|
98
|
+
`closed-loop corner equals the product directly (no noise-gain multiple: ` +
|
|
99
|
+
`the pole sits in the x1 follower, not in a x20 loop). The engine's measured ` +
|
|
100
|
+
`loop factor is ~0.9 at high solver rates (see report), disclosed here rather ` +
|
|
101
|
+
`than folded into the number; at standard 48 kHz rates the corner sits above ` +
|
|
102
|
+
`Nyquist either way. Circularity disclosed: the product is derived from the ` +
|
|
103
|
+
`bandwidth it reproduces.`,
|
|
104
|
+
derivation: `GBW = printed closed-loop BW = 300 kHz, because the stamp carrying it is ` +
|
|
105
|
+
`the unity-gain output follower (closed-loop corner = GBW / 1). The brief's ` +
|
|
106
|
+
`6 MHz parenthetical assumed the pole sits in a x20 loop (NG = Av); the ` +
|
|
107
|
+
`lowering documents why it does not (the pole sits in the x1 buffer, and ` +
|
|
108
|
+
`the outer Rfb network divides by ~11 while the differential action ` +
|
|
109
|
+
`multiplies by 2, so no single NG applies). Engine check at high solver ` +
|
|
110
|
+
`rates gives fc ~0.9 x GBW for both gains (report), consistent with unity.`,
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
note: "TI SNAS545D prints supply range 4-12 V (N-1/N-3/M) and 5-18 V (N-4) " +
|
|
114
|
+
"and output-power rows split by suffix (N-1 325 mW TYP at 6 V/8 Ω; N-3 700 mW TYP " +
|
|
115
|
+
"at 9 V/8 Ω; N-4 1000 mW TYP at 16 V/32 Ω): the variants differ in printed output " +
|
|
116
|
+
"power and supply range, and neither is a modeled law field, so one row shares the " +
|
|
117
|
+
"suffix-independent parameters (gain, BW, THD, RIN, IBIAS rows are single-column). " +
|
|
118
|
+
"A quiescent figure is deliberately not registered: TI prints IQ 4 mA TYP against " +
|
|
119
|
+
"NJR's ICC 3 mA TYP (both at 6 V), and no quiescent figure is needed to land the " +
|
|
120
|
+
"printed gain.",
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
// NJR orderables: package outline drawings p5-1 (DIP NJM386D, M NJM386M, L NJM386L,
|
|
124
|
+
// E NJM386E; scanned figures, no text layer). `JRC386D` is the owner-decided marking
|
|
125
|
+
// of the NJM386D (see the header: the sheet does not print it). No bare NJM386 alias:
|
|
126
|
+
// no scraped project needs one and none was asked for.
|
|
127
|
+
partIds: ["NJM386D", "NJM386M", "NJM386L", "NJM386E", "JRC386D"],
|
|
128
|
+
class: "power-amp",
|
|
129
|
+
params: {
|
|
130
|
+
feedbackOhms: {
|
|
131
|
+
value: 15000,
|
|
132
|
+
basis: "datasheet",
|
|
133
|
+
source: `${NJR_SHEET} p5-1 Equivalent Circuit: the 15 k resistor from the ` +
|
|
134
|
+
`OUTPUT (pin 5) node to the GAIN 1 node (feedback path). Identical value ` +
|
|
135
|
+
`and placement in ${TI_SHEET} p1 equivalent schematic.`,
|
|
136
|
+
},
|
|
137
|
+
gainSetOhms: {
|
|
138
|
+
value: 1350,
|
|
139
|
+
basis: "datasheet",
|
|
140
|
+
source: `${NJR_SHEET} p5-1 Equivalent Circuit: the 1.35 k resistor between the ` +
|
|
141
|
+
`GAIN 8 and GAIN 1 pins. Identical in ${TI_SHEET} p1 equivalent schematic.`,
|
|
142
|
+
},
|
|
143
|
+
degenerationOhms: {
|
|
144
|
+
value: 150,
|
|
145
|
+
basis: "datasheet",
|
|
146
|
+
source: `${NJR_SHEET} p5-1 Equivalent Circuit: the 150 resistor from the GAIN 8 ` +
|
|
147
|
+
`node to the input-stage emitter node (internal end). Identical in ` +
|
|
148
|
+
`${TI_SHEET} p1 equivalent schematic.`,
|
|
149
|
+
},
|
|
150
|
+
inputShuntOhms: {
|
|
151
|
+
value: 50000,
|
|
152
|
+
basis: "datasheet",
|
|
153
|
+
source: `${NJR_SHEET} p5-1 Equivalent Circuit and p5-3 INPUT BIASING ('both inputs ` +
|
|
154
|
+
`are biased to ground with a 50 kΩ resistor'); the 50 k resistors from ` +
|
|
155
|
+
`-INPUT (pin 2) and +INPUT (pin 3) to ground. Identical in ${TI_SHEET} ` +
|
|
156
|
+
`p1 and §9.2.1.2.2 p11.`,
|
|
157
|
+
},
|
|
158
|
+
bypassUpperOhms: {
|
|
159
|
+
value: 15000,
|
|
160
|
+
basis: "datasheet",
|
|
161
|
+
source: `${NJR_SHEET} p5-1 Equivalent Circuit: the 15 k resistor from V+ (pin 6) ` +
|
|
162
|
+
`to the BY PASS (pin 7) node (upper half; lower 15 k internal). Identical ` +
|
|
163
|
+
`in ${TI_SHEET} p1 equivalent schematic.`,
|
|
164
|
+
},
|
|
165
|
+
gainBandwidthHz: {
|
|
166
|
+
value: 300000,
|
|
167
|
+
basis: "derived",
|
|
168
|
+
source: `${NJR_SHEET} p5-2 Electrical Characteristics (Ta = 25 C): 'Bandwidth BW, ` +
|
|
169
|
+
`V+ = 6 V, Pins 1 and 8 Open: MIN - TYP 300 MAX - kHz'. Derivation: same ` +
|
|
170
|
+
`unity-gain-follower identity as the TI record (closed-loop corner = GBW; ` +
|
|
171
|
+
`measured loop factor ~0.9 disclosed in the report; circularity disclosed).`,
|
|
172
|
+
derivation: `GBW = printed closed-loop BW = 300 kHz (follower unity-gain corner = ` +
|
|
173
|
+
`closed-loop BW; see TI record for the noise-gain discussion).`,
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
note: "NJR prints operating supply 4-12 V (all types) and output-power rows 325 mW TYP " +
|
|
177
|
+
"at 6 V/8 Ω and 500 mW TYP at 9 V/16 Ω: same suffix-independent sharing as the TI " +
|
|
178
|
+
"row. Quiescent omitted for the TI/NJR TYP conflict (4 vs 3 mA), as on the TI row.",
|
|
179
|
+
},
|
|
180
|
+
]);
|
|
181
|
+
export function findPowerAmpRegistryData(data = powerAmpRegistryRecords, partId) {
|
|
182
|
+
const folded = partId.toLowerCase().replace(/[^a-z0-9]/gu, "");
|
|
183
|
+
for (const entry of data) {
|
|
184
|
+
const ids = [...entry.partIds, ...(entry.aliases ?? [])];
|
|
185
|
+
if (ids.some((id) => id.toLowerCase().replace(/[^a-z0-9]/gu, "") === folded)) {
|
|
186
|
+
return entry;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
return null;
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=poweramp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poweramp.js","sourceRoot":"","sources":["../../src/registry-data/poweramp.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ export declare const CLASS_PARAM_SCHEMAS: {
|
|
|
9
9
|
readonly opamp: readonly ["openLoopGain", "gainBandwidthHz", "outputSwingDropHighVolts", "outputSwingDropLowVolts"];
|
|
10
10
|
readonly regulator: readonly ["volts", "sourceOhms"];
|
|
11
11
|
readonly "charge-pump": readonly ["sourceOhms", "chargePumpLossVolts"];
|
|
12
|
+
readonly "power-amp": readonly ["feedbackOhms", "gainSetOhms", "degenerationOhms", "inputShuntOhms", "bypassUpperOhms", "gainBandwidthHz", "openLoopGain"];
|
|
12
13
|
readonly ujt: readonly ["intrinsicStandoffRatio", "interbaseResistanceOhms"];
|
|
13
14
|
};
|
|
14
15
|
/** The closed set of part classes the registry holds parameters for. */
|
|
@@ -57,6 +58,7 @@ export declare const REQUIRED_CLASS_PARAMS: {
|
|
|
57
58
|
readonly opamp: readonly ["openLoopGain", "gainBandwidthHz"];
|
|
58
59
|
readonly regulator: readonly ["volts"];
|
|
59
60
|
readonly "charge-pump": readonly ["sourceOhms", "chargePumpLossVolts"];
|
|
61
|
+
readonly "power-amp": readonly ["feedbackOhms", "gainSetOhms", "degenerationOhms", "inputShuntOhms", "bypassUpperOhms", "gainBandwidthHz", "openLoopGain"];
|
|
60
62
|
readonly ujt: readonly ["intrinsicStandoffRatio", "interbaseResistanceOhms"];
|
|
61
63
|
};
|
|
62
64
|
/** The parameters a `custom` override must supply for a class, in schema order. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/registry-data/schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/registry-data/schema.ts"],"names":[],"mappings":"AAyCA,yFAAyF;AACzF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;CAiEtB,CAAC;AAEX,wEAAwE;AACxE,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAE7D,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,MAAM,EAAE,CAErE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;CAoB2B,CAAC;AAE9D,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,MAAM,EAAE,CAEzE"}
|
|
@@ -23,6 +23,10 @@
|
|
|
23
23
|
// - `charge-pump`: a switched-capacitor inverter section plus the entry-level loss term the
|
|
24
24
|
// `pumpDerivation` reads. `volts` is deliberately NOT a parameter: the rail is derived per
|
|
25
25
|
// circuit from the input node, and the `volts: 0` in each entry is an unused placeholder.
|
|
26
|
+
// - `power-amp`: an LM386-style fixed-gain stage as one section: the five printed resistors
|
|
27
|
+
// (feedback, gain-set, degeneration, input shunt, bypass upper) plus the derived
|
|
28
|
+
// gain-bandwidth product and the house open-loop gain of the output follower. The swing
|
|
29
|
+
// pair is deliberately absent: no printable per-side figure exists (graphs only).
|
|
26
30
|
// - `ujt`: the unijunction transistor's own two facts -- the tap fraction (intrinsic
|
|
27
31
|
// standoff ratio eta) and the bar resistance (interbase resistance Rbb). The emitter
|
|
28
32
|
// junction is a silicon diode by construction (law constants, like the JFET gate's
|
|
@@ -90,6 +94,15 @@ export const CLASS_PARAM_SCHEMAS = {
|
|
|
90
94
|
],
|
|
91
95
|
regulator: ["volts", "sourceOhms"],
|
|
92
96
|
"charge-pump": ["sourceOhms", "chargePumpLossVolts"],
|
|
97
|
+
"power-amp": [
|
|
98
|
+
"feedbackOhms",
|
|
99
|
+
"gainSetOhms",
|
|
100
|
+
"degenerationOhms",
|
|
101
|
+
"inputShuntOhms",
|
|
102
|
+
"bypassUpperOhms",
|
|
103
|
+
"gainBandwidthHz",
|
|
104
|
+
"openLoopGain",
|
|
105
|
+
],
|
|
93
106
|
ujt: ["intrinsicStandoffRatio", "interbaseResistanceOhms"],
|
|
94
107
|
};
|
|
95
108
|
/** The accepted parameter names for a class, in schema order. */
|
|
@@ -138,6 +151,15 @@ export const REQUIRED_CLASS_PARAMS = {
|
|
|
138
151
|
opamp: ["openLoopGain", "gainBandwidthHz"],
|
|
139
152
|
regulator: ["volts"],
|
|
140
153
|
"charge-pump": ["sourceOhms", "chargePumpLossVolts"],
|
|
154
|
+
"power-amp": [
|
|
155
|
+
"feedbackOhms",
|
|
156
|
+
"gainSetOhms",
|
|
157
|
+
"degenerationOhms",
|
|
158
|
+
"inputShuntOhms",
|
|
159
|
+
"bypassUpperOhms",
|
|
160
|
+
"gainBandwidthHz",
|
|
161
|
+
"openLoopGain",
|
|
162
|
+
],
|
|
141
163
|
ujt: ["intrinsicStandoffRatio", "interbaseResistanceOhms"],
|
|
142
164
|
};
|
|
143
165
|
/** The parameters a `custom` override must supply for a class, in schema order. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/registry-data/schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/registry-data/schema.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,GAAG;AACH,0FAA0F;AAC1F,4FAA4F;AAC5F,wFAAwF;AACxF,yFAAyF;AACzF,2EAA2E;AAC3E,GAAG;AACH,qFAAqF;AACrF,4FAA4F;AAC5F,sFAAsF;AACtF,0FAA0F;AAC1F,uFAAuF;AACvF,2EAA2E;AAC3E,0FAA0F;AAC1F,sFAAsF;AACtF,4BAA4B;AAC5B,6FAA6F;AAC7F,0FAA0F;AAC1F,6FAA6F;AAC7F,0FAA0F;AAC1F,uCAAuC;AACvC,4FAA4F;AAC5F,6FAA6F;AAC7F,4FAA4F;AAC5F,4FAA4F;AAC5F,mFAAmF;AACnF,0FAA0F;AAC1F,oFAAoF;AACpF,qFAAqF;AACrF,uFAAuF;AACvF,qFAAqF;AACrF,uFAAuF;AACvF,uFAAuF;AACvF,GAAG;AACH,4FAA4F;AAC5F,2FAA2F;AAC3F,2FAA2F;AAC3F,0FAA0F;AAC1F,cAAc;AAEd,yFAAyF;AACzF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAClC,GAAG,EAAE;QACJ,mBAAmB;QACnB,aAAa;QACb,aAAa;QACb,gBAAgB;QAChB,aAAa;KACb;IACD,IAAI,EAAE;QACL,gBAAgB;QAChB,kBAAkB;QAClB,yBAAyB;QACzB,mBAAmB;QACnB,uBAAuB;QACvB,gBAAgB;QAChB,gBAAgB;KAChB;IACD,MAAM,EAAE;QACP,gBAAgB;QAChB,kBAAkB;QAClB,yBAAyB;QACzB,mBAAmB;QACnB,uBAAuB;QACvB,gBAAgB;QAChB,gBAAgB;KAChB;IACD,KAAK,EAAE;QACN,mBAAmB;QACnB,qBAAqB;QACrB,gBAAgB;QAChB,gBAAgB;QAChB,kBAAkB;KAClB;IACD,KAAK,EAAE;QACN,mBAAmB;QACnB,qBAAqB;QACrB,gBAAgB;QAChB,gBAAgB;QAChB,kBAAkB;KAClB;IACD,GAAG,EAAE;QACJ,mBAAmB;QACnB,qBAAqB;QACrB,gBAAgB;QAChB,gBAAgB;QAChB,kBAAkB;KAClB;IACD,KAAK,EAAE;QACN,cAAc;QACd,iBAAiB;QACjB,0BAA0B;QAC1B,yBAAyB;KACzB;IACD,SAAS,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC;IAClC,aAAa,EAAE,CAAC,YAAY,EAAE,qBAAqB,CAAC;IACpD,WAAW,EAAE;QACZ,cAAc;QACd,aAAa;QACb,kBAAkB;QAClB,gBAAgB;QAChB,iBAAiB;QACjB,iBAAiB;QACjB,cAAc;KACd;IACD,GAAG,EAAE,CAAC,wBAAwB,EAAE,yBAAyB,CAAC;CACjD,CAAC;AAKX,iEAAiE;AACjE,MAAM,UAAU,eAAe,CAAC,GAAkB;IACjD,OAAO,mBAAmB,CAAC,GAAG,CAAsB,CAAC;AACtD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACpC,GAAG,EAAE,CAAC,mBAAmB,EAAE,aAAa,CAAC;IACzC,IAAI,EAAE,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;IAC5C,MAAM,EAAE,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;IAC9C,KAAK,EAAE,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;IACnD,KAAK,EAAE,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,gBAAgB,CAAC;IACrE,GAAG,EAAE,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,kBAAkB,CAAC;IACvF,KAAK,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC;IAC1C,SAAS,EAAE,CAAC,OAAO,CAAC;IACpB,aAAa,EAAE,CAAC,YAAY,EAAE,qBAAqB,CAAC;IACpD,WAAW,EAAE;QACZ,cAAc;QACd,aAAa;QACb,kBAAkB;QAClB,gBAAgB;QAChB,iBAAiB;QACjB,iBAAiB;QACjB,cAAc;KACd;IACD,GAAG,EAAE,CAAC,wBAAwB,EAAE,yBAAyB,CAAC;CACE,CAAC;AAE9D,mFAAmF;AACnF,MAAM,UAAU,mBAAmB,CAAC,GAAkB;IACrD,OAAO,qBAAqB,CAAC,GAAG,CAAsB,CAAC;AACxD,CAAC;AAED,sFAAsF;AACtF,yFAAyF;AACzF,qCAAqC;AACrC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAA6B,EAAE,CAAC;IAChF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,KAAK,MAAM,IAAI,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACd,yBAAyB,GAAG,YAAY,IAAI,gCAAgC,GAAG,mBAAmB,CAClG,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC"}
|
package/dist/registry.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DeviceLaw, MacroModel, PartIdentity } from "./types";
|
|
1
|
+
import type { DeviceIdentity, DeviceLaw, MacroModel, PartIdentity } from "./types";
|
|
2
2
|
/**
|
|
3
3
|
* One section of a multi-section part: a law plus which of the device's terminals it uses.
|
|
4
4
|
*
|
|
@@ -137,6 +137,41 @@ export type MacroPartModel = {
|
|
|
137
137
|
readonly audioPortImpedanceOhms: MacroModel["audioPortImpedanceOhms"];
|
|
138
138
|
readonly parameterReferenceVolts: number | null;
|
|
139
139
|
};
|
|
140
|
+
/**
|
|
141
|
+
* A `sections` entry's package pin numbers, per `pinout` position, as its maker's pin table
|
|
142
|
+
* prints them.
|
|
143
|
+
*
|
|
144
|
+
* A whole-value digit-string statement, never a role guess: position `i` of the entry's
|
|
145
|
+
* `pinout` is package pin `numbers[i]`. A document whose terminals are named exactly by those
|
|
146
|
+
* numbers (bare digits, no roles) binds through this table instead of by declaration order,
|
|
147
|
+
* so a package drawn in any terminal order lands on the same nodes. The pinout order itself
|
|
148
|
+
* is untouched -- a signal-grouped entry keeps its grouping, and the table is what makes that
|
|
149
|
+
* safe, because a package pin number is absolute while a declaration position is not.
|
|
150
|
+
*
|
|
151
|
+
* Absent means the entry states none, and numbered documents keep refusing against it, as
|
|
152
|
+
* before. Present, `numbers` must be a whole-digit bijection as long as `pinout`, and
|
|
153
|
+
* `source` must name the maker table transcribed.
|
|
154
|
+
*
|
|
155
|
+
* An entry may also state `packagePins`: the maker's full physical package pin set beside
|
|
156
|
+
* the signal-pin `numbers` (a single op-amp's three signal pins of an 8-pin DIP). The
|
|
157
|
+
* device then binds as a numbered SUBSET: every terminal bare and whole-digit, every pin
|
|
158
|
+
* inside the stated package set, the set distinct, and every signal pin the table names
|
|
159
|
+
* present. Pads the pinout does not name -- supplies (the circuit's, as for role-named
|
|
160
|
+
* documents today), offset null, balance, compensation, strobe, NC -- stay unmodelled.
|
|
161
|
+
*/
|
|
162
|
+
export type PackagePinNumbers = {
|
|
163
|
+
/** Per `pinout` position: the package pin number, as whole digit strings. */
|
|
164
|
+
readonly numbers: readonly string[];
|
|
165
|
+
/** The maker pin table transcribed: datasheet plus table/figure and page. */
|
|
166
|
+
readonly source: string;
|
|
167
|
+
/**
|
|
168
|
+
* The maker's full physical package pin set, as whole digit strings, when the entry's
|
|
169
|
+
* `numbers` name only a signal subset of it. Absent means `numbers` is the whole
|
|
170
|
+
* package and binds by exact bijection; present means a numbered subset binds by
|
|
171
|
+
* containment (see `packagePinBinding`). Every signal pin must sit inside it.
|
|
172
|
+
*/
|
|
173
|
+
readonly packagePins?: readonly string[];
|
|
174
|
+
};
|
|
140
175
|
export type PartModel = {
|
|
141
176
|
readonly kind: "law";
|
|
142
177
|
readonly law: DeviceLaw;
|
|
@@ -145,6 +180,8 @@ export type PartModel = {
|
|
|
145
180
|
readonly sections: readonly PartSection[];
|
|
146
181
|
/** The declaration order `sections[*].terminals` index into. See `PartPinout`. */
|
|
147
182
|
readonly pinout: PartPinout;
|
|
183
|
+
/** The package pin number per `pinout` position, index-aligned. See `PackagePinNumbers`. */
|
|
184
|
+
readonly packagePinNumbers?: PackagePinNumbers;
|
|
148
185
|
} | {
|
|
149
186
|
readonly kind: "macro";
|
|
150
187
|
readonly macro: MacroPartModel;
|
|
@@ -163,6 +200,8 @@ export type PartModel = {
|
|
|
163
200
|
readonly sections: readonly PartSection[];
|
|
164
201
|
/** The declaration order `sections[*].terminals` index into. See `PartPinout`. */
|
|
165
202
|
readonly pinout: PartPinout;
|
|
203
|
+
/** The package pin number per `pinout` position, index-aligned. See `PackagePinNumbers`. */
|
|
204
|
+
readonly packagePinNumbers?: PackagePinNumbers;
|
|
166
205
|
/** The sampled core, resolved as a macro against the whole device. */
|
|
167
206
|
readonly core: MacroPartModel;
|
|
168
207
|
};
|
|
@@ -183,6 +222,55 @@ export declare function terminalWithRole(terminalRoles: readonly (string | null)
|
|
|
183
222
|
* (`pin1`, `pin2`, ... -- `terminalRoleToken` returns null for those) still be expanded.
|
|
184
223
|
*/
|
|
185
224
|
export declare function pinoutMatches(pinout: PartPinout, terminalRoles: readonly (string | null)[]): boolean;
|
|
225
|
+
/**
|
|
226
|
+
* The `sections` entry positions' device-terminal indices, bound by package pin number, or null.
|
|
227
|
+
*
|
|
228
|
+
* Returns, per `pinout` position, the device-terminal index whose pin number equals the entry's
|
|
229
|
+
* stated package pin for that position. Non-null means the device is a fully numbered package
|
|
230
|
+
* the entry's own pin table addresses: every terminal bare (no role token), every terminal
|
|
231
|
+
* name a whole digit string, the entry stating `packagePinNumbers`, and the two number sets
|
|
232
|
+
* agreeing. Anything else is null, and the caller falls back to the role and
|
|
233
|
+
* positional rungs exactly as before.
|
|
234
|
+
*
|
|
235
|
+
* Two agreements, by entry shape. An entry without `packagePins` states a whole-package
|
|
236
|
+
* table: the device length must equal the table length and the two number sets must be a
|
|
237
|
+
* bijection. An entry WITH `packagePins` states a signal subset of a physical package (a
|
|
238
|
+
* single op-amp's three signal pins of an 8-pin DIP): the device's pins must be distinct
|
|
239
|
+
* and all inside the stated package set, and must contain every signal pin the table names.
|
|
240
|
+
* Pads the pinout does not name stay unmodelled, exactly as they are for role-named
|
|
241
|
+
* documents today (rails come from the circuit).
|
|
242
|
+
*
|
|
243
|
+
* A non-agreeing numbering against a stated table -- a duplicated or missing pin, or a pin
|
|
244
|
+
* outside the stated package -- is null here and must stay a refusal downstream, never a
|
|
245
|
+
* positional guess: the entry asserts what the numbers mean, so a numbering that is not
|
|
246
|
+
* those numbers disagrees with the entry. A merely reordered numbering still binds,
|
|
247
|
+
* correctly, because pin numbers are absolute.
|
|
248
|
+
*/
|
|
249
|
+
export declare function packagePinBinding(model: Extract<PartModel, {
|
|
250
|
+
kind: "sections" | "sections-core";
|
|
251
|
+
}>, identity: DeviceIdentity): readonly number[] | null;
|
|
252
|
+
/**
|
|
253
|
+
* Whether this device attempts a pin-number binding it cannot have: fully numbered with
|
|
254
|
+
* the entry's length, but not a bijection onto the entry's stated table.
|
|
255
|
+
*
|
|
256
|
+
* `packagePinBinding` answers null for this case among others (no table, not numbered, wrong
|
|
257
|
+
* length); this names the one case where null means disagreement rather than absence, so the
|
|
258
|
+
* caller refuses by name instead of guessing positionally. A document that numbers every pin
|
|
259
|
+
* has committed to the package numbering the entry states, and a non-agreeing numbering --
|
|
260
|
+
* duplicated or missing pins, or (for a subset entry) a pin outside the stated package --
|
|
261
|
+
* is that commitment disagreeing, not a declaration order the positional fallback may read.
|
|
262
|
+
*/
|
|
263
|
+
export declare function attemptsPinBinding(model: Extract<PartModel, {
|
|
264
|
+
kind: "sections" | "sections-core";
|
|
265
|
+
}>, identity: DeviceIdentity): boolean;
|
|
266
|
+
/**
|
|
267
|
+
* Loud at load when a `sections` entry's stated package pin numbers are not a whole-digit
|
|
268
|
+
* bijection as long as its pinout, or name no maker table: a duplicated, missing, or
|
|
269
|
+
* non-numeric pin in the table would bind packages wrongly rather than refuse them, so a bad
|
|
270
|
+
* table throws here instead of shipping. A stated `packagePins` set must itself be
|
|
271
|
+
* whole-digit and distinct, and must contain every signal pin the table names.
|
|
272
|
+
*/
|
|
273
|
+
export declare function validatePackagePinNumbers(entries: readonly PartEntry[]): void;
|
|
186
274
|
import type { FirmwareEvidence } from "./firmware-class";
|
|
187
275
|
import type { TerminalProfile } from "./terminal-role";
|
|
188
276
|
import type { ProxyDeclaration } from "./proxy-declaration";
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|