US5IVZ Опубликовано 22 ноября, 2017 Жалоба Поделиться Опубликовано 22 ноября, 2017 @Relayer,Спасибо за оперативный ответ.Все понял.Буду разбираться дальше. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
US5IVZ Опубликовано 25 ноября, 2017 Жалоба Поделиться Опубликовано 25 ноября, 2017 Всем привет!Не могу в скетче ограничить кол-во диапазонов "с низу". Т.е. возможен вариант один Band 160m. Два диапазона 160М и 80 М. Три диап. 160М, 80М,40М.,и т.д. до 9 диапазонов вместе. Но не возможно задать: один рабочий диапазон 80М или один- 40М,или два рабочих диапазона:80м и 40м.Диапазон с которого "стартует" синтезатор задается в Syntez.ino в строке № 81 trx.SwitchToBand(8) // 0-160м ,8-10м. "Количество и качество" в config.h .Помогите разобраться плизз.. Собственно интересует только два рабочих "бэнда" 12М и 10М. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Relayer Опубликовано 25 ноября, 2017 Автор Жалоба Поделиться Опубликовано 25 ноября, 2017 Список диапазонов прописывается в config.h. А номер(индекс) диапазона с которого стартуем - в setup() главного модуля. Для 12 и 10 метров в config.h должно быть написано так: // число диапазонов #define BAND_COUNT 2 #define DEFINED_BANDS \ {12, 24890000L, 24930000L, 25140000L, USB}, \ {10, 28000000L, 28200000L, 29700000L, USB} Для 80 и 40 #define BAND_COUNT 2 #define DEFINED_BANDS \ {80, 3500000L, 3600000L, 3800000L, LSB}, \ {40, 7000000L, 7045000L, 7200000L, LSB} Если диапазон один то #define BAND_COUNT 1 #define DEFINED_BANDS \ {80, 3500000L, 3600000L, 3800000L, LSB} И в setup() пишем последней строчкой trx.SwitchToBand(1); Цитата dsрview.com Ссылка на комментарий Поделиться на другие сайты Поделиться
US5IVZ Опубликовано 25 ноября, 2017 Жалоба Поделиться Опубликовано 25 ноября, 2017 Уважаемый,@Relayer!Именно так,я все и делаю... Но ,если не "присоединен" более низкочастотный диапазон начиная со 160М ,то ничего не получается.На индикаторе лсд1602 крякозябры или ноли там где должна выводиться частота ,и высвечивание, иногда ,тех режимов ,которые и не включал.Сейчас из железа подключен только дисплей по I2C и энкодер. Сишку и клаву,пока пока не подбрасывал..Т.е. не возможен даже такой вариант: #define BAND_COUNT 1#define DEFINED_BANDS \ {80, 3500000L, 3600000L, 3800000L, LSB} //И в setup() в Syntez.ino в строке № 81 trx.SwitchToBand(1); Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Relayer Опубликовано 25 ноября, 2017 Автор Жалоба Поделиться Опубликовано 25 ноября, 2017 trx.SwitchToBand(0) надо - нумерация бендов с 0 начинается Цитата dsрview.com Ссылка на комментарий Поделиться на другие сайты Поделиться
US5IVZ Опубликовано 25 ноября, 2017 Жалоба Поделиться Опубликовано 25 ноября, 2017 trx.SwitchToBand(0) надо - нумерация бендов с 0 начинается Да,хоть 0 хоть 1 результат один -в аттаче.Пока ,не подключу 160М ,. 40 м невозможно запустить,пока не подключено 160 и 80 М ,ну и т.д по нарастающей. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Relayer Опубликовано 25 ноября, 2017 Автор Жалоба Поделиться Опубликовано 25 ноября, 2017 Странно. На неделе гляну что там может быть Цитата dsрview.com Ссылка на комментарий Поделиться на другие сайты Поделиться
US5IVZ Опубликовано 25 ноября, 2017 Жалоба Поделиться Опубликовано 25 ноября, 2017 @Relayer,Спасибо-!Очень ,надеюсь! Ваша разработка мне нравиться и подходит ,под мою задачу, больше всего !!!СПАСИБО за бескорыстный труд! Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Relayer Опубликовано 26 ноября, 2017 Автор Жалоба Поделиться Опубликовано 26 ноября, 2017 Да,хоть 0 хоть 1 результат один -в аттаче. Проверил с одним диапазоном 40м и с двумя 12+10м - все работает. Так же проверил со списком диапазонов которые расположены не по возрастанию частот #define BAND_COUNT 3 #define DEFINED_BANDS \ {30, 10100000L, 0, 10150000L, USB}, \ {20, 14000000L, 14100000L, 14350000L, USB}, \ {40, 7000000L, 7045000L, 7200000L, LSB} Тоже все работает. Вы все же еще раз убедитесь что в случае одного диапазона trx.SwitchToBand вызывается с аргументом 0 т.к. иначе вы вылетаете за границы массива и на экране будет "мусор". Нумерация диапазонов начинается с 0. Если у вас два диапазона и вы хотите стартовать со 2го то trx.SwitchToBand в setup() надо вызывать с аргументом 1, а не 2. То есть на 1 меньше Цитата dsрview.com Ссылка на комментарий Поделиться на другие сайты Поделиться
US5IVZ Опубликовано 26 ноября, 2017 Жалоба Поделиться Опубликовано 26 ноября, 2017 Да, вроде бы все так и делаю. Но результата-Увы..Это скриншоты к фото выложенному ранее. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Relayer Опубликовано 26 ноября, 2017 Автор Жалоба Поделиться Опубликовано 26 ноября, 2017 Так, да не так. У вас в строке задания параметров диапазона "{80, 350....." в конце стоит запятая. А ее там быть не должно #define DEFINED_BANDS \ {80, 3500000L, 3600000L, 3800000L, LSB} Каменты возле trx.SwitchToBand правильны, да не совсем. Это ИНДЕКС диапазона с нумерацией начиная с 0 в списке диапазонов. Если у вас там 2 диапазона то допустимые индексы 0 и 1. Если 3 - то 0,1,2. И т.д. Цитата dsрview.com Ссылка на комментарий Поделиться на другие сайты Поделиться
US5IVZ Опубликовано 26 ноября, 2017 Жалоба Поделиться Опубликовано 26 ноября, 2017 ""У вас в строке задания параметров диапазона "{80, 350....." в конце стоит запятая. А ее там быть не должно""Ой,ей ей-Ох! Убрал Эту запятую.Скомпилировал. Загрузил ,,но все едино. Изменений нет! Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Relayer Опубликовано 26 ноября, 2017 Автор Жалоба Поделиться Опубликовано 26 ноября, 2017 Там в #define DEFINED_BANDS нельзя коментарить строки. Вот так нельзя: #define DEFINED_BANDS \ // {160, 1810000L, 1840000L, 2000000L, LSB}, \ {80, 3500000L, 3600000L, 3800000L, LSB} // {40, 7000000L, 7045000L, 7200000L, LSB}, \ // {30, 10100000L, 0, 10150000L, USB}, \ Надо убирать лишние #define DEFINED_BANDS \ {80, 3500000L, 3600000L, 3800000L, LSB} Сделайте точно так же как я писал ранее - без закоментаренных строчек - все будет работать. Цитата dsрview.com Ссылка на комментарий Поделиться на другие сайты Поделиться
US5IVZ Опубликовано 26 ноября, 2017 Жалоба Поделиться Опубликовано 26 ноября, 2017 Там в #define DEFINED_BANDS нельзя коментарить строки. "Вот,оно что...Михалыч!" (с)Ух! Наконец-то.Тупо убрал все лишние ,диапазоны путем -delete, и скопировал строку с описание границ 80М туда,где было описание 160метрового диап. И все получилось.Ура!Relayer, огромное СПАСИБО!!! Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Relayer Опубликовано 26 ноября, 2017 Автор Жалоба Поделиться Опубликовано 26 ноября, 2017 Ну вот и чудненько. Не забывайте корректировать диапазон с которого стартуем (trx.SwitchToBand в setup()) чтобы не "вылететь" за границы списка диапазонов. Иначе на экране будут в лучшем случае нули, в худшем - мусор Цитата dsрview.com Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.