Fracanto Architecture #1 — Tier 1: CAN Protocol
The lowest tier defines the language in which modules communicate. The can_frame module encodes and decodes 11-bit CAN IDs, which consist of a 2-bit priority field, a 6-bit node ID, and a 3-bit subtype. Building on this, can_msg handles encoding and decoding of 25 message types into CAN-FD frames with up to 64 bytes of payload. The signal_types module assigns each signal a semantic hint byte composed of a 4-bit category (Digital, Pitch, Mod, Level) and a 4-bit specification, classifying what a signal means musically.
