-
released this
2026-09-02 21:44:12 +08:00 | 17 commits to main since this release🐛 Bug fixes
Every PDB reading was
NA, and the cause was a page number written in the wrong base-
The four ADPM12200 bricks put each measurement on its own PMBus PAGE, and the page has to be written before every read. The bring-up spreadsheet listed those page numbers in decimal but with an
0xprefix, so four of the five selected the wrong page:Reading Datasheet PAGE Should send Spreadsheet said Vin 9 0x090x00Iin 10 0x0A0x10Vout 2 0x020x02✅Iout 14 0x0E0x14Temp 18 0x120x18 -
Only Vout worked — because 2 reads the same in either base. That is why Iin and Iout answered
0xFFFFand the temperature answered0x0000, and why a Vin scaling had to be invented to make 50 V appear. -
blanton_pwr_data.shsends no page at all (its PDB table haspage "-"), which is the reason it reports the whole PDB section asNA.
✨ New features
pwr_brick.sh— the five power bricks, read properlyshowprints Vin / Iin / Vout / Iout / Temp for all five:SWB0.PU207(0x62),SWB0.PU13(0x63),SWB1.PU332(0x60),SWB1.PU85(0x61) andCPB.PU37(0x26).-radds the raw words.- Conversions come from the datasheet's DIRECT equation,
X = (1/m)(Y × 10⁻ᴿ − b), with Table 3's coefficients: voltageY × 8 mV, currentY × 0.04 A, temperatureY × 0.01 °C. - Cross-checked, not assumed:
READ_VOUTreturns0x05D4→ 1492 × 8 = 11936 mV, which is exactly the figureshow platform voltagereports for that rail from a completely separate sensor path. CPB.PU37is a different part — no page writes and its own scaling — and is handled separately.- The datasheet is now in the repo (
docs/ADPM12200CMLZxx_DS_*.pdf) so the pages and coefficients can be checked without hunting for it.
Every value is validated before it is printed
- This bus corrupts the high byte only. That turns
11.98 Vinto32.00 V— positive, plausible in magnitude, and invisible to any "reject 0xFFFF" filter. Each value is re-read (up toPB_TRIES, default 8) until it is not0xFFFF, not0x0000, and lands inside a plausibility window. 0x0000is rejected as a raw word for the same reason: on the temperature register it decodes to a perfectly believable 0 °C.
Complementary margin profiles per board
comboA/comboBfor CB and each SWB CONN.comboBiscomboAwith every direction flipped, so running both covers each rail high and low while its neighbours sit the other way.- NC channels stay at
nominalin both — there is nothing to margin on an unused rail (CONN14 CH10/11/13, CONN15 CH10).
The BMC USB service log is captured again — to a file
- Script C's
journalctldump had been commented out, so that service log reached nothing at all. It now runs with-o short-isointolog/bmc_usb_net.logand is copied into the job directory for the USB archive. The ISO timestamps line up with the other monitor logs, andrm -ffirst keeps the file to one run. - It is no longer printed to the console, so the USB copy is the only copy. If that
cpfails — and nothing checks it — the service log is gone. Check the job directory before packing up.
📦 Downloads
File Contents Script_ABC_Blanton_V1.1.6.zipThe full Tera Term working directory, including Blanton_Script/to copy onto the DUTAfter copying to the DUT:
chmod +x ~/Blanton_Script/*.sh # see below grep -rlU $'\r' ~/Blanton_Script # expect no outputblanton_ber.sh,nfc_polling.sh,blanton_tr518.sh,blanton_multiphase_margin.sh,pwr_brick.shand the twoTH6_SWB*_power_readback.share invoked through./or~/, so they need the execute bit along withbmc_monitor.shandusb_target.sh— neither git nor a Windows/USB copy carries it reliably.⚠️ Before you run
READ_VINandREAD_IINare not in the datasheet's coefficient table. They are decoded here with the voltage and current coefficients — consistent with a ~50 V input, but not stated by the datasheet. Anything quoting brick Vin should have that confirmed first.PB_VIN_M/PB_IIN_Mare where to change it.- The BMC USB service log only exists on the USB stick. It is not in the master console log any more.
NAhas two meanings: nothing readable, or read but outside its plausibility window. UsePB_TRIES=1 ./Blanton_Script/pwr_brick.sh show -rto see the unretried raw words and tell them apart.- Margin profiles are positional.
comboA_SWB_CONN13applied to a CONN16 board margins the wrong rails and nothing detects it. blanton_multiphase_margin.sh saveis permanent, and it must not be mixed withmargin.sh— same rails, two access paths, no interlock.- A soak longer than 24 hours needs the stress runtimes raised —
--runtime 86400is a ceiling. - Script 4 (thermal/safety) has no teardown — finish with
blanton_tr518.sh stopandkill $(jobs -p). - These three cannot share the switch:
blanton_ber.sh,blanton_tr518.sh,blanton_traffic_linespeed. FAN_SPEEDis 100.- The three items listed as unverified in v1.1.0 are still unverified: the
ce0ingress mirror, the 120s settle inblanton_tr518.sh, andtest mode nr=noon stop.
🔗 Links
- ARCHITECTURE.md — test flow, data models, constraints
- CLAUDE.md — commands and the bench gotchas
- Blanton_Test_Flow.drawio — the four scripts side by side
Full changelog: V1.1.5...V1.1.6
Downloads
-