Device communication

Corelib

Portable, heap-free middleware for Programmor-compatible embedded devices.

EpicECU Corelib logo

At a glance

  • Portable C11 core with an optional fixed-storage C++14 facade
  • Standard device endpoints and optional gateway support
  • Application-owned transport, storage, scheduling, and lifecycle
  • Arduino, CMake, Pico SDK, STM32Cube, and Teensy integration paths

Technical overview

See the project documentation for current installation instructions, APIs, and compatibility details.

Corelib connects embedded devices to Programmor. Its portable C11 core implements the independent Portable Frame Protocol specification and adds an upper-layer transaction protocol. Projects that prefer storage sized at compile time can use the optional C++14 facade.

The application remains in control: Corelib does not own a heap, scheduler, filesystem, hardware abstraction layer, or background worker. Firmware supplies transport callbacks and fixed storage, feeds received frames into the library, and advances it from the application’s existing main loop.

add_subdirectory(path/to/corelib)
target_link_libraries(firmware PRIVATE Corelib::Device)

See the documentation for integration boundaries, supported packages, examples, and API references.