Библиотека Radio.h
- Войдите на сайт для отправки комментариев
Здравствуйте! Начинаю изучать ардуино. Возникла необходимость быстренько сварганить ФМ радио. Использую модуль 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, присвоив их значения каким-либо переменным для дальнейших операций?
Если вопрос может показаться кому-то глупым, прошу прощения, я новичок. Если кто-либо откликнется, заранее спасибо.
А кто или что мешает использовать библиотеку TEA5767, если в ней всё необходимое есть?
Да, вопрос логичный, я так и делал, но у модуля TEA5767 имеется такая особенность: при изменении режима работы (моно\стерео) слышны помехи в динамиках. А изменение режима происходит довольно часто, если сигнал относительно слаб (при прослушке радио в помещении), и слушать становится некомфортно. А в библиотеке Radio.h имеется функция принудительной установки режима работы стерео\моно. Т.е. если радио будет работать вне здания, или на окне, где сигнал мощный, и частое переключение режима моно\стерео будет отсутствовать, можно будет активировать возможность приема стерео, и помех от переключения режима не будет. Если занести радио в дом, и режим будет скакать из моно в стерео и назад, создавая помехи - просто принудительно выставить МОНО и слушать без помех. Это удобно. Но как узнать, в каком режиме ведётся прием при отключенном принудительном режиме МОНО? С помощью radio.debugRadioInfo() можно узнать. Но только в виде текста в мониторе порта. А если, например, требуется зажечь светодиод с надписью МОНО, то уже сложнее...
Или может быть есть возможность перенести функцию принудительной установки моно/стерео из библиотеки radio.h в скетч с библиотекой TEA5767.h?
Вопрос закрыт. Разобрался.