Fracanto Architecture

Fracanto Architecture #3 — Tier 2: Node Management

Node Management — a module's operating system

The upper tier represents a module's operating system. At its center is the node state machine, which manages a module's lifecycle from INIT through ANNOUNCING to RUNNING and transitions to ERROR state on failures. The frame dispatch routes received CAN frames to registered handlers based on their message type.

The module scaffold (fracanto_module_t) bundles all these subsystems into a unified abstraction. It integrates the CV/Gate/Trigger/CC API and the routing table for pub/sub signal flows, the tempo sync module for BPM synchronization with jitter smoothing and phase tracking, the parameter system with registry, clamping, and bindings to encoders, CV, and CC, as well as the panel and IO abstraction for physical controls (encoders, buttons, LEDs) and ADC/DAC access. The audio pipeline with double buffering and DMA abstraction provides the foundation for real-time audio processing.

A dispatch bridge in module.c translates raw CAN messages into type-safe callbacks — the concrete module never sees a CAN frame but instead receives direct calls like on_cv(port, value).