Modern, robust, and highly configurable communication protocol stack for resource-constrained embedded systems.
- Multi-instance architecture: Support multiple independent protocol stacks
- Zero-copy optimization: Minimize memory bandwidth and CPU overhead
- Compile-time configuration: Eliminate unused code through Kconfig
- Thread safety: Optional mutex protection for RTOS environments
- Bare-metal support: Run without RTOS dependencies
- Minimal footprint: 32KB RAM, 50KB Flash for basic configuration
- Industrial quality: Comprehensive testing, documentation, and CI/CD
# Configure with CMake presets
cmake --preset debug
# Build
cmake --build build/debug
# Run tests
ctest --preset test#include <xgl/xgl.h>
int main(void) {
/* Get default configuration */
xgl_config_t config;
xgl_config_get_default(&config);
/* Create protocol instance */
xgl_handle_t handle = xgl_create(&config);
/* Initialize */
xgl_init(handle);
/* Use the protocol... */
/* Cleanup */
xgl_destroy(handle);
return 0;
}- CMake 3.21+
- C11 compiler (GCC, Clang, or MSVC)
- C++17 compiler (for tests)
- Google Test 1.14.0 (automatically fetched)
Copyright (c) 2026 Nexus Team
See CONTRIBUTING.md for guidelines.