Библиотека Radio.h

Angie
Offline
Зарегистрирован: 17.05.2021

Здравствуйте! Начинаю изучать ардуино. Возникла необходимость быстренько сварганить ФМ радио. Использую модуль TEA5767. Подключаю библиотеку Radio.h  (https://github.com/mathertel/Radio)

Всё работает отлично, вопросов нет. Но не могу понять, как получить значение текущего уровня сигнала и количество принимаемых каналов (моно/стерео). Имеется такая функция как radio.debugRadioInfo(); которая выводит на монитор серийного порта различную отладочную информацию, включая уровень сигнала и режим моно/стерео. Но получить конкретно режим (моно/стерео) либо конкретно уровень сигнала rssi я не могу, не хватает соображалки.

Например, в библиотеке TEA5767.h (https://github.com/andykarpov/TEA5767) эта функция реализована просто:

unsigned char buf[5];
  int stereo;
  int signal_level;

if (Radio.read_status(buf) == 1) {
    stereo = Radio.stereo(buf);
    signal_level = Radio.signal_level(buf);

а в библиотеке Radio.h таких функций нет, только radio.debugRadioInfo(); которая в виде текста скопом выводит кучу информации. Как можно выдернуть из этих данных конкретно моно/стерео и rssi, присвоив их значения каким-либо переменным для дальнейших операций?

Если вопрос может показаться кому-то глупым, прошу прощения, я новичок. Если кто-либо откликнется, заранее спасибо.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

А кто или что мешает использовать библиотеку TEA5767, если в ней всё необходимое есть?

Angie
Offline
Зарегистрирован: 17.05.2021

Да, вопрос логичный, я так и делал, но у модуля TEA5767 имеется такая особенность: при изменении режима работы (моно\стерео) слышны помехи в динамиках. А изменение режима происходит довольно часто, если сигнал относительно слаб (при прослушке радио в помещении), и слушать становится некомфортно. А в библиотеке Radio.h имеется функция принудительной установки режима работы стерео\моно. Т.е. если радио будет работать вне здания, или на окне, где сигнал мощный, и частое переключение режима моно\стерео будет отсутствовать, можно будет активировать возможность приема стерео, и помех от переключения режима не будет. Если занести радио в дом, и режим будет скакать из моно в стерео и назад, создавая помехи - просто принудительно выставить МОНО и слушать без помех. Это удобно. Но как узнать, в каком режиме ведётся прием при отключенном принудительном режиме МОНО? С помощью radio.debugRadioInfo() можно узнать. Но только в виде текста в мониторе порта. А если, например, требуется зажечь светодиод с надписью МОНО, то уже сложнее...

Angie
Offline
Зарегистрирован: 17.05.2021

Или может быть есть возможность перенести функцию  принудительной установки моно/стерео из библиотеки radio.h в скетч с библиотекой TEA5767.h?

Angie
Offline
Зарегистрирован: 17.05.2021

Вопрос закрыт. Разобрался.