Overview
Kinematrix.h is the primary entry point for the Kinematrix framework. It orchestrates all library components including modules, sensors, add-ons, and development tools through a single include statement.
Include Pattern
Architecture
The header implements a hierarchical include system that automatically loads enabled components:Component Headers
Development Integration
KinematrixDevelopment.h
Development and experimental modules for testing and debugging.
Module Integration
KinematrixModules.h
Main module orchestration - includes both .h and .cpp files for enabled modules
KinematrixModulesHelper.h
Module helper functions and utilities with ENABLE_MODULE_HELPER_* definitions
KinematrixModulesNoDef.h
Header-only module inclusion using ENABLE_MODULE_NODEF_* definitions
Sensor Integration
KinematrixSensor.h
Sensor framework orchestration - includes both .h and .cpp files
KinematrixSensorHelper.h
Sensor helper functions and utilities with ENABLE_SENSOR_*_HELPER definitions
KinematrixSensorNoDef.h
Header-only sensor inclusion using ENABLE_SENSOR_*_NODEF definitions
Add-on Integration
KinematrixAddons.h
Complete application systems like AutoLight variants (V1, V2, V3)
Usage Patterns
Standard Production Usage
Helper Functions Access
Header-Only Mode
Development Mode
Triple Include System
The framework implements a consistent 3-tier architecture:Production Files
Standard ENABLE_* definitions that include both .h and .cpp files for complete module functionality
Compilation Messages
The header provides feedback during compilation:Platform Compatibility
ESP32
Full feature set with all modules
ESP8266
WiFi features with memory optimization
AVR
Basic modules with memory constraints
Benefits
Unified API
Unified API
Single include point for entire library with consistent naming conventions and platform abstraction.
Conditional Compilation
Conditional Compilation
Include only required components to optimize memory usage and reduce compilation time.
Hierarchical Organization
Hierarchical Organization
Logical grouping of functionality with clear dependency management and scalable architecture.
Memory Optimization
Memory Optimization
Selective feature inclusion with platform-appropriate optimizations reduces binary size.
Integration Points
- Compatible with PlatformIO library system
- Works with Arduino IDE
- Supports external library dependencies
- Integrates with Arduino Library Manager
Example: Full Application
See Also
- Enable Definitions - Complete list of all available enable flags
- Modules Overview - Detailed module documentation
- Sensors Guide - Sensor framework reference