Вопросы по NanoVFO 3

pingerlab
Posts: 16
Joined: 08 Jan 2022, 17:54
Позывной: us5mgt

Re: Вопросы по NanoVFO 3

Post by pingerlab »

UR5FFR wrote:Пока еще не дошли руки
здравия! понятно ;)
отредактировал конфиг так
#define ENCODER_FREQ_LO_STEP 200
#define ENCODER_FREQ_HI_STEP 1000
#define ENCODER_FREQ_HI_LO_TRASH 350
теперь если медленно крутить ручку то десятки меняются, если начать быстро то через некоторое время начинают менятся сотни и тысячи герц. покрутил, повертел и мне такой вариант по душе ;) шикарно получилось!
и возник вопрос, как зделать ограничение чтобы чисто cw и ssb
{80, 3500000L, 3600000L, 3800000L, LSB}, \ какое значение надо менять?
я среднее попробывал заменить на 0 и теперь только принудительно надо выбирать cw
{80, 3500000L, 0, 3800000L, LSB}, \
а вот как оставить чисто cw участок? или ssb участок?
UR5FFR
Site Admin
Posts: 2187
Joined: 21 Apr 2012, 22:00
Позывной: UR5FFR
Location: Odessa

Re: Вопросы по NanoVFO 3

Post by UR5FFR »

Эти три частоты описаны в структуре как long start, startSSB, end. Если надо чисто SSB диапазон то
{80, 3600000L, 0, 3800000L, LSB}, \
Если чисто CW то
{80, 3500000L, 3600000L, 3600000L, LSB}, \
pingerlab
Posts: 16
Joined: 08 Jan 2022, 17:54
Позывной: us5mgt

Re: Вопросы по NanoVFO 3

Post by pingerlab »

UR5FFR wrote:Эти три частоты описаны в структуре как long start, startSSB, end. Если надо чисто SSB диапазон то
{80, 3600000L, 0, 3800000L, LSB}, \
Если чисто CW то
{80, 3500000L, 3600000L, 3600000L, LSB}, \

во! во! то что надо! ;) огромное спасибо! ;)
просто теперь хочу зделать 2 трансивера, один чисто CW и потехоньку учить телеграф, а другой SSB чтобы телефоном и цифрой работать :roll:
pingerlab
Posts: 16
Joined: 08 Jan 2022, 17:54
Позывной: us5mgt

Re: Вопросы по NanoVFO 3

Post by pingerlab »

UR5FFR здравия ;) Андрей а как под кубиками s-metr'а добавить цифры? :roll: я пробовал но увы :? начал тормозить дисплей.
первый кубик-1, третий-3, пятый-5 и так далее.
только непридумал как в power metr'е лучше, можно первый - 0, третий-25%, пятый-50%, седьмой-75%, девятый-100%.
будет информативно, я по поводу s-metra ;) ато смотреть и высчитывать какой уровень както некомильфо :?
Attachments
Изменение размера DSC_0002.JPG
Изменение размера DSC_0002.JPG (32.57 KiB) Viewed 3545 times
UR5FFR
Site Admin
Posts: 2187
Joined: 21 Apr 2012, 22:00
Позывной: UR5FFR
Location: Odessa

Re: Вопросы по NanoVFO 3

Post by UR5FFR »

Там места нет куда цифры добавлять
pingerlab
Posts: 16
Joined: 08 Jan 2022, 17:54
Позывной: us5mgt

Re: Вопросы по NanoVFO 3

Post by pingerlab »

UR5FFR wrote:Там места нет куда цифры добавлять
немного сдвинуть вверх цифры частоты, кубики уменьшить на 2 пикселя и под ними легко станут цифры! ;)
ra0wx
Posts: 6
Joined: 21 Feb 2022, 04:52
Позывной: ra0wx

Re: NanoVFO 3

Post by ra0wx »

Здравствуйте Андрей. Использую вашу прошивку NanoVFO 3 в 6 диапазонном варианте. Столкнулся с проблемой комутации DPF. Выполнил это действие:
// число диапазонов
#define BAND_COUNT 6

#define DEFINED_BANDS \
{160, 1810000L, 1840000L, 2000000L, LSB}, \
{80, 3500000L, 3576000L, 3800000L, LSB}, \
{40, 7000000L, 7074000L, 7200000L, LSB}, \
{20, 14000000L, 14074000L, 14350000L, USB}, \
{15, 21000000L, 21150000L, 21450000L, USB}, \
{10, 28000000L, 28500000L, 29700000L, USB}
/* описание стандартных любительских диапазонов
* скопировать требуемые в DEFINED_BANDS
* и изменить константу BAND_COUNT
далее пришлось скорректировать этот модуль :
#else//******************************************
if (BAND_COUNT <= 6) {
data = data +
(trx.BandIndex == 0 ? B00000001 : 0) + // 160м 74hc595
(trx.BandIndex == 1 ? B00001000 : 0) + // 80м 74hc595
(trx.BandIndex == 2 ? B00100000 : 0) + // 40м 74hc595
(trx.BandIndex == 3 ? B00000010 : 0) + // 20м 74hc595
(trx.BandIndex == 4 ? B00010000 : 0) + // 15м 74hc595
(trx.BandIndex == 5 ? B01000000 : 0); // 10м 74hc595
Данные для регистра выдаются согласно разводке моей платы , это работает нормально. Не пойму для чего используется второй блок после else ? Добавил в него еще одну строку.
} else {
data = data +
(trx.BandIndex & B00001 ? B000010 : 0) +
(trx.BandIndex & B00010 ? B000100 : 0) +
(trx.BandIndex & B00100 ? B001000 : 0) +
(trx.BandIndex & B01000 ? B010000 : 0) +
(trx.BandIndex & B10000 ? B100000 : 0) +
(trx.BandIndex & B10000 ? B100000 : 0);
}
#endif
//***********************************************
Поясните пожалуста..!
UR5FFR
Site Admin
Posts: 2187
Joined: 21 Apr 2012, 22:00
Позывной: UR5FFR
Location: Odessa

Re: NanoVFO 3

Post by UR5FFR »

В случае если количество диапазонов больше 6 то они выдаются в двоичном коде и нужен длополнительный дешифратор. Именно это и делает часть "else"
ra0wx
Posts: 6
Joined: 21 Feb 2022, 04:52
Позывной: ra0wx

Re: NanoVFO 3

Post by ra0wx »

UR5FFR wrote:В случае если количество диапазонов больше 6 то они выдаются в двоичном коде и нужен длополнительный дешифратор. Именно это и делает часть "else"
Теперь понятно.. У меня их 6, потому и обошелся одним дешифратором + 1 свободный. Есть еще один вопрос. У вас АТТ реализован на физическом пине, а мне нужно управлять этим пресетом через НС595 на 5 ноге ( такая у меня разводка платы). Как правильно это реализовать в вашем коде? У меня в часах используется DS1307( мс и кварц, прислал давно китаец горсть ), но не понятно как работает, впечатление что нет инициализации. Згружаю тестовую прошивку часов - все нормально. Физика и софт работает. Подгрузил дополнительно библио для этой МС, заработала в проекте, все здорово! Но пока искал варианты с подключением АТТ, пару раз перезалил контроллер, опять отказалась работать!? Где нужно посмотреть? Каков максимальный размер подгружаемых на форум файлов?
Attachments
атт.jpg
атт.jpg (31.86 KiB) Viewed 3447 times
UR5FFR
Site Admin
Posts: 2187
Joined: 21 Apr 2012, 22:00
Позывной: UR5FFR
Location: Odessa

Re: Вопросы по NanoVFO 3

Post by UR5FFR »

Вот эта строчка в коде выставляет значения на пинах cw/att/pre

Code: Select all

  data = 
    (trx.CW ? OUT_CW_ACTIVE_LEVEL : !OUT_CW_ACTIVE_LEVEL) +
    ((trx.AttPre == 1 && !trx.TX ? OUT_ATT_ACTIVE_LEVEL : !OUT_ATT_ACTIVE_LEVEL) << 6) +
    ((trx.AttPre == 2 && !trx.TX ? OUT_PRE_ACTIVE_LEVEL : !OUT_PRE_ACTIVE_LEVEL) << 7);
Если надо только ATT на 5й пин то так

Code: Select all

  data = ((trx.AttPre == 1 && !trx.TX ? OUT_ATT_ACTIVE_LEVEL : !OUT_ATT_ACTIVE_LEVEL) << 5);
RTC поддерживается только 3231 потому что только она обеспечивает приемлемую точность ходя часов. Для остальных нужно код править - они там немного по другому программируются.
Post Reply