Fobos SDR та SDR++: чому варто використовувати плагін від RigExpert

Fobos SDR підтримує роботу із SDR++, однак рівень підтримки залежить від того, який модуль (plugin) використовується. Для отримання повного функціоналу Fobos SDR ми рекомендуємо використовувати SDR++ Plugin від RigExpert, який розроблений спеціально для Fobos SDR і підтримує всі можливості пристрою.
Plugin доступний на GitHub: rigexpert/SDRPlusPlus .
Базова підтримка Fobos SDR в офіційному проєкті SDR++ реалізована лише частково та орієнтована на Standard API. Через це частина можливостей приймача недоступна або працює з обмеженнями.
Плагін RigExpert, натомість, забезпечує повну інтеграцію з Fobos SDR та використовує всі доступні можливості API пристрою.
Основні переваги плагіна RigExpert: порівняно зі стандартною реалізацією підтримки Fobos SDR, плагін RigExpert забезпечує:
- повну підтримку API Fobos SDR;
- відображення версії бібліотеки API, прошивки та ревізії пристрою;
- зміну частоти дискретизації на ходу (без перезапуску SDR++);
- перемикання RF/HF-входів на ходу;
- нативну роботу з HF-каналами;
- підтримку режиму IQ HF1 + HF2;
- керування GPIO;
- оптимізоване використання USB та процесора;
- стабільну роботу навіть при використанні кількох приймачів одночасно.
Покращена продуктивність: однією з ключових переваг плагіна RigExpert є оптимізована архітектура передачі даних. Плагін використовує асинхронний режим роботи USB із буферизацією, що дозволяє:
- зменшити навантаження на USB-контролер;
- знизити навантаження на процесор при роботі з вузькими смугами;
- підвищити стабільність приймання;
- мінімізувати ризик втрати даних під час високошвидкісного приймання.
Додаткові можливості: плагін RigExpert також підтримує функції, яких немає у стандартній реалізації:
- коректне отримання інформації про пристрій;
- повне керування ресурсами після завершення роботи;
- повну перевірку результатів усіх викликів API;
- підтримку GPIO;
- динамічну зміну параметрів роботи приймача без перепідключення пристрою.
Технічне порівняння:
| Опції, що порівнюються | Офіційний проєкт SDR++ | RigExpert плагін SDR++ |
| Включення підтримки у вихідному коді | За умовчанням відключена, потрібно редагувати рецепт збірки | Включена за умовчанням, нічого редагувати не потрібно |
| Реалізація прийому потоку | Синхронна (не основна для libusb та libfobos, для високих швидкостей може виявитись нестабільною) | Асинхронна (основна для libusb та libfobos, бажана для високих швидкостей потоку) |
| Розмір буфера | sampleRate/400 – це дуже мало, це дуже часті транзакції, це погано впливає на USB інфраструктуру, може викликати порушення цілісності потоку | Постійний 131072, мінімальний вплив на USB інфраструктуру |
| Кількість USB буферів | 1, бо синхронний режим | 32 |
| У деструкторі
~FobosSDRSourceModule() |
// Nothing to do – це неправильно | Зупиняються потоки, закривається з’єднання з пристроєм, вивільняються ресурси |
| Отримання інформації про бібліотеку API та пристрій | Відсутнє | Реалізоване за всіма привилами |
| Перевірка результатів, що повертаються функціями API | Спрощена, перевіряються лише основні функції | Повна, перевіряються всі результати |
| Керування лініями GPO | Не реалізовано | Реалізовано |
| Зміна частоти дискретизації «на льоту» | Не реалізована | Реалізована |
| Зміна входів сигналу «на ходу» | Не реалізована | Реалізована |
380 91 481 81 73