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.
This commit is contained in:
@@ -66,6 +66,7 @@ from bbctrl.AVR import AVR
|
||||
from bbctrl.AVREmu import AVREmu
|
||||
from bbctrl.IOLoop import IOLoop
|
||||
from bbctrl.MonitorTemp import MonitorTemp
|
||||
from bbctrl.Hooks import Hooks
|
||||
import bbctrl.Cmd as Cmd
|
||||
import bbctrl.v4l2 as v4l2
|
||||
import bbctrl.Log as log
|
||||
|
||||
Reference in New Issue
Block a user