Вверх ↑
Этот топик читают: Гость
Этот топик был перемещен из раздела "Помощь по среде"
Ответов: 63
Рейтинг: 1
#1: 2020-01-16 09:44:47 ЛС | профиль | цитата
Здравствуйте. Подскажите возможно ли вообще написать программу в HiAsm для приемника RTL2832U + R820T типа SDRSharp? Пусть она будет проще, но чтобы принимала FM диапазон 88-108 мГц.
карма: 1

0
vip
#1.1контекстная реклама от партнеров
Ответов: 4621
Рейтинг: 746
#2: 2020-01-16 11:41:32 ЛС | профиль | цитата
Если к приемнику есть публичный API и документация, то с большой вероятностью - можно.
карма: 26

0
Ответов: 63
Рейтинг: 1
#3: 2020-01-16 12:26:21 ЛС | профиль | цитата
Всё управление приемником построено на чипе RTL2832U.
карма: 1

0
Ответов: 4621
Рейтинг: 746
#4: 2020-01-16 13:26:38 ЛС | профиль | цитата
1) Интерфейс подключения к ПК?
2) Драйвера?
3) Библиотеки и документация для управления и получения звука с него?

Судя по результатам поиска - всё это наличествует.
карма: 26

0
Ответов: 63
Рейтинг: 1
#5: 2020-01-16 13:42:03 ЛС | профиль | цитата
1.USB
2.Есть драйвер
3.Автор проги SDRSharp мне сказал что официальная документация закрыта.
Но есть исходники этой проги, но я не силен в них. Может кто поможет?

http://www.radioscanner.ru/forum/topic49632.html

Редактировалось 1 раз(а), последний 2020-01-16 13:43:03
карма: 1

0
Ответов: 4621
Рейтинг: 746
#6: 2020-01-16 14:13:11 ЛС | профиль | цитата
Раз есть исходники и нужно просто что-то поправить в той программе - то лучше их же и редактировать и компилировать.
Функционал подобных программ основан на библиотеке librtlsdr.dll. В HiAsm можно писать компоненты, вызывая функции этой библиотеки.

Документация по функциях: https://github.com/steve-m/librtlsdr/blob/master/include/rtl-sdr.h
Сама библиотека: https://ftp.osmocom.org/binaries/windows/rtl-sdr/

В архиве библиотеки есть консольные утилиты для минимальной работы и тестов. В зависимости от их функционала можно обойтись без программирования, используя их в HiAsm через консоль.

Редактировалось 1 раз(а), последний 2020-01-16 14:15:43
карма: 26

0
Ответов: 63
Рейтинг: 1
#7: 2020-01-16 14:23:37 ЛС | профиль | цитата
Спасибо Netspirit.
Вот ещё что нашел http://we.easyelectronics.ru/teplofizik/rabota-s-sdr-svistkami-na-c-rtl2832.html
Но хотелось бы не поправить, а в HiAsme написать т.к. там для меня удобней другие функции сделать. Например отправить данные с приемника по интернету.

--- Добавлено в 2020-01-16 14:36:09

Ну а с чего мне начинать? Хотя бы начало схемы в HiAsm можете помочь написать?

Редактировалось 4 раз(а), последний 2020-01-16 14:36:09
карма: 1

0
Ответов: 4621
Рейтинг: 746
#8: 2020-01-16 14:59:50 ЛС | профиль | цитата
Andrej77rv писал(а):
Ну а с чего мне начинать?
С изучения программирования на языке Delphi. А также на языке C на уровне понимания сделанных в нем заголовочных файлов библиотеки и примеров программ.

Программирование на языке Delphi в HiAsm - с компонента InlineCode и кодов других компонентов:
Add(MainForm,2953706,21,105)
{
Position=1
}
Add(Button,10504036,105,105)
{
Left=70
Top=35
link(onClick,11970995:doWork,[])
}
Add(InlineCode,11970995,189,105)
{
WorkPoints=#6:doWork|
EventPoints=#8:onResult|
VarPoints=#4:Var1|4:Var2|
DataPoints=#5:Data1|5:Data2|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|4:uses|29: Windows, KOL, Share, Debug;|0:|4:type|29: THiAsmClass = class(TDebug)|11: private|0:|10: public|30: Data1, Data2: THI_Event;|29: onResult: THI_Event; |54: procedure doWork(var _Data: TData; Index: Word);|52: procedure Var1(var _Data: TData; Index: Word);|52: procedure Var2(var _Data: TData; Index: Word);|6: end;|0:|14:implementation|0:|0:|0:|60:procedure THiAsmClass.doWork(var _Data: TData; Index: Word);|3:var|13: S: string; |5:begin|36: S := ReadString(_Data, Data1, '');|27: _hi_OnEvent(onResult, S);|2: |34: // ReadInteger(_Data, Data2, 0);|42: // _hi_CreateEvent(_Data, @onResult, 0);|33: //_hi_OnEvent(onResult, 'abc');|4:end;|0:|0:|59:procedure THiAsmClass.Var1(var _Data: TData; Index: Word); |5:begin|22: dtInteger(_Data, 0);|4:end;|0:|59:procedure THiAsmClass.Var2(var _Data: TData; Index: Word); |5:begin|22: dtString(_Data, '');|4:end;|0:|4:end.|
link(onResult,11561346:doMessage,[])
link(Data1,12352069:Text,[])
}
Add(Edit,12352069,189,49)
{
Left=70
Top=5
}
Add(Message,11561346,245,105)
{
Caption="Caption"
}
Сделать это с 0 - непростая и длительная задача.

Редактировалось 3 раз(а), последний 2020-01-16 15:02:29
карма: 26

0
Ответов: 63
Рейтинг: 1
#9: 2020-01-16 16:13:01 ЛС | профиль | цитата
Последнюю ссылку которую я дал там вроде все просто.
карма: 1

0
Ответов: 4621
Рейтинг: 746
#10: 2020-01-16 16:58:06 ЛС | профиль | цитата
В Hiasm.NET может и проще будет (в режиме copy-paste). Но все равно надо немного понимать в программировании на C#.
карма: 26

0
Ответов: 63
Рейтинг: 1
#11: 2020-01-18 09:13:55 ЛС | профиль | цитата
В общем все просто. Через cmd и файл rtl_sdr.exe можно получить данные в dat-файле I- и Q-потоков, идут поочередно. Команда: rtl_sdr -f 102500000 -g 34 -s 2048000 out.dat

частота в Гц, усиление, частота дискретизации. Как мне сделать теперь тоже самое только в HiAsm?

Редактировалось 2 раз(а), последний 2020-01-18 12:05:12
карма: 1

0
Ответов: 63
Рейтинг: 1
#12: 2020-01-18 14:49:54 ЛС | профиль | цитата
Получил данные в файле с помощью компонента WinExec. Остался последний шаг обработать данные I/Q и написать алгоритм декодирования с частотной модуляцией. Кто нибудь знает как это сделать? Вот здесь есть, но не совсем понятно https://radioprog.ru/post/542

Редактировалось 2 раз(а), последний 2020-01-18 15:03:36
карма: 1

0
Главный модератор
Ответов: 2997
Рейтинг: 395
#13: 2020-01-18 15:55:17 ЛС | профиль | цитата
Andrej77rv писал(а):
Остался последний шаг

«Последний шаг»
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 63
Рейтинг: 1
#14: 2020-01-18 16:00:08 ЛС | профиль | цитата
Nic я хочу написать прогу, но почему то никто не может помочь.
карма: 1

0
Главный модератор
Ответов: 2997
Рейтинг: 395
#15: 2020-01-18 16:34:15 ЛС | профиль | цитата
Andrej77rv писал(а):
...но почему то никто не может помочь

https://forum.hiasm.com/post/298238
К тому же диапазон Ваших запросов колеблется от простых, ответ на которые Вы можете самостоятельно найти, нажав клавишу F1 в приложении, и до очень сложных, касающихся вычисления амплитуды комплексного числа. Ответы на сложные вопросы могут дать только несколько человек на данном форуме, но они или ещё не прочитали Ваше сообщение или … ну сами придумайте чем они заняты
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)