Commit Graph

255 Commits

Author SHA1 Message Date
d797f1d4fc AuxAxis: ESP32-driven external stepper (auxcnc)
bbctrl.AuxAxis manages a stepper driven by an auxcnc-style ESP32
over /dev/ttyUSB0 (or whichever serial port). Persistent config in
aux.json; UI talks to it via /api/aux/* endpoints.

- AuxAxis: serial framing, position tracking, soft-limit enforcement,
  homing state machine, ATC pneumatic control (M100..M103 wrappers).
- Ctrl: instantiate self.aux alongside the other subsystems and
  close it during shutdown.
- Web: handlers for /api/aux/{config,status,home,abort,jog,move,set-zero}.
2026-05-03 15:14:25 +02:00
80a00978b7 Hooks: ATC IPC layer between gcode preprocessor and runtime
Adds bbctrl.Hooks: a small dispatch layer for HOOK:<event>:<data>
messages embedded in g-code as (MSG,HOOK:droptool:) etc. Hooks can
block the unpause until the registered callback completes and
auto-resume after.

- bbctrl.Hooks: registry, fire, dispatch_hook_message, persistent
  config in hooks.json, REST surface (/api/hooks, /api/hooks/save,
  /api/hooks/status, /api/hooks/fire/<event>).
- Ctrl: instantiate self.hooks alongside the other subsystems.
- Planner._add_message: when a (MSG,...) line is HOOK:<event>:<data>,
  route it through ctrl.hooks instead of state.messages so it never
  surfaces as a UI popup and dispatch is immediate (state.messages
  has a 250ms debounce).
- Web: handlers for the /api/hooks routes.
2026-05-03 15:14:25 +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
sanjayk03-dev
44b85bad5a v1.6.7 2025-09-21 01:57:17 +05:30
sanjayk03-dev
4ef4943ce9 fixed modal opening on each refresh 2025-09-21 01:06:42 +05:30
sanjayk03-dev
28e6b29ed6 v1.6.6 2025-08-31 18:48:26 +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
961a54bf65 fixed state notify 2025-08-31 16:50:00 +05:30
sanjayk03-dev
61e1c4ceff fixed logging 2025-07-09 01:02:42 +05:30
sanjayk03-dev
935c064f47 [bug-fix] Missed key error 2025-07-08 22:17:40 +05:30
sanjayk03-dev
d84c667c50 1.6.5 2025-06-24 22:06:44 +05:30
sanjayk03-dev
7f18f0a573 revised motor 2 config for rotary mode 2025-06-24 22:05:34 +05:30
sanjayk03-dev
d3b1006740 v1.6.4 2025-06-11 01:10:48 +05:30
sanjayk03-dev
0adae739af removed logs 2025-06-11 01:08:54 +05:30
sanjayk03-dev
dc6e3b958e fixing _populate_issues 2025-06-10 23:31:50 +05:30
sanjayk03-dev
f567a9c772 changed logstring 2025-06-10 23:10:34 +05:30
sanjayk03-dev
b09639160a fixing RotaryHandler 2025-06-10 22:51:05 +05:30
sanjayk03-dev
1076a88801 added loggers 2025-06-10 22:13:57 +05:30
bsaravanan783
61bbc05925 fix 2025-06-10 21:59:05 +05:30
bsaravanan783
6fa749e36b fix 2025-06-10 21:48:49 +05:30
bsaravanan783
2f3aaaca7e fix 2025-06-10 21:44:17 +05:30
bsaravanan783
568e7bb393 log 2025-06-10 21:39:56 +05:30
bsaravanan783
70989c40cd added loggers 2025-06-10 19:09:18 +05:30
bsaravanan783
e0a809de12 removed loggers 2025-06-10 19:06:16 +05:30
bsaravanan783
9313ffc9d8 addded loggers 2025-06-10 01:47:03 +05:30
bsaravanan783
a468e61463 added loggers 2025-06-10 01:43:59 +05:30
bsaravanan783
602eae10f9 added loggers 2025-06-10 01:37:27 +05:30
bsaravanan783
937d591495 added loggers 2025-06-10 01:31:20 +05:30
bsaravanan783
e4ccffe571 added loggers 2025-06-10 01:26:06 +05:30
bsaravanan783
cf5d08c8a1 added loggers 2025-06-10 01:09:13 +05:30
bsaravanan783
b810b94fe1 added loggers 2025-06-10 00:46:53 +05:30
bsaravanan783
5a55ca0445 added loggers 2025-06-10 00:42:59 +05:30
bsaravanan783
34e1875bc4 added loggers 2025-06-10 00:16:46 +05:30
sanjayk03-dev
a49bf15da5 fixing validationError 2025-06-05 01:27:33 +05:30
sanjayk03-dev
f6bff7176c logging config data 2025-06-05 00:57:55 +05:30
sanjayk03-dev
e938aa24c3 fixed key 2025-06-05 00:37:58 +05:30
sanjayk03-dev
eaf5c2a1e2 storing motors backup 2025-06-04 22:00:12 +05:30
sanjayk03-dev
295eecfa6d removed loggers 2025-05-23 20:11:49 +05:30
sanjayk03-dev
7ca04d70d8 fixed loggers 2025-05-23 20:02:48 +05:30
sanjayk03-dev
f3422e54d0 adding logs to debug 2025-05-23 19:58:44 +05:30
sanjayk03-dev
d486094373 backup values 2025-05-23 19:34:26 +05:30
sanjayk03-dev
19f362c2f8 add conditional checks 2025-05-23 19:11:25 +05:30
sanjayk03-dev
2b5ee6cc65 1.6.3 2025-05-15 22:31:55 +05:30
sanjayk03-dev
6999aca997 changing config values for rotary axis 2025-05-15 21:11:33 +05:30
sanjayk03-dev
d66322f2e2 v1.6.2 2025-02-10 21:31:22 +05:30