Работа едновременно с Si4703 и SSD1306

alabal
Offline
Зарегистрирован: 16.06.2021

Я пытаюсь сделать радио с этими элементами и Arduino UNO. Поскольку у него мало памяти, если я использую библиотеку Ardafruit_SSD1306, код не может быть скомпилирован из-за нехватки места для видеобуфера. Если я использую SSD1306Ascii или U82lib, когда я помещаю код для инициализации дисплея, радио генерирует только шум. Если убрать, радио работает. Думаю, на шине i2c какой-то конфликт. Кто-нибудь успешно работал с обоими устройствами одновременно?

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

alabal пишет:
Кто-нибудь успешно работал с обоими устройствами одновременно?
До хрена кто работал. Это даже на проджект-хабе есть

alabal
Offline
Зарегистрирован: 16.06.2021

У меня не компилируется . Какая версия библиотеки для си4703 надо скачат чтоб работала?

b707
Offline
Зарегистрирован: 26.05.2017

alabal пишет:

У меня не компилируется .

Сообщение о ошибках скопируйте как текст и выложите сюда

alabal
Offline
Зарегистрирован: 16.06.2021

Пример от прожект хъбе проработал ппсле носколко модификации но сейчас другпй проблем. Здес функция seekup и seekdown работает като добвляет /отниюает .01 мхц от частот станции а не как в radio.h и si4703.h где находит най силной сигнал станции.

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Противно читать. Неужели лень перечитать что написал? Или это специально так?

sadman41
Offline
Зарегистрирован: 19.10.2016

Может он серб.

alabal
Offline
Зарегистрирован: 16.06.2021

Я написал это по телефону и я не русский.

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

alabal пишет:

Я написал это по телефону 

Мы то чем виноваты?

В следующий раз пишите по пылесосу.

alabal
Offline
Зарегистрирован: 16.06.2021

Американский форум: вы спрашиваете, а они отвечают. Русский форум: спрашиваешь, а тебе объясняют, какой ты тупой. :) Пожалуйста, если у вас нет ответа на мой вопрос, почему не работает seek, не пишите.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

alabal пишет:

Американский форум: вы спрашиваете, а они отвечают. 

Go to american forum please.

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

alabal пишет:

Американский форум: вы спрашиваете, а они отвечают. Русский форум: спрашиваешь, а тебе объясняют, какой ты тупой. :) 

Да, это точно. Вот здесь есть прекрасная цитата с американского форума по Некситону.

alabal пишет:

Пожалуйста, если у вас нет ответа на мой вопрос

Пожалуйста, если у Вас есть вопрос, задавайте его хотя бы с минимальным уважением к собеседнику. За посты вроде Вашего #4 я бы просто банил нахрен. Вам повезло, что у меня "руки коротки".

alabal пишет:

не пишите.

Впредь я должен спрашивать Вашего разрешения, прежде чем что-то писать? Давать Вам текст на согласование и публиковать его только после Вашего одобрения? Я правильно Вас понял?

И, да, пост #10 считаю хорошим советом для Вас.

b707
Offline
Зарегистрирован: 26.05.2017

alabal пишет:

если у вас нет ответа на мой вопрос, почему не работает seek, не пишите.

разве она не работает? - судя по вашему вопросу - работает, просто не так, как вы ожидали.

Что вы хотите от форума? - ищите другую библиотеку или сами перепишите эту функцию, чтобы она работала так, как вам надо.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

alabal пишет:

Американский форум: вы спрашиваете, а они отвечают. Русский форум: спрашиваешь, а тебе объясняют, какой ты тупой.

Тем не менее Вы пишете именно на русский форум. Зачем? Хотите, чтобы Вас назвали тупым?

Выполняю Ваше желание: Вы тупой!

Цитата:

:) Пожалуйста, если у вас нет ответа на мой вопрос, почему не работает seek, не пишите.

Про seek читаю впервые в этой теме. Вы хоть определитесь, какой у Вас вопрос. А потом постарайтесь задать его так, чтобы его хоть кто-то смог понять кроме Вас.

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

!!! ОСТОРОЖНО! ГОВНОКОД !!!

В проджектхабе ссылаются на библиотеку SparkFunSi4703 от SparkFun. Давайте на неё посмотрим. А именно, на файл SparkFunSi4703.cpp.

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

Итак, конструктор выглядит так:

Si4703_Breakout::Si4703_Breakout(int resetPin, int sdioPin, int sclkPin, int stcIntPin)
{
	_resetPin = resetPin;
	_sdioPin = sdioPin;
	_sclkPin = sclkPin;
	_stcIntPin = stcIntPin;
}

Обращаем внимание на переменную _stcIntPin в строке №10.

Идем дальше:

pinMode(_stcIntPin, OUTPUT);	//STC (search/tune complete) interrupt pin
digitalWrite(_sdioPin, LOW); //A low SDIO indicates a 2-wire interface
digitalWrite(_resetPin, LOW); //Put Si4703 into reset
digitalWrite(_stcIntPin, HIGH); //STC goes low on interrupt

в строках №№ 120 и 123 происходят, в общем-то, обычные вещи.

Далее, как выражается в таких случаях моя внучка: «Падам-м-м!!!»

while(_stcIntPin == 1) {} //Wait for interrupt indicating STC (Seek/Tune complete)

Ну, что сказать? Если Вы использовали первый пин для STC, то в этой строке Вы приплыли навечно. Если какой-то другой, то эта строка просто ничего не делает (не ждёт, как от неё ожидается).

Вполне допускаю, что здесь не особо-то и нужно чего-то ждать и всё прекрасно работает и так - не знаю. Но!!! Качество кода, как говорится, «на лицо». А уж тянуть код такого качества в свой проект или «ну его нафиг – хрен знает, что там ещё найдётся, если копнуть» - это каждый для себя сам решает.

P.S. Это я уж не говорю про то, в сроке № 120 должно быть INPUT, а не OUTPUT

samand587
Offline
Зарегистрирован: 21.02.2020

Уважаемые! Есть платы Si4703 красная и фиолетовая, соответственно версии 2 и 4. Какая разница между ними? И как заставить работать красную плату в скетче для фиолетовой платы? Спасибо!