Skip to content

Пакет библиотеки классов управления SDR HackRF One

License

Notifications You must be signed in to change notification settings

Infarh/MathCore.HackRF

Repository files navigation

MathCore.HackRF

.NET License: MIT NuGet

C# библиотека для управления SDR-устройством HackRF One. Предоставляет высокоуровневую обёртку над нативной библиотекой hackrf.dll с безопасным управлением ресурсами.

🚀 Возможности

  • Полный контроль над HackRF One через простой C# API
  • Поддержка приёма и передачи данных в реальном времени
  • Автоматическое управление ресурсами с SafeHandle
  • Развёртка частот (линейная и псевдослучайная)
  • Настройка всех радиопараметров (частота, усиление, фильтры)
  • Поддержка множественных устройств

📋 Системные требования

  • .NET 8.0 или .NET 9.0
  • Windows x64
  • HackRF One или совместимое устройство
  • Установленные драйверы HackRF

🛠️ Структура проекта

MathCore.HackRF/
├── MathCore.HackRF/           # Основная библиотека
│   ├── HackRFLib.cs          # Главный класс с P/Invoke методами
│   ├── TransferInfo.cs       # Структура передачи данных
│   ├── DeviceListSafeHandle.cs # Безопасная работа с устройствами
│   └── *.cs                  # Перечисления и вспомогательные классы
├── Tests/
│   ├── MathCore.HackRFTests/ # Unit тесты
│   └── MathCore.HackRF.ConsoleTests/ # Консольные тесты
└── README.md                 # Документация репозитория

🔧 Сборка проекта

Требования для разработки

  • Visual Studio 2022 или JetBrains Rider
  • .NET SDK 9.0
  • Git

Команды сборки

# Клонирование репозитория
git clone https://github.com/infarh/mathcore.hackrf.git
cd mathcore.hackrf

# Восстановление пакетов
dotnet restore

# Сборка решения
dotnet build

# Запуск тестов
dotnet test

# Создание NuGet пакета
dotnet pack --configuration Release

📦 NuGet пакет

Пакет доступен в NuGet Gallery:

dotnet add package MathCore.HackRF

🧪 Тестирование

Проект содержит два типа тестов:

  • Unit тесты (MathCore.HackRFTests) - тестирование логики без реального оборудования
  • Консольные тесты (MathCore.HackRF.ConsoleTests) - интеграционные тесты с реальным HackRF

Для запуска консольных тестов необходимо подключённое HackRF устройство.

📖 Документация

Подробная документация по использованию библиотеки находится в README пакета.

🤝 Участие в разработке

  1. Форкните репозиторий
  2. Создайте ветку для новой функции (git checkout -b feature/amazing-feature)
  3. Сделайте коммит изменений (git commit -m 'Add amazing feature')
  4. Отправьте изменения в ветку (git push origin feature/amazing-feature)
  5. Создайте Pull Request

Стандарты кодирования

  • Используйте русские комментарии (см. .github/copilot-instructions.md)
  • Следуйте соглашениям именования .NET
  • Покрывайте новый код тестами
  • Обновляйте XML документацию для публичных методов

📝 Лицензия

Проект распространяется под лицензией MIT.

👨‍💻 Автор

Шмачилин Павел

🔗 Полезные ссылки

About

Пакет библиотеки классов управления SDR HackRF One

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages