UI: render W (aux) axis row in the main DRO

Adds the auxcnc W axis to the front-page Position table:

- axis-vars.js exposes a 'w' computed property fed by state.aux_pos /
  aux_enabled / aux_homed / aux_present (set by AuxAxis on the host).
  No motor mapping, no soft-limit warnings - the aux controller does
  its own bounds.
- control-view.pug adds a W row after the xyzabc loop. The Set/Zero
  button calls /api/aux/set-zero {mm:0} and the Home button calls
  /api/aux/home, which hit the new endpoints exposed by Web.py.
- control-view.js: aux_home(), aux_set_zero(), and aux_jog() helpers.

When aux_enabled is false (no aux.json or aux.json has enabled=false)
the row stays hidden, matching the existing axis-row behavior.
This commit is contained in:
Claude
2026-04-30 17:10:00 +02:00
parent c7cf9483b3
commit 4f74e75d44
3 changed files with 90 additions and 0 deletions

View File

@@ -191,6 +191,28 @@ script#control-view-template(type="text/x-template")
button.pure-button(:disabled="!is_idle", @click=`home('${axis}')`,
title=`Home {{'${axis}' | upper}} axis.`, style="height:60px;width:60px")
.fa.fa-home
// Auxiliary W axis (auxcnc ESP32 over /dev/ttyUSB0)
tr.axis(:class="w.klass", v-if="w.enabled", :title="w.title")
th.name w
td.position: unit-value(:value="w.pos", precision=4)
td.absolute: unit-value(:value="w.abs", precision=3)
td.offset —
td.state
.fa(:class="'fa-' + w.icon")
| {{w.state}}
td.tstate(:class="w.tklass", :title="w.toolmsg")
.fa(:class="'fa-' + w.ticon")
| {{w.tstate}}
th.actions
button.pure-button(title="Set W axis position to 0.",
@click="aux_set_zero()", style="height:60px;width:60px")
.fa.fa-map-marker
button.pure-button(:disabled="!w.enabled", @click="aux_home()",
title="Home W axis.", style="height:60px;width:60px")
.fa.fa-home
tr(style="vertical-align: top;")
td