Fan/thermal control done and bench-verified; docs updated

BRINGUP records the gate as complete with tach-verified results;
LIGHTBURN.md documents the per-layer Air Assist toggle driving the
cut-profile ventilation; fan_test.py joins the bench kit.
This commit is contained in:
ScottW514
2026-08-02 17:31:53 -04:00
parent 4c6cca1511
commit 6f53e628f3
4 changed files with 84 additions and 12 deletions
+14 -12
View File
@@ -220,18 +220,20 @@ hardware I/O — host testing).
mapping) plus a chain-armed first-light procedure; the hardware
verification prerequisites are complete. Interlock-trip recovery
behavior remains to be exercised (non-scope check).
- **Additional laser-on prerequisite (operator-mandated
2026-08-02): fan/thermal control must be implemented first** —
air assist + purge (head), exhaust + intake (thermal), and the
coolant loop (water pump, TEC, water-temp monitoring). Factory
run/idle/cooldown values are in the captured pulse headers
(AAid/AArd/AAwd, EFid/EFrd/EFwd, IFid/IFrd/IFwd + CM/CT water
thresholds — see `_RESOURCES/*.info` and the gfutilities
settings map); kernel interfaces exist under
/sys/glowforge/head and /sys/glowforge/thermal. Map into the
driver as job-state-driven config (run at cycle start, cooldown
after, idle thereafter) like the factory's
`_config_from_pulse` scheme.
- **Fan/thermal control (operator-mandated laser-on prerequisite):
DONE 2026-08-02, bench-verified** (`glowforge_cooling.c` in the
driver; test `scripts/bench/fan_test.py`). Factory pulse-header
values throughout: init = pump on / TEC off / purge on / idle
fans (air assist 204); **M8** (coolant flood — LightBurn's
per-layer Air Assist) = cut profile (air 1023, exhaust 65535,
intake 43278); **M9** = 15 s cooldown (`GFCOOL_COOLDOWN_S`) then
idle. Water temp polled at 1 Hz vs the ~31 °C factory run
ceiling → one-shot controller warning (laser milestone upgrades
it to a hard fire gate). Verified via tach readbacks: air tach
period 4439→699 under M8, exhaust stopped→full, intakes ~3×,
cooldown hold, clean return to idle; coolant temp visibly
dropped during the blast. TEC/heater control remain for the
thermal part of the laser milestone.
- **Interlock readback semantics cross-check: OPEN** (see
factory-laser-safety-readbacks notes).
3. **Homing (design decided 2026-08-02)**: the factory machine has NO
+9
View File
@@ -65,6 +65,15 @@ re-parked.)
- **Console tab**: raw grbl — `?` status, `$$` settings, `$X` unlock,
`$J=G91X10F1200` jog.
## Air assist / fans
Each cut/engrave layer has an **Air Assist** toggle (in the layer's cut
settings). Turning it on makes LightBurn emit M8/M9 around that layer,
which drives the machine's full cut-profile ventilation: air assist to
full, exhaust and intake fans to factory run speeds, then a ~15 s
cooldown after the layer before returning to idle. Leave it ON for
anything that will eventually involve the beam; expect real fan noise.
## A good first job
1. Draw a rectangle (~100 × 60 mm) with a circle inside.