Commit Graph
36 Commits
Author SHA1 Message Date
ScottW514 8658973d5c Bump pins: grblHAL a9446fe (door signal hidden while idle/jog/homing), forgectrl f7276c5; docs
LIGHTBURN: lid open mid-job = Door, Resume continues; the lid is free at idle. SAFETY/SERVICES/BRINGUP: the visibility policy and its bench check.
2026-08-15 11:44:39 -04:00
ScottW514 21d3a482c6 Laser safety write-up (docs/SAFETY.md + diagram); bump pin: forgectrl a451e7c
docs/SAFETY.md documents the control board's laser safing chain as
reverse-engineered and bench-verified - parts, every net with its SoC pin,
Linux exposure and polarity, the logic, and the software layers ForgeFIRM
stacks on it - with docs/img/safety-chain.svg. Linked from the README.

BRINGUP: Next work item 11 records the interlock-latch finding (an open
loop never tripped the latch; the kernel now drives INTERLOCK_LATCH_RESET)
and the charge-pump watchdog readback, both code-complete and pinned,
bench validation on the next image.
2026-08-15 11:03:15 -04:00
ScottW514 43cc540a09 Bump pins: forgectrl 73eda9a, grblHAL 91807a2 (head-presence gate, honest labels); BRINGUP head-absent record 2026-08-15 09:19:25 -04:00
ScottW514 31ac4bbcbd Bump pins: forgectrl 3edb7bd, grblHAL 5960f05 (stop-lever fix, fetch-verified) 2026-08-15 08:43:50 -04:00
ScottW514 c985991cda Bump pins to the hygiene-sweep heads; record the sweep in BRINGUP
forgectrl ed2934b, grblHAL da4c8eb, forgefirm-app (gfhardware) 6c7534a -
all pushed and fetch-verified, license population checked for the
multi-license recipes.
2026-08-15 06:41:26 -04:00
ScottW514 3dfee18b96 Bump forgectrl pin to 424f185 (liveness doors-bit fix)
Pulls in the inverted-doors-bit fix in the liveness probe enclosure
guard (the probe was skipping on every spawn with the lid closed and
would have moved the gantry with it open) plus the P10 -Werror warning
cleanup. Source pushed to origin/main; bitbake -c fetch verified.
2026-08-14 21:17:57 -04:00
ScottW514 e10784b2d8 Bump recipe pins to the audit-remediation heads
forgectrl aa99d30, grblHAL-glowforge e74f53f, and the forgefirm-app
sources at python3-gfhardware c9d602a (PV 0.1.3) - the Phase 1-9
remediation work, pushed and pinned.
2026-08-14 18:30:11 -04:00
ScottW514 89ba97e310 docs: BRINGUP.md - safety mapping implemented; pin grblhal e616548, forgectrl e779554
The controller now maps the door pair and the interlock loop onto the core's
safety-door signal, with the e-stop bit behind a machine setting. Records what
is gated and what is deliberately not, the answer to the audit's latch-reset
question, and the bench items the change still needs.
2026-08-13 13:51:23 -04:00
ScottW514 e92e500d91 docs: BRINGUP.md - no idle-rail-off in the rail item; forgectrl c099a28 2026-08-13 12:02:58 -04:00
ScottW514 2c1d73880a docs: BRINGUP.md - shared machine services closed out; forgectrl 96027b1
Record the finished shared-services state: forgectrl is the one
machine-services daemon behind both controller modes, both controllers
are cooling-engine clients, and the drill and soak coverage that proves
it. Attribute the cooling policy records to the engine's present home.
Add the remaining polish as Next work item 8 - diagnostics as engine
modes, the rail-policy remainder, cloud per-job fan profile
confirmation, /cool/status cosmetics, and button edge detection.
2026-08-13 12:00:01 -04:00
ScottW514 95ae38916d forgectrl: pin 6dfbceb (controllers inherit only the broker fd) 2026-08-13 05:14:15 -04:00
ScottW514 44cdda0109 Bump forgectrl/grblhal pins: quiet fans through homing motions 2026-08-12 16:35:44 -04:00
ScottW514 1b47597133 Bump SRCREVs: the shared-machine-services release
forgectrl 21edf30 - cooling engine, controller-mode supervisor,
pulse-device broker, motion-liveness gate, crash watchdog, docs.
grblhal-glowforge 05c3b2d - cooling thin client, broker-inherited
pulse device, heater kill on engine loss.
forgefirm-app (python3-gfhardware) 40d0de2 - coolsvc client, broker
mode, rail-write gating, gfhome completion hardening, factory NTC
curve.

Ship the three together: the migrated controllers no longer establish
the thermal posture and expect the broker - forgectrl must be current
first (deployment ordering per forgectrl docs/SERVICES.md).
2026-08-11 20:14:32 -04:00
ScottW514 2219ec24f7 Repoint merged recipe pins to the default branches
The cloud-action-surface branches are merged: forgectrl builds from main
(same revision), and the forgefirm-app include pins the python3-gfhardware
master head (adds docs/CLOUD.md and the clean-shutdown gfhome).
2026-08-09 15:18:57 -04:00
ScottW514 050eaf5f4c Pin forgectrl to the cloud-action-surface branch for the test image
Points the forgectrl recipe at the pushed cloud-action-surface commit
(controller_mode=cloud + the compatibility banner) so a test image
carries the cloud-mode UI. Repoint to main once the branch is merged.
2026-08-08 19:31:04 -04:00
ScottW514 25f2721500 forgectrl: wireless radio-policy revision; runbook: regulatory record
Bump to the forgectrl revision whose startup pass reloads
regulatory.db (required while the flashed kernel still has built-in
cfg80211 - its boot-time load fails pre-mount and stays failed
without a reload), hints a region only when one is set (unset =
automatic: the AP's 802.11d country, else world; a 00 hint over the
kernel's own world default reports the confusing intersection alias
"country 98"), and pins wlan0 power save off.

BRINGUP.md: bench record for the wireless-regulatory diagnosis and
the live-verified wifi_country / power-save flow; the kernel-batch
note now carries CFG80211/MAC80211=m, DEFAULT_PS off, and the lm75
vs-supply.
2026-08-08 16:51:06 -04:00
ScottW514 d2131c161b forgectrl: wireless region support; add iw runtime dep
Bump to the forgectrl revision that adds the wifi_country setting
(System-tab region picker); the daemon applies it with iw reg set at
startup and on change, so iw joins RDEPENDS. regulatory.db itself
ships via the glowforge-image base (wireless-regdb-static).
2026-08-08 15:32:47 -04:00
ScottW514 501e1d4591 installer: confirm target-slot content; record semantic version
Before writing the target slot, the installer now shows what it holds
(factory firmware v<ver>, ForgeFIRM, an unrecognized filesystem, or
unknown/unreadable content). Factory images are archived as before;
anything else requires the operator to type ERASE, since it is
overwritten without a backup. The archive manifest now records the
semantic FIRMWARE_VERSION (ver=), which the update manager displays in
the restore list. Bump forgectrl to the matching GUI change.
2026-08-08 14:54:28 -04:00
ScottW514 e9d3ce40a8 Bump forgectrl (legacy/sd slots shown only when present) 2026-08-08 14:42:13 -04:00
ScottW514 d1bbecb9ee forgefirm-keys: verification trust anchors; forgectrl update manager
/etc/forgefirm/keys ships the ForgeFIRM release-signing public key
and the Glowforge factory keyring (public keys only) - the update
manager verifies release downloads/uploads against the former and
factory archives against the latter. forgectrl SRCREV bumped to the
update-manager commit; runtime deps on ffboot, fwup, the keyring, and
curl made explicit.
2026-08-08 14:02:15 -04:00
ScottW514 6c418bfb92 docs: no bench-machine identity in public documents; re-pin forgectrl
The runbook no longer records the bench machine's fuse identity (a
fuse identity cannot be rotated, so a public document must never
carry it); the forgectrl pin follows that repo's history rewrite.
2026-08-08 13:37:22 -04:00
ScottW514 21251bc89f Bump forgectrl (units, fuse identity, always-on position, viewer) 2026-08-08 13:26:57 -04:00
ScottW514 b7eb5fdac5 docs: cooling GUI + diagnostics; bump forgectrl and grblhal
BRINGUP: the conf-backed cooling tunables, the Diagnostics runner
model and both cooling tools, and the 2026-08-08 bench record
(conf re-read drill, takeover semantics, flow-verify PASS 2:42,
flow-calibrate 8:45 recommending 14.8 vs the hand-derived 14.4).
Pins: forgectrl -> 86ff78b (Machine-tab cooling card + Diagnostics
tab + diag runner), grblhal -> ae85682 (cool_* conf keys re-read
per flood start).
2026-08-08 11:48:15 -04:00
ScottW514 548d25a4ff Bump forgectrl (firmware version in the panel) 2026-08-07 21:32:59 -04:00
ScottW514 607ceb32e7 Bump forgectrl (controller-mode selector, idle settings lock) 2026-08-07 20:56:16 -04:00
ScottW514 85914c16d0 Bump forgectrl (remote-interlock semantics); bench model + interlock facts in the runbook 2026-08-07 20:48:26 -04:00
ScottW514 4184e84558 Bump forgectrl and grblhal-glowforge to the OpenGlow-identity release
forgectrl ad0b441: OpenGlow branding, operational /status dashboard.
grblHAL-glowforge c472a13: position anchor at homing for the status
readers. Runbook updated.
2026-08-07 20:27:46 -04:00
ScottW514 bcf476be74 Bump forgectrl and grblhal-glowforge to the control-panel release 2026-08-07 20:06:17 -04:00
ScottW514 c1d781a137 Bump forgectrl and grblhal-glowforge to the homing release
forgectrl 0b05e48: /settings homing-mode store + UI, snapshot lamp
override. grblHAL-glowforge 948f1c7: runtime-selectable $H with the
Glowforge web-service homing session (stream suspend/resume, gfhome
runner orchestration).
2026-08-07 19:27:52 -04:00
ScottW514 392bf49e5b forgectrl SRCREV 73283b6; BRINGUP: cached capture path bench-verified on flashed image 2026-08-07 16:43:47 -04:00
ScottW514 7b320c34ac forgectrl: bump SRCREV (VPU errored-frame handling) 2026-08-03 17:05:09 -04:00
ScottW514 8d798fa4b9 forgectrl: promote to its own repo, recipe fetches the pinned git source
Sources live at github.com/ScottW514/forgectrl (history extracted, layout src/ + init/); the recipe pins SRCREV and installs the init script from the repo. Adds the build-forgectrl.sh bench cross-compile script.
2026-08-03 14:06:25 -04:00
ScottW514 d75ff717ac forgectrl: VPU JPEG encode for the camera stream - 7.9 fps
Demosaic the superpixels straight to planar YUV420 and encode on the CODA960 (mainline coda V4L2 mem2mem, node found by personality); libjpeg stays as the automatic fallback and the snapshot path. All camera paths now demosaic from a cached bounce copy of the frame: the V4L2 MMAP capture buffers are uncached, and reading them in-place costs ~340 ms/frame vs 43 ms memcpy + 75 ms cached convert. Per-frame stats logged every 100 frames; /cam/status reports the encoder.
2026-08-03 13:31:48 -04:00
ScottW514 b3a8924c91 forgectrl: implement the camera MJPEG service
Persistent imx-media capture engine (lid/head via the shared video-mux, 409 arbitration, 10 s idle teardown), 1296x972 MJPEG stream via 2x2 Bayer superpixel, full-resolution bilinear snapshots, mjpg-streamer-compatible aliases, sysvinit script; installed in both images. Bench-verified: 3.2 fps stream, clamped 0 during simultaneous motion.
2026-08-03 12:26:23 -04:00
ScottW514 d42a1588c7 Port meta-forgefirm to Scarthgap
- LAYERSERIES_COMPAT -> scarthgap
- Yocto 3.4+ override syntax (:remove/:append/:${PN})
- ulfius: explicit protocol=https;branch=master on the git SRC_URI
2026-06-19 10:33:52 -04:00
ScottW514 9d520e04d9 initial commit 2020-04-15 17:13:51 -04:00