Infinity-ESC Core 2.0.0
Core HAL, boot, bootstrap and inner-loop contracts for Infinity ESC firmware
Loading...
Searching...
No Matches
Infinity ESC Core

[placeholder-version: README.md v3]

esc.core is the MIT-licensed foundation of Infinity ESC v2.0.0 — a ground-up architecture for the Infinity ESC family. It owns no hardware, no board layout and no product packaging; it owns only the generic contracts that every downstream layer (boards, controllers, host tools) builds on top of.

What lives here

  • HAL-facing ABI / API for the inner-loop motor pipeline (input, sensors, scheme, control, modulation, apply-actuation, startup, trace).
  • Outer-loop watchdog and UnifiedState contracts that the host CLI and validation tooling consume.
  • Bootstrap and bootloader contracts that board repos extend with their own startup linkers, flash layouts and image identity.
  • Common infra: ADC raw input, safety event ring, fixed-width numeric types.

What does not live here

  • Any board-specific identity, linker script, flash layout or BSP code.
  • Hardware-spec inputs (those live in board repos under esc.boards.<family>.{public,private}).
  • Container runtime for build / test / validate pipelines (those live in the tools.docker repo).
  • Higher-level commercial control extensions (those live alongside Core but never inside it).

Versioning and identity

This repository is v2.0.0 — a ground-up, original architecture. Earlier 1.x versions of the project are not part of this lineage and nothing here is derived from them.

Project context

Infinity ESC is developed inside an internal R&D environment where project tracking, knowledge retrieval and AI-assisted reviews run on Minerva, an in-house RAG-backed project management system. Public issue trackers are not used; planning, status and historical decisions are kept inside Minerva and surface back into the repository through ordinary commit messages, MRs and tagged releases.

Building and testing

The Core library is a pure CMake project. A typical host configure + host-test run:

mkdir -p build-host-test && cd build-host-test
cmake .. -G Ninja \
-DINFINITY_BUILD_MCU=OFF \
-DINFINITY_BUILD_HOST_TESTS=ON \
-DINF_ESC_CORE_WATCHDOG_SINK=capture
cmake --build .
ctest --output-on-failure

For MCU and full pipeline builds, see the matching board repository under esc.boards.<family>.public (or .private for licensed firmware) — the board owns the toolchain file, request packs and release variants.

License

MIT for outside-Finland use, with additional Finnish-jurisdiction restrictions (see LICENCE and LICENCE.FI).