-
Notifications
You must be signed in to change notification settings - Fork 13
Home
Lunae Mons Research edited this page Sep 1, 2025
·
2 revisions
Welcome to the SDR++CE (Community Edition) developer documentation wiki. This comprehensive guide covers the architecture, development patterns, and best practices for contributing to SDR++CE.
- Core Architecture - Application lifecycle, configuration, and global objects
- Core Internals - Deep dive into initialization, module loading, and backend systems
- Backend Architecture - Platform-specific implementations (GLFW, Android)
- Module System Overview - Plugin architecture and module types
- Module Development Guide - Creating source, decoder, and sink modules
- Module Internals - Inter-module communication and advanced patterns
- Signal Path DSP - DSP pipeline, threading model, and data flow
- DSP Internals - Deep dive into DSP blocks, optimization, and debugging
- UI System - ImGui integration, threading patterns, and module UI
- UI Internals - Waterfall widget, custom rendering, and performance
- Architecture Overview - High-level system understanding
- Development Setup - Build environment and tools
- AI-Assisted Development - Using Cursor IDE and AI for development
- Contributing Guidelines - Code style and submission process
- Module Quick Start - Create your first module
- Module Patterns - Common development patterns
- Module API Reference - Complete API documentation
SDR++CE includes comprehensive AI assistance configuration for modern development workflows:
-
Pre-configured Cursor IDE setup with
.cursorrulesfor SDR/DSP development - Context-aware code generation that understands real-time constraints
- Architecture-specific guidance for threading, performance, and cross-platform development
- Intelligent debugging assistance for complex DSP and threading issues
→ AI-Assisted Development - Learn how to leverage AI for faster, better SDR++CE development
SDR++CE uses a strict threading model:
- UI Thread: ImGui rendering, user interaction, configuration
- DSP Thread: Real-time signal processing, no blocking operations
- Module Threads: Plugin-specific processing
- Config Thread: Auto-save and persistence
- No heap allocations in DSP threads
- No blocking I/O or contended locks
- Atomic variables for UI-to-DSP communication
- Mutex-protected data structures where needed
- Plugin-based extensibility
- Clean separation of concerns
- Thread-safe inter-module communication
- Configuration persistence
- Issues: Check existing GitHub issues for known problems
- Discussions: Use GitHub Discussions for architecture questions
- Code Review: Submit draft PRs for early feedback
- Community: Join the SDR++ community for support
This documentation is maintained by the SDR++CE community. Contributions and improvements are welcome!