mirror of
https://github.com/openglow-org/forgefirm.git
synced 2026-09-27 08:41:13 -07:00
docs: the runbook's settings inventory and the bench page's help links are current
BRINGUP named nine cool_* tunables (there are thirty), a cool_fire_ir_delta key nothing reads, and panel source files that no longer exist; the inventory is the present one. The bench page's help popovers pointed at a documentation host and paths that do not exist; they open the site.
This commit is contained in:
+14
-7
@@ -440,7 +440,7 @@ One ulfius daemon serves it all:
|
||||
|
||||
- `GET /` — the tabbed control panel (**Status / Machine / GF Cloud / GRBL /
|
||||
Diagnostics / Logs / System**; sources in `forgectrl/src/ui/`,
|
||||
`index.html` + `panel.css` + `panel.js`, bundled into the binary by
|
||||
`index.html`, `panel.js`, `forms.js`, `help.js` and `theme.css`, bundled into the binary by
|
||||
`embed.cmake`; `tools/devserver.py` and the repo's `.devcontainer/` serve the
|
||||
same panel on a workstation against a live board or a mock). Status carries
|
||||
the controller-mode selector, the operational dashboard, a scaled lid
|
||||
@@ -461,11 +461,10 @@ One ulfius daemon serves it all:
|
||||
and 409 while a diagnostic owns the hardware; a multi-key POST lands as one
|
||||
atomic replace. Keys: `controller_mode`, `homing_mode`, `gfcloud_home_x/y/z`,
|
||||
`gfcloud_home_timeout_s`, `gf_serial`, `gf_password`, `ui_units`,
|
||||
`wifi_country`, the nine `cool_*` tunables, `laser_button_timeout_s`,
|
||||
`wifi_country`, the thirty `cool_*` tunables, `laser_button_timeout_s`,
|
||||
`laser_disarm_s`, `rail_settle_s`, `lid_lamp_idle`, `lid_policy`,
|
||||
`cloud_pause_backtrack_ticks`, `cloud_resume_lead_ticks`, the twelve
|
||||
`cloud_pause_backtrack_ticks`, `cloud_resume_lead_ticks`, `cloud_hold_max_s`, the twelve
|
||||
`log_<logger>_disk|_remote` levels and `syslog_server|port|proto`.
|
||||
`cool_fire_ir_delta` is a hand-edited conf key, not a panel setting.
|
||||
- `GET /mode`, `POST /mode?controller=grbl|cloud` — the supervisor: current
|
||||
mode, controller state (`running | stopped | standby | motion-fault`), pid,
|
||||
and the motion-liveness verdict (`verified | unverified | fault`); the POST is
|
||||
@@ -592,9 +591,17 @@ hard-abort at 48 °C downstream:
|
||||
gates between; reports both bands and recommends threshold = (flow max +
|
||||
no-flow min)/2 with an Apply button, or refuses when the gap is under 3 °C.
|
||||
|
||||
**Cooling tunables are conf-backed**: the nine `cool_*` keys (`flow_rise`,
|
||||
`flow_heater_pct`, `flow_check_s`, `recheck_s`, `confirm_max_s`, `temp_max`,
|
||||
`temp_resume`, `cooldown_s`, `cooldown_max_s`) live in `/data/forgefirm.conf`
|
||||
**Cooling tunables are conf-backed**: the thirty `cool_*` keys (the flow
|
||||
check: `flow_rise`, `flow_heater_pct`, `flow_check_s`, `recheck_s`,
|
||||
`confirm_max_s`, `laser_heat_cw`, `laser_heat_density`, `aa_offset_counts`;
|
||||
the temperatures: `temp_max`, `temp_resume`, `temp_critical_c`, `temp_min`,
|
||||
`temp_start`; the TEC: `tec_present`, `tec_on_c`, `tec_off_c`; the fire
|
||||
watch: `fire_q1_alert`, `fire_q1_critical`, `fire_q2_alert`,
|
||||
`fire_q2_critical`; the crash watch: `accel_x_alert`, `accel_y_alert`,
|
||||
`accel_abort`; the cooldown: `cooldown_s`, `cooldown_max_s`; the airflow
|
||||
gates: `tach_exhaust_min_rpm`, `tach_intake_min_rpm`,
|
||||
`tach_air_assist_min_rpm`, `purge_min_current`, `fan_grace_s`) live in
|
||||
`/data/forgefirm.conf`
|
||||
(Machine tab, validated ranges), and the cooling engine re-reads them at **every
|
||||
run start** (env `GFCOOL_*` > conf > compiled default; env stays the bench
|
||||
override and wins for the process lifetime).
|
||||
|
||||
@@ -13,11 +13,11 @@
|
||||
* What the operator must read mid-run (the steps, prompts, notices and
|
||||
* the live-laser acknowledgment) stays in the page and never moves here.
|
||||
*/
|
||||
var DOC_BASE = 'https://docs.openglow.org/forgefirm/';
|
||||
var DOC_BASE = 'https://docs.forgefirm.org/';
|
||||
var HELP = {
|
||||
campaign: {
|
||||
t: 'Campaign',
|
||||
d: 'acceptance/campaign',
|
||||
d: 'developers/acceptance/',
|
||||
p: [
|
||||
'A release is authorized when a campaign is open on this image and every catalog test is satisfied: by a PASS in the campaign, or (never for the core) by an earlier PASS whose domain fingerprint is unchanged. A FAIL ends the campaign.',
|
||||
'The manifest identity is the image, the catalog hash is the test set; either changing starts the count over.'
|
||||
@@ -25,7 +25,7 @@ var HELP = {
|
||||
},
|
||||
queues: {
|
||||
t: 'Run what is left',
|
||||
d: 'acceptance/queues',
|
||||
d: 'developers/acceptance/',
|
||||
p: [
|
||||
'Each queue takes every test of its kind that the campaign does not already count as satisfied, runs them one at a time in prerequisite order, and stops on the first result that is not a PASS.',
|
||||
'The unattended queue needs nobody in the room; with the bench fixture up, the operator tests it can perform by itself run there too. The other one does: it prompts, and it fires the laser. Stop-the-queue cancels what is still waiting and lets the run in progress finish; Abort ends that one too.'
|
||||
@@ -33,7 +33,7 @@ var HELP = {
|
||||
},
|
||||
actions: {
|
||||
t: 'Campaign actions',
|
||||
d: 'acceptance/actions',
|
||||
d: 'developers/acceptance/',
|
||||
p: [
|
||||
'Export builds the release artifact the release gate reads (acceptance.json, with acceptance.md for people) from the campaign as it stands. The raw log is the append-only record; the journal is the daemon\'s own.',
|
||||
'Invalidate all forces a full campaign; give the reason. Reset campaign closes the open campaign without invalidating anything: earlier passes stay inheritable under the campaign rules, and the next Start opens a new one.'
|
||||
@@ -41,14 +41,14 @@ var HELP = {
|
||||
},
|
||||
ignore: {
|
||||
t: 'Ignore prerequisites',
|
||||
d: 'acceptance/prerequisites',
|
||||
d: 'developers/acceptance/',
|
||||
p: [
|
||||
'A test\'s requires list only orders the runs. With the switch on, any test starts alone and its record notes which prerequisites were unmet; the release still needs every test satisfied.'
|
||||
]
|
||||
},
|
||||
bench: {
|
||||
t: 'Bench diagnostics',
|
||||
d: 'bench/tools',
|
||||
d: 'developers/bench/',
|
||||
p: [
|
||||
'The bench tools under scripts/bench, run on the board with their output in the Run pane. Nothing here enters a campaign. Tools not yet ported are listed for completeness.',
|
||||
'Live tools need the operator acknowledgment; takeover and scope tools stop forgectrl for the duration and start it again when they finish.'
|
||||
|
||||
Reference in New Issue
Block a user