zudo-led-lamp
GitHub repository

Type to search...

to open search from anywhere

Integration

Cross-component rules — rule-rail-envelope, rule-usb-pd-nvm-load-switch, rule-al8860-led-stage, rule-ap63203-logic-stage, rule-ntc-adc-firmware, rule-evidence-chain, rule-c5446803-power-cut, rule-c470643-brightness-adc — with the records and facts each spans, its conditioned calculations, and what it refuses to conclude.

A component record answers questions about one part. These rules answer the ones that span several — whether a divider built from two resistors keeps a third part inside its own limit, whether a clamp event stays under everything downstream of it. Each rule is projected whole from stored evidence: its conditions, the exact facts it rests on, any conditioned arithmetic, and the exact wording of what it refuses to conclude.

How to read these rules

  • The refusal is the rule. — Every rule states, in its own words, what may NOT be concluded from the evidence above it. That sentence is the rule's real output; the verdict is shorthand for it.

  • A verdict belongs to the rule, not to a part. — A rule's verdict says how far the cross-component question has been settled. It is never a judgement about any of the parts the rule names, and the verdicts are never combined into one.

  • Calculations are conditioned, and the conditions are the point. — Each calculation publishes its expression, its inputs and the exact results that were recorded, together with the conditions under which the answer means anything. A result read without them is arithmetic mistaken for a measurement.

  • Numbers here were carried, not computed. — The expressions are published so a reader can redo the arithmetic. This page does not evaluate them — the results shown are the ones the evidence recorded.

  • An evidence chain does not flow downhill. — A stage being settled says nothing about any stage after it. A document confirming a limit is not a measurement of the assembled board.

Rules at a glance

RuleDomainRecordsFactsVerdict
rule-rail-enveloperail-envelope1322UNSOURCED
rule-usb-pd-nvm-load-switchusb-pd-nvm-load-switch918UNSOURCED
rule-al8860-led-stageal8860-led-stage725NEEDS BENCH
rule-ap63203-logic-stageap63203-logic-stage416UNSOURCED
rule-ntc-adc-firmwarentc-adc-firmware39UNSOURCED
rule-evidence-chainsource-to-bench-chain58NEEDS BENCH
rule-c5446803-power-cutboard-mounted lamp power switching45NEEDS BENCH
rule-c470643-brightness-adcpotentiometer-brightness-adc512NEEDS BENCH

rule-rail-envelope

What this rule asks: Whether every part on the input rail stays inside its own recorded limits across a legal power contract, a mis-contract, and a transient clamp event.

  • Domain: rail-envelope

  • Verdict: UNSOURCED

This rule refuses to conclude: Do not declare the complete rail safe while STUSB primary trust, project mapping, actual clamp/source-impedance waveform, and harness/as-built evidence remain open.

Conditions: Separate legal 5/15 V operation, 20 V mis-contract, and transient clamp behavior; connector-pair current, direct-board mechanics, and upstream source impedance remain independent conditions.

Records this rule spans:

Facts this rule rests on: each is published in full on the record page that owns it, at the anchor linked here.

Conditioned calculations

Arithmetic across the facts above. The expression and every input are published so the result can be recomputed rather than trusted, and each carries the conditions under which it means anything at all.

calc-stusb-vdd-clamp-overage

  • Expression: fact_high_diode_smaj20a_clamp - fact_stusb_vdd_absolute_max

  • Result: overage_v

Conditions: conditioned subtraction of the mirrored 28 V VDD absolute maximum from the High Diode 32.4 V table clamp point; UNSOURCED and not proof of the real VDD transient waveform

Inputs:

overage_v
4.4

calc-q1-vds-clamp-overage

  • Expression: fact_high_diode_smaj20a_clamp + fact_umw_ao3401a_vds

  • Result: overage_v

Conditions: conditioned magnitude overage above the -30 V Q1 VDS absolute maximum at the 32.4 V clamp table point; actual polarity, waveform, parasitics and as-built state remain open

Inputs:

overage_v
2.4

rule-usb-pd-nvm-load-switch

What this rule asks: How the power-delivery controller's stored configuration and its enable output drive the load switch, through every state from detached to fault.

  • Domain: usb-pd-nvm-load-switch

  • Verdict: UNSOURCED

This rule refuses to conclude: Do not infer PDOs, VBEN default policy, fitted Rd state, programmed/read-back NVM bytes, or a deterministic 32.4 V VGS violation/safe result without the actual VBEN/gate/source waveform, duration, device/parasitic model, as-built state, and bench evidence.

Conditions: Evaluate detached, dead-battery, reset, NVM-loaded, attached, hard-reset, fault, and disconnect states. With VBEN held low and ideal nominal resistors, VGS=-VBUS*100k/(100k+150k): -6.0 V at 15 V, -8.0 V at 20 V, and -12.96 V at 32.4 V. C35 is gate-to-source, so the nominal small-signal gate time constant is (100k parallel 150k)*100 nF about 6 ms; device/parasitic behavior and the actual transient waveform remain separate.

Records this rule spans:

Facts this rule rests on: each is published in full on the record page that owns it, at the anchor linked here.

Conditioned calculations

Arithmetic across the facts above. The expression and every input are published so the result can be recomputed rather than trusted, and each carries the conditions under which it means anything at all.

calc-q1-steady-vgs

  • Expression: -vbus_v * fact_c25803_resistance / (fact_c25803_resistance + fact_c22807_resistance)

  • Result: vgs_v

Conditions: ideal steady VBEN-low divider only; absolute maximum is not an operating target

Inputs:

vbus_vvgs_v
15-6
20-8
32.4-12.96

calc-q1-steady-vgs-margin

  • Expression: fact_umw_ao3401a_vgs - vbus_v * fact_c25803_resistance / (fact_c25803_resistance + fact_c22807_resistance)

  • Result: margin_v

Conditions: ideal steady VBEN-low magnitude margin to the 12 V absolute maximum; the negative 32.4 V ideal-steady result is not a deterministic claim about the real transient waveform

Inputs:

vbus_vmargin_v
156
204
32.4-0.96

calc-q1-gate-tau

  • Expression: (fact_c25803_resistance * fact_c22807_resistance / (fact_c25803_resistance + fact_c22807_resistance)) * fact_c14663_capacitance * 1e-6

  • Result: result_s

Conditions: fact-c14663 capacitance is expressed in uF; nominal small-signal RC only; excludes MOSFET capacitance, STUSB output impedance, PCB parasitics and nonlinear switching

Inputs:

result_s
0.006

rule-al8860-led-stage

What this rule asks: How the LED driver, its sense resistor, inductor, catch diode and per-branch ballast behave together across the LED forward-voltage, tolerance and temperature envelope.

  • Domain: al8860-led-stage

  • Verdict: NEEDS BENCH

This rule refuses to conclude: Do not promote mirror-only FXL or R+O SS26 limits, assumed branch sharing, or nominal arithmetic to a guaranteed selected-stage PASS.

Conditions: Use the full LED Vf/current/temperature envelope, resistor tolerance/TCR, magnetic current definition, diode polarity/waveform, ballast sharing, CTRL/PWM state, PCB thermal path, and fault behavior.; per-branch sharing is bounded by a locked 0.30 V acceptance limit on the assembled 3-LED string forward-voltage spread

Records this rule spans:

Facts this rule rests on: each is published in full on the record page that owns it, at the anchor linked here.

Conditioned calculations

Arithmetic across the facts above. The expression and every input are published so the result can be recomputed rather than trusted, and each carries the conditions under which it means anything at all.

calc-led-hot-branch-peak

  • Expression: (fact_al8860_peak_current + 7 * spread_v / (fact_c2934070_resistance * (1 + fact_c2934070_tolerance / 100))) / (1 + 7 * (1 - fact_c2934070_tolerance / 100) / (1 + fact_c2934070_tolerance / 100))

  • Result: current_a

Conditions: hottest of eight parallel ballast branches at the AL8860 upper peak current, with the hot branch at minimum ballast tolerance and the other seven at maximum; spread_v is the assembled 3-LED string forward-voltage spread in volts (0 = perfectly matched, 0.3 = the locked acceptance limit, 1.8 = the full retained 2.6-3.2 V window unmitigated); LEDs modelled as fixed forward drops, so this is not proof of the real installed sharing

Inputs:

spread_vcurrent_a
00.08017708571864743
0.30.08819174108846653
1.80.128265017937562

calc-led-hot-branch-headroom

  • Expression: fact_c210315_forward_current_max - 1000 * (fact_al8860_peak_current + 7 * spread_v / (fact_c2934070_resistance * (1 + fact_c2934070_tolerance / 100))) / (1 + 7 * (1 - fact_c2934070_tolerance / 100) / (1 + fact_c2934070_tolerance / 100))

  • Result: headroom_ma

Conditions: milliamp headroom from the hottest branch peak to the 90 mA LED absolute maximum; the spread_v = 0 result shows the driver's own worst case already consumes 89 percent of the absolute maximum before any Vf mismatch, and spread_v = 1.8 is negative; absolute maximum is not an operating target and no pulsed-current rating is retained

Inputs:

spread_vheadroom_ma
09.822914281352567
0.31.8082589115334713
1.8-38.26501793756202

rule-ap63203-logic-stage

What this rule asks: How the logic-rail converter, its inductor and its output capacitor behave together under the real load the microcontroller presents.

  • Domain: ap63203-logic-stage

  • Verdict: UNSOURCED

This rule refuses to conclude: Do not infer minimum off-time, MCU load, guaranteed MLCC capacitance, or full-load FNR thermal margin from nominal values.

Conditions: Check V15 transients, EN-open startup, switching timing, actual V3P3 load steps, inductor heating/saturation, effective output capacitance, layout, and MCU operating state.

Records this rule spans:

Facts this rule rests on: each is published in full on the record page that owns it, at the anchor linked here.

Conditioned calculations: none are recorded for this rule.

rule-ntc-adc-firmware

What this rule asks: How the thermistor, its divider, the analog-to-digital input and the firmware that reads them combine into a temperature the design can act on.

  • Domain: ntc-adc-firmware

  • Verdict: UNSOURCED

This rule refuses to conclude: Do not invent firmware thresholds or use beta-only conversion as a guaranteed full R-T curve.

Conditions: Evaluate NTC tolerance and R-T data, divider loading, ADC sample time/source impedance, calibration, placement/thermal lag, and actual firmware thresholds/hysteresis.; the divider top is 100 kOhm C25803 and the ADC channel requires the 160.5-cycle sample time, with a stated sensing validity floor of -20 C at RT1

Records this rule spans:

Facts this rule rests on: each is published in full on the record page that owns it, at the anchor linked here.

Conditioned calculations

Arithmetic across the facts above. The expression and every input are published so the result can be recomputed rather than trusted, and each carries the conditions under which it means anything at all.

calc-ntc-divider-current-margin

  • Expression: fact_c13564_max_current - 1000 * rail_v / (fact_c25803_resistance * (1 - fact_c25803_tolerance / 100))

  • Result: margin_ma

Conditions: bounding divider current at R26 minimum with the NTC treated as a short, so the result holds at every temperature and under a shorted-thermistor fault; rail_v 3.33 is fact-ap63203-vout-max and 3.3 is nominal; positive margin_ma means the installed current stays under Murata's 0.1 mA operating maximum; not a measurement of the real installed current

Inputs:

rail_vmargin_ma
3.330.06636363636363637
3.30.06666666666666668

calc-ntc-adc-source-impedance

  • Expression: fact_c25803_resistance * (1 + fact_c25803_tolerance / 100) * r_ntc_ohm / (fact_c25803_resistance * (1 + fact_c25803_tolerance / 100) + r_ntc_ohm)

  • Result: r_source_ohm

Conditions: ADC source resistance at R26 maximum; the r_ntc_ohm inputs are beta-derived cold-end maxima (-20 C and 25 C) from fact-c13564-resistance and fact-c13564-beta at R25 max and B max, not a guaranteed R-T table per fact-c13564-curve-caveat; compare against the 50 kOhm allowance at 160.5 cycles in fact-c529334-adc

Inputs:

r_ntc_ohmr_source_ohm
77314.3543792.0411340983
101009181.818181818182

rule-evidence-chain

What this rule asks: How far each claim has travelled from a manufacturer document towards a measurement on real hardware, stage by stage.

  • Domain: source-to-bench-chain

  • Verdict: NEEDS BENCH

This rule refuses to conclude: A completed upstream stage never implies a later as-built, programmed, or measured stage.

Conditions: Trace each claim through official source, conditioned requirement, generated netlist, symbol/footprint pin map, PCB/BOM/CPL identity, as-built inspection, programmed state, and bench evidence.

Records this rule spans:

Facts this rule rests on: each is published in full on the record page that owns it, at the anchor linked here.

Conditioned calculations: none are recorded for this rule.

Source-to-bench evidence chain

The stages a claim passes through, in order. A settled stage says nothing about any stage after it: a manufacturer document confirming a limit is not an inspection of the assembled board, and neither is a measurement. A stage with no facts against it is not one nobody got round to filling in: nothing has been established there yet, so the rule's conditions and its refusal above are the whole of what is known about it.

StageStatusFacts at this stage
official-sourceMIXEDfact-stusb-vben on STUSB4500QTR, fact-umw-ao3401a-vgs on AO3401A
conditioned-requirementMIXEDfact-stusb-artifact on STUSB4500QTR, fact-umw-ao3401a-vgs on AO3401A
generated-netlistMIXEDfact-umw-ao3401a-project-nets on AO3401A, fact-al8860-project-nets on AL8860MP-13, fact-ap63203-project-nets on AP63203WU-7
symbol-footprintMIXEDfact-umw-ao3401a-pinout on AO3401A, fact-c529334-topology on STM32G031F8P6
pcb-orientationOPENno fact is recorded at this stage
bom-cplOPENno fact is recorded at this stage
as-builtOPENno fact is recorded at this stage
programmedOPENno fact is recorded at this stage
benchOPENno fact is recorded at this stage

rule-c5446803-power-cut

  • Domain: board-mounted lamp power switching

  • Verdict: NEEDS BENCH

This rule refuses to conclude: Do not certify physical OFF isolation, installed height, switch endurance or rail safety from a mirrored current rating and generated design alone.

Conditions: SW2 center common 2 receives V15_FUSED and joins outer pin 1 to switched V15 in ON. In OFF it joins isolated outer pin 3, which has no PCB net but is fused-feed live. Both converters lose normal supply in OFF while Board P remains powered. G020 has a 2 mm actuator and 5.5 mm body-plus-actuator dimension; the corrected model retains shoulder stand-off for approximately 6 mm PCB reach, requiring physical confirmation. Verify inrush, bounce, restart, contact life, rail decay and service-interface back-power. Exact switch drawing remains manufacturer-mirror evidence.

Records this rule spans:

Facts this rule rests on: each is published in full on the record page that owns it, at the anchor linked here.

Conditioned calculations: none are recorded for this rule.

rule-c470643-brightness-adc

  • Domain: potentiometer-brightness-adc

  • Verdict: NEEDS BENCH

This rule refuses to conclude: Do not claim calibrated absolute brightness, safe startup, open-wiper fault detection or installed mechanical fit from schematic calculations and unflashed firmware examples.

Conditions: RV1 RK10J11E0034 is the single-unit 10 kOhm +/-30% stopped potentiometer: end 1=GND, end 3=V3P3, wiper 2 through R27 100 Ohm to U3.7 PA0 BRIGHT_ADC; all four mechanical pads and U3.8 are no-connects. R22 100 kOhm and C22 100 nF connect BRIGHT_ADC to GND. Worst divider source resistance is 3.25 kOhm plus 100 Ohm before bias loading; open-wiper nominal RC decay is 10 ms, not a certified fault detector. Use the documented 160.5-cycle ADC target, reference/errata review, endpoint and inversion calibration, averaging and startup ramp with thermal/PD gates. The 270-degree physical stops replace quadrature behavior. The catalog lists Insertion (t: 2 mm); this is not treated as a mandatory PCB thickness. Seating and contact life on the actual 1.6 mm PCB need prototype proof, and firmware is not flashed.

Records this rule spans:

Facts this rule rests on: each is published in full on the record page that owns it, at the anchor linked here.

Conditioned calculations: none are recorded for this rule.

Legend

What the recorded terms on this page mean, in ordinary words. The exact terms above are the ones that count; these descriptions explain them and never replace them.

Rule verdict

Recorded termWhat it means
NEEDS BENCHCannot be settled from documents. It needs measurement on real hardware before it can be relied on.
UNSOURCEDNo accepted source backs this value yet. Treat it as a claim, not a fact.

Domain

Recorded termWhat it means
al8860-led-stageHow the LED driver, its sense resistor, inductor, catch diode and per-branch ballast behave together across the LED forward-voltage, tolerance and temperature envelope.
ap63203-logic-stageHow the logic-rail converter, its inductor and its output capacitor behave together under the real load the microcontroller presents.
board-mounted lamp power switchingNo plain-language description is recorded for this term yet.
ntc-adc-firmwareHow the thermistor, its divider, the analog-to-digital input and the firmware that reads them combine into a temperature the design can act on.
potentiometer-brightness-adcNo plain-language description is recorded for this term yet.
rail-envelopeWhether every part on the input rail stays inside its own recorded limits across a legal power contract, a mis-contract, and a transient clamp event.
source-to-bench-chainHow far each claim has travelled from a manufacturer document towards a measurement on real hardware, stage by stage.
usb-pd-nvm-load-switchHow the power-delivery controller's stored configuration and its enable output drive the load switch, through every state from detached to fault.

Evidence stage

Recorded termWhat it means
as-builtThe assembled board has been inspected and matches what was specified.
benchThe behaviour has been measured on powered hardware.
bom-cplThe exact orderable part and its placement are confirmed in the assembly files.
conditioned-requirementThe claim has been restated as a requirement with the conditions it holds under.
generated-netlistThe requirement is reflected in the netlist the project generates.
official-sourceThe claim appears in a document the manufacturer published.
pcb-orientationThe part's orientation and pad mapping are confirmed on the board layout.
programmedThe device's stored configuration has been written and read back.
symbol-footprintThe schematic symbol's pins are mapped onto the footprint's pads.

Evidence stage status

Recorded termWhat it means
MIXEDSome claims at this stage are settled and others are not. It is not a completed stage, and the facts listed against it are the ones that carry it.
OPENNothing at this stage has been established yet. A completed earlier stage does not imply it.

Raw agent resource

These rules are generated from a stored evidence bundle and do not restate it. The bundle is the source of truth: where the two ever disagree, the bundle is right and this page is stale.