CRUMBS Documentation

Arduino I2C communication library for controller/peripheral messaging with variable-length payloads and CRC validation.

Quick Start

// Controller (Arduino HAL)
#include <crumbs_arduino.h>
crumbs_context_t ctx;
crumbs_arduino_init_controller(&ctx);

// Peripheral (Arduino HAL)
// attach callbacks and initialise the peripheral
crumbs_context_t pctx;
crumbs_arduino_init_peripheral(&pctx, 0x08);

Features

  • Variable-length payload (0–27 bytes per message)
  • Controller/peripheral architecture
  • Event-driven callbacks
  • Per-command handler dispatch
  • Message builder/reader helpers
  • CRC-8 data integrity
  • Debug support

Documentation

File Description
Getting Started Installation and basic usage
API Reference Core C API and platform HAL docs
Handler Guide Per-command handler dispatch tutorial
Message Helpers Payload building and reading helpers
Protocol Message format specification
Examples Code examples and patterns
Developer Guide Architecture, integration & dev docs
Developer Notes Historical design decisions & trade-offs
Linux HAL Linux build & example notes
Version: 0.9.4 Author: Cameron K. Brooks Dependencies: Wire library (Arduino); linux-wire for Linux HAL

Table of contents