|
MCC
|
Configure MCC against a matching Foundation package. More...

Topics | |
| Foundation Dependency | |
| Foundation package resolution and compatibility contract. | |
| Platform Presets | |
| Public MCC presets backed by pinned RoModularBuild profiles. | |
Configure MCC against a matching Foundation package.
MCC locates or fetches Foundation automatically (see Foundation Dependency):
To use a specific Foundation package, point MCC at its prefix:
CMake packages and direct source builds require C++17. Arduino source mode also supports the C++11 default selected by stock cores, including the AVR core used by Arduino Uno; no global compiler-flag override is required.
Functions that require C++14 relaxed constexpr are ordinary inline functions only under Arduino C++11. They keep the same runtime behavior and remain constexpr with C++14 or newer. Scale and chord catalogs are stored as precomputed constant data, so AVR continues to keep them in program memory rather than initializing them in RAM.
The Arduino source-mode gate compiles every example with the core's default flags:
On Windows, run scripts/test-arduino.ps1 from PowerShell.
MCC 0.5.2 was manually validated on a physical Arduino Mega 2560 using the stock AVR core and its default C++11 mode. All seven example sketches compiled, uploaded, and produced their expected serial output. This is runtime hardware evidence in addition to the automated Arduino Uno compile gate. On 2026-10-02 Scale/Scales and Chord/Chords were run again on the same board, reading the catalogs from program memory, and matched the desktop output. The three Rhythm sketches added after 0.5.2 are compiled for the Uno in CI but have not run on hardware yet. Physical-board execution is not yet automated in CI.