[phpBB Debug] PHP Warning: in file [ROOT]/viewtopic.php on line 101: file_get_contents(http://ip-api.com/json/18.118.144.69?fields=countryCode): failed to open stream: HTTP request failed! HTTP/1.1 429 Too Many Requests
UR5FFR • Универсальный синтезатор Si570/Si5351 - Page 29
Page 29 of 39

Re: Универсальный синтезатор Si570/Si5351

Posted: 28 Jul 2021, 09:56
by SWL
Ок, спасибо.

Re: Универсальный синтезатор Si570/Si5351

Posted: 28 Jul 2021, 22:38
by UR5FFR
Не, так не будет работать. Вот как надо

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

Posted: 28 Jul 2021, 22:43
by UR5FFR
Но можно еще проще - 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

Posted: 29 Jul 2021, 05:58
by SWL
Спасибо, вечером проверю.
Привязки к бэндам не хочу, так как в пределах одного бэнда (прописанного в скетче) могут встречаться и любительские и вещательные ( например диапазон 7....8 МГц зашит в синтезатор).
И в зависимости от частоты индицируется 40м аматорский или
41м вещательный. Т.е. я хочу индицировать то, что пропишу сам в соответствии с частотой. И в пределах одного бэнда может быть несколько разных индикаций. Причем даже если в разных диапазонах (в конце одного и начале другого) лежит нужная мне индикация, то она включится именно от частоты.

Re: Универсальный синтезатор Si570/Si5351

Posted: 30 Jul 2021, 08:46
by SWL
Здравствуйте, Андрей!
Проверил, все работает.
Добавил код для отображения буквы "М" ниже индикации диапазона ( иначе "М" закрывает часть десятков МГц, если в один ряд) и отмену индикации, если находимся между индицируемыми диапазонами (иначе индицировало "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

Posted: 30 Jul 2021, 10:39
by UR5VCP
Прилетел мне вместо сишек, которые выехали из литвы 10 числа, индикатор, размером 0,91дюйма, и пока жду код для прошивки и сишки (прошивки фронтенда) то думаю присобачить два индикатора, один 16*2 а второй на 0,9дюйма. На нем частоту хочу БАЛЬШИМИ циферками, а на втором рит сплит и всякие прочее. В задуманной мной хотелке )) не надо сметра или ксв шкалы, ибо будет аналоговый прибор со стрелочкой.
Собственно вопрос: Андрей Николаевич, оно получится? В АТУ100 точно такой же индикатор, смотреться на панели будет классно! только вот можно на одну шину их посадить? по идее да...

Re: Универсальный синтезатор Si570/Si5351

Posted: 30 Jul 2021, 10:55
by UR5FFR
Получится. Но код писать я не буду :)

Re: Универсальный синтезатор Si570/Si5351

Posted: 31 Jul 2021, 09:31
by UR5VCP
UR5FFR wrote:Получится. Но код писать я не буду :)
неее, это я сам )) Врядли кому такой вариант пригодится ) Очень уж специфично я задумал... Я в плане того что на шине оно дружить все вместе будет? Просто подключить второй тип дисплея надо, ну а вывод то уже другое дело, разберусь.

Re: Универсальный синтезатор Si570/Si5351

Posted: 31 Jul 2021, 14:57
by UR5FFR
На шине они не конфликтуют - адреса разные

Re: Универсальный синтезатор Si570/Si5351

Posted: 10 Aug 2021, 15:32
by SWL
Добрый день, Андрей!
Можно ли как-то присобачить вот это
https://robotchip.ru/obzor-sensornogo-datchika-ttp223/
на замену кнопкам без лишней возни с кодом и железом?
12-ти кнопочная клавиатура.
Может через диодный кодер?