Перейти к содержанию
bbh_blocked_dnftl

Gluck35533

Пользователи
  • Постов

    18
  • Зарегистрирован

  • Посещение

Информация о Gluck35533

  • День рождения 20.08.1984

Информация

  • Ф.И.О :
    Дмитрий Фролов
  • Страна:
    Россия
  • Город:
    Москва

Достижения Gluck35533

Новичок

Новичок (1/14)

1

Репутация

  1. Есть такой баг! Тоже наблюдаю его периодически! Только у меня не резво бежит, а меняется скачком. В основном при быстрой перестройке по частоте происходит. Пока забил. Применяю синтезатор для управления приемником: http://vpayaem.ru/receiver.html Весь функционал синтезатора при этом мне не нужен. Но так как в схеме приемника есть огрехи, и нужно её допиливать местами, пока на баги синтезатора внимания не обращаю.
  2. Теперь это после чего?Вы что-то в схеме поменяли? Между 1 и 2 ногой чего?Модуля или микросхемы?
  3. Частота шины I2С максимум 400 кГц. SCL - линия тактирования шины; SDA - линия данных. Смотреть можно и там и там, но лучше на SCL. Там сигнал не все время, а только в моменты передачи данных по шине. Лучше перед включением модуля повесить на SCL щуп, подать питание на модуль и посмотреть проскакивает ли там меандр на короткое время или меняя частоту синтезатора смотреть сигнал. Вот тут можно посмотреть приблизительную схему модуля на стр 2. http://qrp-labs.com/images/synth/synth_assembly_RUS.pdf В ней R1 и R2 по спецификации шины I2C должны быть 4.7 кОм.Но не смертельно и 1 кОм. Вывод A4 ардуино - SDA Вывод А5 ардуино - SCL
  4. Странное поведение.У меня лично проблем со входом в меню не возникало.Ни на 1602lcd ни на TFT экране.Из коробки что называется прошил и все работает. Попробуйте нажать Lock и удерживать ее нажатой какое-то время.Не засекайте 2 с и не отпускайте.Просто нажмите и держите нажатой пока не появится меню.
  5. От неправильного подключения сигналов SCL и SDA модулю Si5351a ничего не будет. На плате модуля должен стоять стабилизатор трехногий который из +5 В делает +3,3 В для питания Si5351a и преобразователя уровней шины i2c. Проверьте есть ли +3.3 В на плате модуля. Проверьте наличие подтягивающих резисторов с выводов микросхемы SCL и SDA на +3,3 В.Должны быть 4,7 кОм.На некоторых платах ставят другие номиналы - 10 кОм, 1 кОм, 2,7 кОм. На работу шины в большинстве случаев это не влияет, но вдруг. Говорите кварц поменяли - поставьте старый.Может в нем дело. И вообще на выводах кварца осциллографом гляньте есть ли генерация. Посмотрите сигналы осциллографом на выводах SCL и SDA при включении синтезатора.Там вообще хоть что нибудь проскакивает? В общем лечить по фотографиям тяжело, а без фотографий и результатов хоть каких нибудь измерений невозможно. Схема этого модуля проста как 3 копейки, при желании разобраться можно. Если ничего не помогает вероятно микросхема Si5351a умерла по каким либо причинам. Статика например.
  6. Я бы для начала проверил не перепутаны ли сигналы SCL и SDA к модулю Si5351a и есть ли на нем питание. Правильно ли подключен модуль к Ардуино? Не думаю, что ошибка в программе. Скорее всего что-то с подключением напутали.
  7. Сделал фото.Получилось честно говоря отвратненько. Но общий смысл понятен.В живую конечно красивее всё.
  8. Я тут в связи с праздниками немного отвлекся от компьютера. Фотки вечером сделаю конечно, может даже маленький видосик сниму чтобы наглядно было видно как все это отображается на экране, но сильных отличий от того, что выкладывал автор там нет. Как я писал уже, графический интерфейс оставлен без изменений практически. Просто все "уменьшено", чтобы влезло на экран с меньшим количеством пикселей.
  9. Было бы не плохо разобраться с конфликтами и сделать один софт для трёх экранов. Мне кажется там дело не в PDQ_GFX, а в Ардуиновском препроцессоре. Буду следить за темой. По поводу копирайта эт я так пошутил) Если добавите - мне будет приятно. В профиле моем все ж написано. Дмитрий Фролов. Позывного у меня нет. Я вольный слушатель эфира )))
  10. И так представляю на внимание общественности проект синтезатора разработанного UR5FFR с добавленной поддержкой экрана ST7735 128x160 пикселей. Данная сборка софта обеспечивает работу с экраном ST7735 128x160 пикселей либо с экраном 16х2 LCD. Удалена поддержка ILI9341 в виду конфликта библиотек и RTC в виду отсутствия места для вывода часов на маленьком экране. Для обеспечения полной функциональности используйте оригинальную версию софта от Relayer. Принцип настройки и конфигурирования синтезатора остался прежним. Графический интерфейс синтезатора остался практически прежним за исключением добавления надписи LOCK в правом верхнем углу экрана вместо часов. Из меню удалены настройки и пункты связанные с RTC. Меню адаптированно под экран ST7735 128x160 и добавлены заголовки в некоторых подменю. Из изменений по файлам проекта: - добавлен шрифт Tahoma8 которым выводятся теперь подписи на кнопках; - шрифт Tahoma18 оставлен без изменений.Сейчас он используется только для вывода частоты настройки B.Я не стал удалять из него буквы которыми раньше выводились надписи на кнопках для обеспечения совместимости; - шрифт Gadugi58 удален за ненадобностью.Раньше им выводилась частота настройки А; - добавлен шрифт Tahoma28.Сейчас он используется для вывода частоты настройки А; - все связанное с RTC в коде я просто закоментировал, а файлы TinyRTC.* перенес на директорию выше.Но они есть в архиве; - удалены файлы disp_ILI9341.* , вместо них добавлены disp_ST7735.*; - файл menu.h откорректирован для обеспечения корректного вывода меню на ST7735 128x160 и удаления из меню пунктов связанных RTC; - в config.h частота кварца SI5351 изменена с 27 на 25 МГц.Обращайте внимание на это при настройке железа.Просто на моей плате кварц на 25 МГц стоит; - в Syntez.ino строки связанные с ILI9341 заменены на соответствующие для работы с ST7735; - в Syntez.ino поправлен адрес i2c адаптера к которому подключена клавиатура и параметр отвечающий за число импульсов на оборот для энкодера.Мой энкодер выдает 600 имп.\ об; В целом все.Проект проверен на железе на сколько это возможно.Багов не обнаружено. У меня аккаунта на Гитхабе нет по этому выкладываю здесь. Огромная просьба к Андрею разместить его у себя и при желании добавить меня в copyright. Замечания по работе софта приветствуются. SyntezSi5351_ST7735_1602LCD_NO_RTC.zip
  11. Приветствую Андрей! Решился я таки переписывать графику под ST7735. Вроде разобрался и уже многое поправил. Так что к Новому Году будет всем пользователям подарочек в виде поддержки ST7735. Возникло пару вопросов и предложений. В вашем коде для ILI9341 когда на экран выводится номер диапазона на всех диапазонах кроме 160 метров зачем-то выводится первым символом восклицательный знак. т.е. вместо 80 на экране мы видим !80. Вот код из disp_ILI9341.cpp: if (trx.BandIndex != cur_band) { if ((cur_band=trx.BandIndex) >= 0) { int mc = Bands[trx.BandIndex].mc; char buf[4]; buf[3] = 0; buf[2] = '0'+mc%10; mc/=10; buf[1] = '0'+mc%10; mc/=10; if (mc > 0) buf[0] = '0'+mc; else buf[0] = '!'; drawBtn(30,0,30,20,buf,ST7735_BLACK,ST7735_BLUE); } else drawBtn(30,0,30,20,"",ST7735_BLACK,ST7735_BLUE); } Вот эта строка зачем? else buf[0] = '!'; Из-за того, что экран значительно меньше (160х128 пикселей, а не 320х240) шрифты пришлось значительно уменьшить. В связи с этим часы с указанием даты и времени скорее всего не влезут в верхнюю строку над S-метром. Для того чтобы они влезли все надписи над S-метром придется еще сильнее уменьшить и они будут трудно читаемые. В принципе как и сами часы если они при этом влезут. Модуля RTC у меня нет следовательно попробовать не получится. Да я думаю не слишком это нужная вещь в синтезаторе. Вместо часов в верхний правый угол экрана думаю сделать вывод символа блокировки энкодера. Но не как это сделано сейчас символом "#", а в виде кнопочки как у "RIT", "QRP" и прочих. Думаю так будет красивее и полезнее. И еще заметил одну странность. Шкала S-метра выводится в цикле: for (int j=0; j < 15; j++) tft.drawRect(j*10+4,SMetr_Y+8,9,SMetr_H,(j < 9 ? ILI9341_GREEN : ILI9341_RED)); Т.е. квадратики красные и зеленые должны иметь одинаковые размеры и расположены на одной горизонтальной линии. А по факту размер у них одинаковый, но красные визуально на экране смотрятся чуть выше расположенными относительно зеленых. Не знаю с чем это связанно, может это косяк PDQ_GFX или просто из-за строения пикселя экрана и различия в яркости цветов, но мне кажется на фотках экрана ILI_9341 которые лежат на 5-ой странице ветки тоже это видно. Посмотрите у себя на железе так это или нет.
  12. Жаль конечно (( С ST7735 наверно тоже печалька выйдет. Я посмотрел код касаемо координат вывода на экран различных частей интерфейса синтезатора. Боюсь я там без Ваших коментариев не разберусь. Вам Андрей как разработчику его проще будет переписать под этот экран чем мне въехать в суть происходящего там. В любом случае отличный проект получился и очень хорошо, что Вы не бросаете его, оказываете техническую поддержку людям которые его повторяют! Я собираю данный синтезатор для приемника.Попробую пока с LCD 1602 оценить функционал. Если мне подойдет и с ST7735 не срастется куплю ILI9341 и не буду париться. В любом случае спасибо за разработку и удачи!
  13. Решил добавить поддержку ST7735 пока автор занят и т.к. ILI9341 у меня нет. Скачал библиотеки PDQ_GFX, PDQ_ST7735, PDQ_ILI9341 Чтобы не удалять поддержку экранов ILI9341 сделал следующее: В Syntez.ino после строк: #ifdef DISPLAY_TFT_ILI9341 #include "disp_ILI9341.h"#endifДобавил: #ifdef DISPLAY_TFT_ST7735 #include "disp_ST7735.h"#endif После строк: #ifdef DISPLAY_TFT_ILI9341 Display_ILI9341_SPI disp;#endifДобавил: #ifdef DISPLAY_TFT_ST7735 Display_ST7735_SPI disp;#endif В config.h внёс изменения: // раскоментарить тип используемого дисплея (только один!)//#define DISPLAY_LCD_1602//#define DISPLAY_TFT_ILI9341#define DISPLAY_TFT_ST7735 Добавил в проект disp_ST7735.h и disp_ST7735.cpp которые создал из disp_ILI9341.h и disp_ILI9341.cpp путем их переименования. Оригинальные disp_ILI9341.h и disp_ILI9341.cpp тоже оставил в папке проекта. Отредактировал в созданных disp_ST7735.h и disp_ST7735.cpp имена классов, функций и имена макросов в препроцессорных директивах т.е. заменил везде ILI9341 на ST7735. В disp_ST7735.cpp указал пины к которым подключен дисплей. Вывод reset дисплея подключил к выводу reset ардуины иначе дисплей не заводился. Так вот вопрос: Если оставить файлы disp_ILI9341.h и disp_ILI9341.cpp в папке проекта и попробовать его откомпилировать то вываливается куча ошибок типа: sketch\disp_ST7735.cpp.o (symbol from plugin): In function `Display_ST7735_SPI::reset()': (.text+0x0): multiple definition of `cur_freq' sketch\disp_ILI9341.cpp.o (symbol from plugin) : (.text+0x0): first defined here И так по всем переменным которые определены в disp_ILI9341.cpp т.е. cur_freq, cur_freq2, cur_freq_buf, cur_vfo_idx.... и т.д. По моей логике если в config.h есть единственный раскоментированый #define DISPLAY_TFT_ST7735А в Syntez.ino есть директивы препроцессору:#ifdef DISPLAY_TFT_ST7735 #include "disp_ST7735.h"#endifто причем тут вообще disp_ILI9341.cpp и multiple definition?По моему мнению компилятор в disp_ILI9341.cpp вообще заглядывать не должен?Поправьте меня если я не прав. Если удалить из папки проекта файлы disp_ILI9341.h и disp_ILI9341.cpp то проект собирается без ошибок, загружается и дисплей ST7735 работает.За исключением естественно того, что все надписи сикось накось потому что нужно еще править размер шрифтов и координаты начала вывода строк. Как лучше поступить что-бы оставить поддержку обоих дисплеев?Перенести определение переменных которые определены в disp_ILI9341.cpp т.е. cur_freq, cur_freq2, cur_freq_buf, cur_vfo_idx.... и т.д. в другой файл? или тупо переименовать их в файле disp_ST7735.cpp?Или можно как-то поменять директивы препроцессора в Syntez.ino?
×
×
  • Создать...