{"id":30586916,"url":"https://github.com/lunaemons/sdrplusplus_communityedition","last_synced_at":"2025-08-29T12:04:04.018Z","repository":{"id":311241834,"uuid":"1043022889","full_name":"LunaeMons/SDRPlusPlus_CommunityEdition","owner":"LunaeMons","description":"🎵 SDR++CE Community Edition - Advanced SDR software with MPX analysis, cross-platform support for RTL-SDR, HackRF, LimeSDR, AirSpy, PlutoSDR and more. Features real-time FM broadcasting analysis, frequency scanning, and spectrum visualization.","archived":false,"fork":false,"pushed_at":"2025-08-25T06:34:25.000Z","size":40027,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-08-25T07:04:57.886Z","etag":null,"topics":["airspy","community-edition","cpp","cross-platform","dsp","fm-broadcasting","frequency-scanner","hackrf","ham-radio","limesdr","mpx-analysis","open-source","plutosdr","radio","rf","rtl-sdr","sdr","signal-processing","software-defined-radio","spectrum-analyzer"],"latest_commit_sha":null,"homepage":"https://github.com/LunaeMons/SDRPlusPlus_CommunityEdition","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LunaeMons.png","metadata":{"files":{"readme":"README_TESTS.md","changelog":null,"contributing":"contributing.md","funding":".github/FUNDING.yml","license":"license","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"patreon":"miguel-vidal-gomes"}},"created_at":"2025-08-23T01:49:07.000Z","updated_at":"2025-08-25T06:34:28.000Z","dependencies_parsed_at":"2025-08-23T02:45:31.340Z","dependency_job_id":"d8b3bafc-8052-474b-8089-25f9a26d0895","html_url":"https://github.com/LunaeMons/SDRPlusPlus_CommunityEdition","commit_stats":null,"previous_names":["miguel-vidal-gomes/sdrplusplus_communityedition","lunaemons/sdrplusplus_communityedition"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/LunaeMons/SDRPlusPlus_CommunityEdition","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LunaeMons%2FSDRPlusPlus_CommunityEdition","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LunaeMons%2FSDRPlusPlus_CommunityEdition/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LunaeMons%2FSDRPlusPlus_CommunityEdition/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LunaeMons%2FSDRPlusPlus_CommunityEdition/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LunaeMons","download_url":"https://codeload.github.com/LunaeMons/SDRPlusPlus_CommunityEdition/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LunaeMons%2FSDRPlusPlus_CommunityEdition/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272680464,"owners_count":24975267,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-29T02:00:10.610Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["airspy","community-edition","cpp","cross-platform","dsp","fm-broadcasting","frequency-scanner","hackrf","ham-radio","limesdr","mpx-analysis","open-source","plutosdr","radio","rf","rtl-sdr","sdr","signal-processing","software-defined-radio","spectrum-analyzer"],"created_at":"2025-08-29T12:01:52.914Z","updated_at":"2025-08-29T12:04:03.904Z","avatar_url":"https://github.com/LunaeMons.png","language":"C++","readme":"# SDR++ Test Suite\n\nThis directory contains a comprehensive test suite to verify SDR++ functionality and catch regressions.\n\n## Available Tests\n\n### 🏃 Quick Tests\n- `./test_final_verification.sh` - **Complete verification** (recommended)\n- `./run_all_tests.sh` - **Full test suite** (detailed diagnostics)\n\n### 🔧 Individual Tests  \n- `./test_app_startup.sh` - App launch and module loading\n- `./test_symbol_export.sh` - Library symbol verification\n- `./test_functionality.sh` - Code and build artifact checks\n\n## What the Tests Check\n\n### ✅ App Functionality\n- App bundle structure and executables\n- Module loading (radio, audio_sink, etc.)\n- RtAudio stream initialization\n- No crashes or JSON errors\n\n### ✅ Symbol Resolution\n- mpxRefreshRate symbol export\n- Library dependency resolution\n- Cross-module symbol linking\n\n### ✅ Code Integrity\n- MPX refresh rate integration\n- Safe JSON config loading\n- WFM demodulator MPX support\n\n## When to Run Tests\n\n### 🚨 Always Run Before Claiming Success\n- After making core library changes\n- After rebuilding modules\n- Before saying \"it's fixed\"\n\n### 🔍 For Debugging Issues\n- When modules fail to load\n- When app crashes on startup\n- When audio sinks disappear\n\n## Test Results Interpretation\n\n### ✅ All Tests Pass\n- App should launch properly\n- Audio devices should appear in Sinks\n- MPX analysis should work\n- Audio output should function\n\n### ❌ Tests Fail\n- **Symbol errors**: Run `./test_symbol_export.sh` for details\n- **Startup crashes**: Run `./test_app_startup.sh` for logs\n- **Module issues**: Check build artifacts with `./test_functionality.sh`\n\n## Fixed Issues (History)\n\n1. **JSON Config Crash** - Fixed missing mpxRefreshRate config handling\n2. **Symbol Resolution** - Fixed dual core library locations issue  \n3. **Module Loading** - Fixed radio and audio_sink initialization\n4. **RtAudio Streams** - Verified audio subsystem works\n5. **MPX Integration** - Moved refresh rate to Display settings\n\n---\n\n**Remember**: The test suite prevents jumping to conclusions and ensures fixes actually work! 🎯\n\n\n","funding_links":["https://patreon.com/miguel-vidal-gomes"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flunaemons%2Fsdrplusplus_communityedition","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flunaemons%2Fsdrplusplus_communityedition","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flunaemons%2Fsdrplusplus_communityedition/lists"}