Commit Graph

1166 Commits

Author SHA1 Message Date
f0a37828a4 docs: rename esp-a-axis branch to private-mods in AGENTS.md 2026-05-03 15:14:21 +02:00
2b949c4f00 docs: AGENTS.md - branch model and where-does-it-go guide 2026-05-03 15:10:25 +02:00
72c69d3000 docs: CHANGELOG entry summarising the community-fork additions 2026-05-03 14:12:18 +02:00
94072253d4 ui: V09 redesign - Control/Program/Console/Settings shell
Replaces the legacy side-menu chrome with a 4-tab top header.

- index.pug: tablet/kiosk fit-to-viewport script, header tab nav,
  estop/state badges in header.
- app.js: route hash to (control|program|console|<settings-family>),
  multi-section settings shell.
- control-view: header DRO, jog grid, MDI/probe/macros panels.
- program-view + program-mixin: file browser + toolpath preview +
  run/pause/stop, replaces the legacy 'macros' tab content.
- console-view: MDI shell, message log, indicators.
- settings-shell-view: rail-driven inner pages (Display & Units,
  Probing, G-code & Motion, Macros, Network, etc.).
- settings-view: filter Svelte SettingsView to one rail section.
- SettingsView.svelte: tag every section with data-sec=… so the
  filter above can hide non-matching ones.
- style.styl: ~2700 lines of V09 layout, DRO, jog grid, status
  strip, and tablet/kiosk variants.

No A-axis / auxiliary-axis content lives on this branch.
2026-05-03 14:11:29 +02:00
c10f5c053a ui: assorted polish - Vue async fix, OrbitControls passive listeners, path-viewer + motor-view + indicators
- main.js: disable Vue async batching so reactive writes from
  hashchange listeners propagate synchronously (matches Vue 1's older
  default; avoids dropped DRO updates).
- orbit.js: pass {passive:false} to wheel/touch listeners so
  OrbitControls.preventDefault() actually suppresses page panning.
- path-viewer: opaque dark canvas (no flash from page background),
  zero-size guard, ResizeObserver cleanup on destroy.
- motor-view: stop clobbering user edits with controller state.
- estop/indicators/tool-view/path-viewer pug: rename FA4 icons to FA6,
  add viewBox to estop SVG, fix tool-view trailing newline.
2026-05-03 14:07:35 +02:00
b9e880448e ui: upgrade to FontAwesome 6, harden burger-menu shim
- Drop FA4 font files and font-awesome.min.css.
- Ship FA6 webfonts (solid, regular, brands) and fa6.min.css.
- io-indicator: use FA6 names (fa-circle-plus / -minus / -exclamation).
- static/js/ui.js: no-op the legacy side-menu click handler when menu
  links are not present (V09 chrome removes them) so the Settings tab
  no longer logs 'cannot set properties of null'.
2026-05-03 14:07:06 +02:00
8224ab8f97 boot: cold-boot optimisations cutting bbctrl listen by ~8s on the Pi
- scripts/rc.local.fast: minimal rc.local that defers the heavy bits.
- scripts/bbserial-rebind.service: oneshot unit that unbinds ttyAMA0
  from pl011 and (re)loads bbserial before bbctrl.service.
- scripts/bbctrl.service: declare the After/Wants on bbserial-rebind
  so we can rely on it rather than racing rc.local.
- scripts/install.sh: ship the cold-boot bits with firmware updates
  (mask sysstat, replace dphys-swapfile with an fstab swap entry).
- scripts/rc.local + setup_rpi.sh + setup.py: wire updated paths.
2026-05-03 14:06:44 +02:00
0b5ab2ff3b diag: add startup-timing trace and /api/diag/timing endpoint
bbctrl.Trace records monotonic-anchored events from process start.
Ctrl, Comm, the Web layer and __init__ are instrumented so a single
GET /api/diag/timing returns a full timeline of import, controller
init, AVR connection, first websocket, and first GET /. The
restart-timing.js client posts performance.now() marks back so the
browser side can be aligned in the same view.

Used to drive the cold-boot optimisations that reduce listen latency
on the Pi by ~8s.
2026-05-03 14:06:17 +02:00
94270e7725 Planner: lazy-load camotics.gplan so HTTP listener comes up first
Importing camotics.gplan pulls in a C++ extension (libstdc++,
boost::python, etc.) which adds several seconds to bbctrl startup
on the Pi. Defer it to Planner.init() — bbctrl can serve the UI
and accept connections without ever touching the planner, and the
penalty is paid only the first time motion is queued.
2026-05-03 14:04:30 +02:00
7a6e2cd00b Camera: replace deprecated @web.asynchronous with async def
Tornado removed @web.asynchronous in 6.x; bbctrl on the Pi runs an
older but compatible async-aware build. Switching to coroutine syntax
keeps the streaming endpoint working across Tornado 5/6.
2026-05-03 14:04:03 +02:00
785dafc3bc Log: tolerate missing rotated log files on startup
Recursive _rotate() may have already moved or unlinked the source path
by the time we try to rename it (also tolerates concurrent logrotate
runs from /etc/cron.reboot). Catch FileNotFoundError instead of
crashing bbctrl on startup.
2026-05-03 14:03:58 +02:00
0d5370a724 deploy: add macOS-friendly deploy scripts (local / hardware / prod)
- deploy.sh dispatcher + thin shims (deploy-local.sh / -hardware.sh / -prod.sh).
- scripts/deploy/local.sh: build UI bundle and serve via tmux session on :8770 for offline iteration.
- scripts/deploy/hardware.sh: rsync-based push to a Pi over SSH and restart bbctrl.service.
- scripts/deploy/prod.sh: bundle release tarball.
- scripts/deploy/patch_font_mime.py: hot-patches Chromium 72's broken WOFF2 mime handling on the kiosk Pi.
2026-05-03 14:03:50 +02:00
f170002c8b tools: SD card backup/restore script
backup/onefinity-backup.sh: dd-based whole-card backup/restore with
shrink/expand support so a Pi image can be moved between SD cards
of different sizes.
2026-05-03 14:03:24 +02:00
24215a8b36 build: document Pi firmware build/flash + gplan.so cross-build via Stretch Docker
- .pi/BUILD.md: end-to-end macOS dev workflow, deploy paths, dphys-swapfile vs fstab, troubleshooting.
- .pi/Dockerfile.gplan + build-gplan.sh: rebuild gplan.so from source on Raspbian Stretch (Bullseye is too new for the toolchain).
- Makefile: ensure trailing newline between concatenated pug templates so Pug doesn't glue file boundaries together.
2026-05-03 14:03:20 +02:00
3ca19ea875 chore: ignore build/log/scratch artefacts and dev-container helper 2026-05-03 14:03:08 +02:00
sanjayk03-dev
44b85bad5a v1.6.7 2025-09-21 01:57:17 +05:30
sanjayk03-dev
f092c0c5d0 UI change 2025-09-21 01:52:42 +05:30
sanjayk03-dev
fda579d765 making easy-adapter reactive 2025-09-21 01:45:20 +05:30
sanjayk03-dev
9b72d7c5cc debuging with logs 2025-09-21 01:37:52 +05:30
sanjayk03-dev
6eb2739426 Merge branch 'v1.6.0' of https://github.com/sanjayk03-dev/onefinity-firmware into v1.6.0 2025-09-21 01:31:59 +05:30
sanjayk03-dev
31fae30546 made label reactive 2025-09-21 01:31:55 +05:30
bsaravanan783
7fd8d32680 Merge branch 'v1.6.0' of https://github.com/sanjayk03-dev/onefinity-firmware into v1.6.0 2025-09-21 01:26:36 +05:30
bsaravanan783
4fe84412d4 easy- adapter style chagne 2025-09-21 01:26:28 +05:30
sanjayk03-dev
6f881e1eae changed to 90 seconds modal 2025-09-21 01:22:44 +05:30
sanjayk03-dev
363f3a770e UI changes 2025-09-21 01:21:55 +05:30
sanjayk03-dev
4ef4943ce9 fixed modal opening on each refresh 2025-09-21 01:06:42 +05:30
bsaravanan783
104cbbf5da styles 2025-09-21 01:05:41 +05:30
bsaravanan783
a0ebced79a changed easy adapter to true 2025-09-21 00:53:01 +05:30
sanjayk03-dev
763fb3a763 testing with 5 secs 2025-09-21 00:27:47 +05:30
sanjayk03-dev
02c01bcc08 added title for easy adapter in settings 2025-09-21 00:23:53 +05:30
sanjayk03-dev
5c15385d0f consumed easyadapter dialog and added timer 2025-09-21 00:21:48 +05:30
sanjayk03-dev
1b18f2e4ba fixed cond 2025-09-21 00:02:29 +05:30
sanjayk03-dev
9a347e3406 easy adapter dialogs 2025-09-20 23:55:46 +05:30
sanjayk03-dev
6889828e7a easy adapter UI 2025-09-20 23:47:42 +05:30
sanjayk03-dev
668a116de7 added easy adapter in settings 2025-09-20 23:36:33 +05:30
sanjayk03-dev
6192afd532 added metadata 2025-09-20 23:02:36 +05:30
sanjayk03-dev
344b3ff259 removed unused logs 2025-09-20 18:08:48 +05:30
bsaravanan783
8d7c23cfd7 moved the toolList down the unsupported 2025-09-17 22:46:33 +05:30
sanjayk03-dev
f68f2e5c88 making component reactive 2025-09-07 00:53:51 +05:30
sanjayk03-dev
0cc48eb845 added more loggers 2025-09-07 00:46:25 +05:30
sanjayk03-dev
b20ab8bdd6 updated sync function 2025-09-07 00:40:02 +05:30
sanjayk03-dev
e18b0089fa added logs 2025-09-07 00:29:02 +05:30
sanjayk03-dev
5c46806c05 bugfix for v1.6.0 2025-09-07 00:14:57 +05:30
sanjayk03-dev
28e6b29ed6 v1.6.6 2025-08-31 18:48:26 +05:30
sanjayk03-dev
25897f0a67 added state handler 2025-08-31 18:21:35 +05:30
sanjayk03-dev
91f8860320 removed logs 2025-08-31 17:53:08 +05:30
sanjayk03-dev
243b23827e removed f strings 2025-08-31 17:42:28 +05:30
sanjayk03-dev
7e0739eea3 trying to fix microsteps fix 2025-08-31 17:35:38 +05:30
sanjayk03-dev
6b151d1fc6 added attached to refresh settings page on each visit 2025-08-31 17:12:03 +05:30
sanjayk03-dev
4a9bd07fa7 Merge branch 'v1.6.0' of https://github.com/sanjayk03-dev/onefinity-firmware into v1.6.0 2025-08-31 16:50:10 +05:30