mirror of
https://github.com/openglow-org/forgefirm.git
synced 2026-09-27 16:51:12 -07:00
The pulse-header envelope settled; the SoC die watched; item 19 closed
forgectrl pin b27398a: the SoC die joins the watched board temperatures
(/status temps soc_c and the kernel's CPU cooling state soc_throttle,
the Status tab, the per-job range line naming a throttle), a throttle
starting or ending is logged, and the supply sensor stays a raw count by
decision (its heatsink cannot be reached with a thermometer while the
machine runs). forgefirm-app pin e65cfc2 (0.1.16+git): every pulse-header
key without an applier is declared with its reason or counted as
undecided in the job log, and CLOUD.md carries one disposition table for
the whole header.
BRINGUP: the pulse-header envelope item is closed. Its durable content is
in the facts bank ("The factory's envelope, decoded": the mandatory tags,
the empty tach windows, the factory's pause and fail tiers, the
per-sensor units, the unarmed flow controller, and ForgeFIRM's answer
with its catalog proofs) and in the "Deliberately not gated" paragraph,
which names every declared family. Item 19 is now the bench-measured
head crash and rail-contact detector; the fire-watch item holds the
header's lid IR thresholds as its prior. The facts bank also records the
SoC's own thermal guard (85 C passive, 90 C critical, no heatsink on the
factory board) and the board temperatures at idle.
Catalog: cooling.gate-off checks the die field, the unthrottled state at
idle and the widened run-end line (the unit fake mirrors it). COOLING
section 9 and the SERVICES verification status describe the present.
This commit is contained in:
+11
-6
@@ -436,12 +436,17 @@ Stated plainly so nobody counts on them:
|
||||
cannot be detected (the output has no readback), so this will become a user
|
||||
setting plus a simple hysteresis around the factory's setpoints.
|
||||
- **A fire watch that acts** (§7).
|
||||
- **Chassis and supply ceilings.** Both temperatures are measured and not
|
||||
gated: the chassis LM75 in degrees and the supply sensor as a raw count,
|
||||
in `/status` as `temps`, and ranged over every job in one log line
|
||||
(`temps this job: ...`). A ceiling for each comes from that record once
|
||||
there is enough of it, and the supply's conversion from a thermometer on
|
||||
its heatsink (`temp_calibrate.py supply-point`).
|
||||
- **Chassis, SoC and supply ceilings.** Three temperatures are measured and
|
||||
not gated: the chassis LM75 and the SoC die in degrees, the supply sensor
|
||||
as a raw count, in `/status` as `temps` (with the kernel's CPU throttle
|
||||
state beside them), on the Status tab, and ranged over every job in one
|
||||
log line (`temps this job: ...`, naming a throttle if one happened). The
|
||||
SoC already guards itself (the kernel throttles the CPU at 85 C and
|
||||
powers the board off at 90 C on this part). A ceiling for each comes
|
||||
from that record once there is enough of it. The supply's conversion
|
||||
stays unverified by decision (its heatsink is not reachable with a
|
||||
thermometer while the machine runs), so its reading stays a raw count
|
||||
and any ceiling for it would be set in raw counts too.
|
||||
- **Fan floors measured on more than one machine.** The shipped floors are
|
||||
a fraction of one bench machine's run-duty speeds; a machine whose fans
|
||||
read differently sets its own (§8), and a floor of zero turns that gate
|
||||
|
||||
Reference in New Issue
Block a user