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

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

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

Post by SWL »

SWL wrote: Подскажите как мне исключить RIT, SPLIT и QRP (т.к у меня только RX).
Вместо них вывести управление подавителем импульсных помех, вырезанием помехи в полосе фильтра,
ну и если у UR5VCP получится, то двигать ПЧ.
Надеюсь не сильно сложные хотелки (сдвиг ПЧ не в счёт :D )? ;)
Пы.Сы. В принципе режимы исключать не надо- только перенаправить на пины ардуинки с отключением
функций RIT, SPLIT и QRP ,и включением и индикацией новых режимов (ну шоб код не перелопачивать весь).
Я пока не пойму как :(
Всё ещё актуально :D
UR5FFR
Site Admin
Posts: 2272
Joined: 21 Apr 2012, 22:00
Позывной: UR5FFR
Location: Odessa

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

Post by UR5FFR »

Лучше вместо переменных использовать дефайны - меньше памяти потребляет. В остальном все норм.

Code: Select all

#define AMPin A0
#define FMPin  A1
По поводу RIT, SPLIT и QRP. Эти флажки достаточно сильно завязаны на логику работы синтезатора. Лучше ихз не использовать. А вот кнопки переназначить на свои потребности - можно. Заводим переменную-состояние в Syntez.ino где-то в самом начале модуля

Code: Select all

byte f1 = 0; // rit
byte f2 = 0; // split
byte f3 = 0; // qrp
Обрабатываем нажатие в

Code: Select all

      } else {
        delay_cmd_tm = millis();
      }
#endif  
    } else {
      if (cmd == cmdRIT) f1 ^= 1; // инверсия
      else if (cmd == cmdSPLIT) f2 ^= 1;
      else if (cmd == cmdQRP) f3 ^= 1;
      else trx.ExecCommand(cmd);
    }
В UpdateBandCtrl() выводите f1/f2/f3 на нужные пины. В модуле дисплея отображаете что надо в зависимости от того включены они или нет. Как-то так
SWL
Posts: 94
Joined: 23 Feb 2021, 10:53
Позывной: SWL

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

Post by SWL »

Спасибо, Андрей!
Вечером попробую реализовать.

А то, что не выводит AMW на дисплей? Это может зависеть от

Code: Select all

drawBtn(50, 0, 50, 33, Modes[mode].name, ILI9341_BLACK, ILI9341_BLUE);
в disp_ILI9341.h ?

Если сделать так:

Code: Select all

drawBtn(45, 0, 55, 33, Modes[mode].name, ILI9341_BLACK, ILI9341_BLUE);
Last edited by SWL on 18 May 2021, 11:33, edited 1 time in total.
UR5FFR
Site Admin
Posts: 2272
Joined: 21 Apr 2012, 22:00
Позывной: UR5FFR
Location: Odessa

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

Post by UR5FFR »

Аккуратнее с цитирование. Почему не выводит - не знаю. Шрифт точно подменили? Упакованный должен быть в файле Tahoma18.pck.h
SWL
Posts: 94
Joined: 23 Feb 2021, 10:53
Позывной: SWL

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

Post by SWL »

Code: Select all

      } else {
        delay_cmd_tm = millis();
      }
#endif  
    } else {
      if (cmd == cmdRIT) f1 ^= 1; // инверсия
      else if (cmd == cmdSPLIT) f2 ^= 1;
      else if (cmd == cmdQRP) f3 ^= 1;
      else trx.ExecCommand(cmd);
    }
Андрей, а куда вставить этот код?
В Keypad_12_I2C.cpp ?

Code: Select all

 for (byte row=0; row <= 2; row++) {
      pcf8574_write(~(1<<row));
      switch (~(pcf8574_byte_read() >> 4) & 0xF) {
        case 0x1: return row;
        case 0x2: return 0x10+row;
        case 0x4: return 0x20+row;
        case 0x8: return 0x30+row;
      }
здесь вставить?
Смущают открытые скобки :oops:


Шрифт точно подменил. Мелкий тахома8 выводит AMW, а тахома18- нет.
Сегодня нагенерил тахом от 9 до 17- буду эксперементировать со шрифтами и шириной выводимой области.
Мелкую тахому 8 подменял переименовыванием в 18 :)

И что не так с цитированием- объясните,пожалуйста? Исправлюсь :oops:
UR5FFR
Site Admin
Posts: 2272
Joined: 21 Apr 2012, 22:00
Позывной: UR5FFR
Location: Odessa

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

Post by UR5FFR »

В Syntez.ino найдите trx.ExecCommand(cmd); и туда вставьте.
Насчет цитирования - оверквотинг - вы процитировали все мое сообщение что собственно не нужно
SWL
Posts: 94
Joined: 23 Feb 2021, 10:53
Позывной: SWL

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

Post by SWL »

Relayer wrote: Насчет цитирования - оверквотинг - вы процитировали все мое сообщение что собственно не нужно
Ок,понял,исправляюсь :oops:
SWL
Posts: 94
Joined: 23 Feb 2021, 10:53
Позывной: SWL

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

Post by SWL »

Relayer wrote:
else if (cmd == cmdSPLIT) f2 ^= 1;

[/code]

поправил на

Code: Select all

 else if (cmd == cmdSplit) f2 ^= 1; 
;)
UR5VCP
Posts: 196
Joined: 05 Mar 2020, 15:18
Позывной: UR5VCP

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

Post by UR5VCP »

Друзья, собираю еще один синтез, под следующий трансивер, (Андрей Николаевич, жду!) и на имраде не нашел сишек... Где есть заказать только точно и чтобы не ждать черте сколько...

И вопрос по ходу... Не хочу ставить микросхемы дешифраторов для переключения диапазонов, хочу поставить отдельно микросхемы расширения портов, а вот если их ДВЕ на одном адресе повесить, работать не будет? Мне то надо ими просто рулить, в обратную сторону ОТ них данные не нужно, а по одной на плату ФНЧ и на плату ПДФ и красота! все комуникации межблочные по квадратной шине будут полностью!
UR5FFR
Site Admin
Posts: 2272
Joined: 21 Apr 2012, 22:00
Позывной: UR5FFR
Location: Odessa

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

Post by UR5FFR »

С мелкосхемами напряжно. Китайцы подняли цены, некоторые позиции невозможно купить - заворачивают заказы и возвращают деньги - типа "нет на складе". У меня за последнюю неделю 5 завернутых ордеров на али - такого никогда не было. Так что если вам что-то надо - то лучше пошевелиться с поисками а то чувствую через пару месяцев будет уже полный тухес.
Расширителей можно вешать несколько - у них перемычками по трем выводам можно программировать адрес - посмотрите даташит. В коде их тоже просто подключать
Post Reply