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

SWL
Posts: 94
Joined: 23 Feb 2021, 10:53
Позывной: SWL

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

Post by SWL »

Ок, спасибо.
UR5FFR
Site Admin
Posts: 2187
Joined: 21 Apr 2012, 22:00
Позывной: UR5FFR
Location: Odessa

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

Post 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;
  } 
UR5FFR
Site Admin
Posts: 2187
Joined: 21 Apr 2012, 22:00
Позывной: UR5FFR
Location: Odessa

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

Post 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;
  } 
SWL
Posts: 94
Joined: 23 Feb 2021, 10:53
Позывной: SWL

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

Post by SWL »

Спасибо, вечером проверю.
Привязки к бэндам не хочу, так как в пределах одного бэнда (прописанного в скетче) могут встречаться и любительские и вещательные ( например диапазон 7....8 МГц зашит в синтезатор).
И в зависимости от частоты индицируется 40м аматорский или
41м вещательный. Т.е. я хочу индицировать то, что пропишу сам в соответствии с частотой. И в пределах одного бэнда может быть несколько разных индикаций. Причем даже если в разных диапазонах (в конце одного и начале другого) лежит нужная мне индикация, то она включится именно от частоты.
SWL
Posts: 94
Joined: 23 Feb 2021, 10:53
Позывной: SWL

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

Post 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;
  }   
UR5VCP
Posts: 196
Joined: 05 Mar 2020, 15:18
Позывной: UR5VCP

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

Post by UR5VCP »

Прилетел мне вместо сишек, которые выехали из литвы 10 числа, индикатор, размером 0,91дюйма, и пока жду код для прошивки и сишки (прошивки фронтенда) то думаю присобачить два индикатора, один 16*2 а второй на 0,9дюйма. На нем частоту хочу БАЛЬШИМИ циферками, а на втором рит сплит и всякие прочее. В задуманной мной хотелке )) не надо сметра или ксв шкалы, ибо будет аналоговый прибор со стрелочкой.
Собственно вопрос: Андрей Николаевич, оно получится? В АТУ100 точно такой же индикатор, смотреться на панели будет классно! только вот можно на одну шину их посадить? по идее да...
UR5FFR
Site Admin
Posts: 2187
Joined: 21 Apr 2012, 22:00
Позывной: UR5FFR
Location: Odessa

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

Post by UR5FFR »

Получится. Но код писать я не буду :)
UR5VCP
Posts: 196
Joined: 05 Mar 2020, 15:18
Позывной: UR5VCP

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

Post by UR5VCP »

UR5FFR wrote:Получится. Но код писать я не буду :)
неее, это я сам )) Врядли кому такой вариант пригодится ) Очень уж специфично я задумал... Я в плане того что на шине оно дружить все вместе будет? Просто подключить второй тип дисплея надо, ну а вывод то уже другое дело, разберусь.
UR5FFR
Site Admin
Posts: 2187
Joined: 21 Apr 2012, 22:00
Позывной: UR5FFR
Location: Odessa

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

Post by UR5FFR »

На шине они не конфликтуют - адреса разные
SWL
Posts: 94
Joined: 23 Feb 2021, 10:53
Позывной: SWL

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

Post by SWL »

Добрый день, Андрей!
Можно ли как-то присобачить вот это
https://robotchip.ru/obzor-sensornogo-datchika-ttp223/
на замену кнопкам без лишней возни с кодом и железом?
12-ти кнопочная клавиатура.
Может через диодный кодер?
Attachments
1.JPG
1.JPG (8.3 KiB) Viewed 3974 times
Post Reply