Универсальный синтезатор Si570/Si5351
Re: Универсальный синтезатор Si570/Si5351
Ок, спасибо.
Re: Универсальный синтезатор Si570/Si5351
Не, так не будет работать. Вот как надо
Code: Select all
static byte last_bands = 0xFF;
byte bands = 0;
long freq = trx.state.VFO[trx.GetVFOIndex()];
if (freq > 1810000 && freq < 2000000 ) bands = 160;
else if (freq > 3500000 && freq < 3800000 ) bands = 80;
else if (freq > 7000000 && freq < 7200000 ) bands = 40;
else if (freq > 14000000 && freq < 14350000 ) bands = 20;
else if (freq > 21000000 && freq < 21450000 ) bands = 15;
if (bands != last_bands) {
// очищаем
drawBtn(0, 35, 55, 33, " ", ILI9341_BLACK, ILI9341_BLACK);
// рисуем
tft.setTextColor(ILI9341_WITE);
tft.setFont(&Tahoma18);
tft.setTextSize(1);
tft.setCursor(0, 70);
tft.print(bands);
// запоминаем что нарисовали
last_bands = bands;
}
Re: Универсальный синтезатор Si570/Si5351
Но можно еще проще - trx.BandIndex содержит номер диапазона от 0.
Code: Select all
static *char[] bands = {"160","80","40","20","15"};
static byte last_bands = 0xFF;
if (trx.BandIndex != last_bands) {
// очищаем
drawBtn(0, 35, 55, 33, " ", ILI9341_BLACK, ILI9341_BLACK);
// рисуем
drawBtn(0, 35, 55, 33, bands[trx.BandIndex], ILI9341_BLACK, ILI9341_BLACK);
// запоминаем что нарисовали
last_bands = trx.BandIndex;
}
Re: Универсальный синтезатор Si570/Si5351
Спасибо, вечером проверю.
Привязки к бэндам не хочу, так как в пределах одного бэнда (прописанного в скетче) могут встречаться и любительские и вещательные ( например диапазон 7....8 МГц зашит в синтезатор).
И в зависимости от частоты индицируется 40м аматорский или
41м вещательный. Т.е. я хочу индицировать то, что пропишу сам в соответствии с частотой. И в пределах одного бэнда может быть несколько разных индикаций. Причем даже если в разных диапазонах (в конце одного и начале другого) лежит нужная мне индикация, то она включится именно от частоты.
Привязки к бэндам не хочу, так как в пределах одного бэнда (прописанного в скетче) могут встречаться и любительские и вещательные ( например диапазон 7....8 МГц зашит в синтезатор).
И в зависимости от частоты индицируется 40м аматорский или
41м вещательный. Т.е. я хочу индицировать то, что пропишу сам в соответствии с частотой. И в пределах одного бэнда может быть несколько разных индикаций. Причем даже если в разных диапазонах (в конце одного и начале другого) лежит нужная мне индикация, то она включится именно от частоты.
Re: Универсальный синтезатор Si570/Si5351
Здравствуйте, Андрей!
Проверил, все работает.
Добавил код для отображения буквы "М" ниже индикации диапазона ( иначе "М" закрывает часть десятков МГц, если в один ряд) и отмену индикации, если находимся между индицируемыми диапазонами (иначе индицировало "0" все время, кроме индикации диапазонов).
Большое спасибо за помощь!
Проверил, все работает.
Добавил код для отображения буквы "М" ниже индикации диапазона ( иначе "М" закрывает часть десятков МГц, если в один ряд) и отмену индикации, если находимся между индицируемыми диапазонами (иначе индицировало "0" все время, кроме индикации диапазонов).
Большое спасибо за помощь!
Code: Select all
if (bands != last_bands) {
drawBtn(0, 35, 45, 50, " ", ILI9341_BLACK, ILI9341_BLACK);
tft.setTextColor(ILI9341_YELLOW);
tft.setFont(&Tahoma18);
tft.setTextSize(1);
tft.setCursor(5, 60);
tft.print(bands);
tft.setCursor(10, 80);
tft.print("M");
if (bands !=0 ) {
tft.setTextColor(ILI9341_YELLOW);
tft.setFont(&Tahoma18);
tft.setTextSize(1);
tft.setCursor(5, 60);
tft.print(bands);
}
else {
drawBtn(0, 35, 45, 50, " ", ILI9341_BLACK, ILI9341_BLACK);
}
last_bands = bands;
}
Re: Универсальный синтезатор Si570/Si5351
Прилетел мне вместо сишек, которые выехали из литвы 10 числа, индикатор, размером 0,91дюйма, и пока жду код для прошивки и сишки (прошивки фронтенда) то думаю присобачить два индикатора, один 16*2 а второй на 0,9дюйма. На нем частоту хочу БАЛЬШИМИ циферками, а на втором рит сплит и всякие прочее. В задуманной мной хотелке )) не надо сметра или ксв шкалы, ибо будет аналоговый прибор со стрелочкой.
Собственно вопрос: Андрей Николаевич, оно получится? В АТУ100 точно такой же индикатор, смотреться на панели будет классно! только вот можно на одну шину их посадить? по идее да...
Собственно вопрос: Андрей Николаевич, оно получится? В АТУ100 точно такой же индикатор, смотреться на панели будет классно! только вот можно на одну шину их посадить? по идее да...
Re: Универсальный синтезатор Si570/Si5351
Получится. Но код писать я не буду 

Re: Универсальный синтезатор Si570/Si5351
неее, это я сам )) Врядли кому такой вариант пригодится ) Очень уж специфично я задумал... Я в плане того что на шине оно дружить все вместе будет? Просто подключить второй тип дисплея надо, ну а вывод то уже другое дело, разберусь.UR5FFR wrote:Получится. Но код писать я не буду
Re: Универсальный синтезатор Si570/Si5351
На шине они не конфликтуют - адреса разные
Re: Универсальный синтезатор Si570/Si5351
Добрый день, Андрей!
Можно ли как-то присобачить вот это
https://robotchip.ru/obzor-sensornogo-datchika-ttp223/
на замену кнопкам без лишней возни с кодом и железом?
12-ти кнопочная клавиатура.
Может через диодный кодер?
Можно ли как-то присобачить вот это
https://robotchip.ru/obzor-sensornogo-datchika-ttp223/
на замену кнопкам без лишней возни с кодом и железом?
12-ти кнопочная клавиатура.
Может через диодный кодер?
- Attachments
-
- 1.JPG (8.3 KiB) Viewed 6796 times