Самодельный передатчик (часть 2)

Евгений_Зайцев

Сподобился таки прикрутить передатчик к компьютеру. Пока только сохранение/загрузка параметров текущей модели. Также можно передавать настройки с одного передатчика на другой.

Для подключения к компьютеру необходимо распаять линии RX(PD2), TX(PD3), и Ground от передатчика до преобразователя UART-USB.
Готовые преобразователи RS-232-USB не подходят - они не рассчитаны на сигналы TTL уровня. Отлично подходят преобразователи для
подключения к компьютеру мобильных телефонов. Я использовал преобразователь на базе популярной микросхемы Profilic PL-2303.
На компьютере он видится как обыкновенный последовательный порт. В принципе, никто не мешает установить преобразователь в корпус
и встроить USB разъем непосредственно в передатчик.

После выбора пункта меню
“Options\PC/TX Link” управление передается компьютеру. Выход из режима связи - “стрелка влево”.

Для обмена настройками между передатчиками (передача параметров текущей модели от Master передатчика к Slave) необходимо:
Соединить передатчики крест накрест (RX-TX) линиями RX(PD2), TX(PD3), Groung/
Выбрать на Master передатчике режим PC/TX Link
Выбрать на Slave передатчике режим Load Config
Нажать кнопку “стрелка вправо”.
Выйти из режима связи - “стрелка влево”.

Помимо интерфейса с компьютером есть еще ряд отличий от оригинальной версии 1.9.1:

Под дисплей 3410
Под старую разводку платы (без замены выводов на динамик и SW2)
Нет индикации температуры на основном экране
Изменено расположение элементов на основном экране.
Нет индикации тока в антенне на основном экране
в режиме тахометра добавлен ползунок канала газа
Полные названия полетных режимов (Normal, Landing, Pilotage)
Индикация на главном экране типа модуляции (PPM-iPPM)
Дополнительный режим работы окна Monitor (еще раз стрелка вправо) с идикацией длительности канальных импульсов в микросекундах
Если на основном экране нажать стрелку влево будут показаны напряжение батареи и значения триммеров в цифровом виде.
Убраны из меню пункты про изменерение тока в антенне и частоту ВЧ модуля
При калибровке выводятся цифровые значения АЦП
По умолчанию у каждой модели не 6 а 8 каналов
По умолчанию звук выключен.
При выключении звука кодер никаких звуков не издает, даже при старте.
Контроль положения ручки газа при старте можно включить/выключить из меню “Options\Alarms” (по умолчанию, контроль отключен)
В меню “Options” появился пункт PC/TX Link - для обмена с компьтером или Slave передатчиком
В меню “Options” появился пункт Load Config - для загрузки конфигурации текущей модели с Master передатчика

В перспективе хочу, добавить возможность сохрянять все модели и менять настройки каждой модели с компьютера

C уважением,
Евгений Зайцев

TX-PC Interface.zipПрошивка 1.9.1+.zip

EagleB3

Интересная доработка.
Мне кажется, наиболее полезным развитием был бы интерфейс загрузки-выгрузки модели “кодер-компьютер” и редактирование модели на компьютере.
В этом случае на компьютере можно было бы держать сколько угодно моделей и загружать в передатчик то, что нужно.
При такой концепции редактировать модель “в кодере” - не обязательно.

Мысли (раскатавши губы):
Держать в интерфейсе 2 списка моделей: “Архив” и “В памяти кодера”.
То, что “В памяти” обновляется при подключении кодера (юзера спрашивают, он должен подтвердить, что “да, обновляем” - иначе можно потерять изменения сделанные в компьютере при отключенном кодере).
Желательно иметь возможность обновить не все модели в памяти, а только какую-то одну.
Редактировать можно любую модель - “В архиве” или “В памяти”.
Если редактируем ту, что “В памяти” и нажимаем кнопку “Сохранить”, то (только при подключенном кодере?) сразу предложить обновить модель в памяти.

Andr_2

To: Евгений Зайцев!Конечно респект за проделанную работу!Но зачем было убирать такие Функции как индикации температуры на основном экране,индикации тока в антенне и изменерение тока в антенне и частоту ВЧ модуля?Зачем?

Евгений_Зайцев

Да, просто нет у меня градусника и ВЧ модуль стоит ASSAN. Включить индикацию температуры и тока в антенне на основном экране - дело двух минут - убрать комментарии в dysplay.c и уточнить координаты вывода на экран. Изменение частоты ВЧ модуля. тоже вернуть не очень сложно, но все-таки надо повспоминать где что убрал. Если действительно надо верну, хотя, мне кажется, сегодня уже правильнее использовать готовые модули на 2.4 ГГц. Надежно, стабильно и недорого.

С уважением,
Евгений Зайцев

Edward_tlt

Вообщем пора уже делать контрольную панель на компе и как конструктор собирать прошивку, кому что надо…😃

EagleB3

Дык, есть уже такая “панель”. Файл def.h.
Всем сотоварищам, модифицирующим прошивки, советую:#define, #ifdef, #ifndef = очень правильные вещи!

Евгений_Зайцев

Совсем без редактирования параметров на передатчике нехорошо. В поле настраивать передатчик с ноутбука неправильно. Хотя кто-то из китайцев так и делает. А по поводу логики программы мысли у меня следующие:

Приложение на большом брате должно уметь

  1. считать/залить настройки текущей модели (ну только это собственно сейчас и реализовано)
  2. cчитать/залить настройки всех моделей, возможно вместе с остальными параметрами лежащими в EEPROM
  3. организовать систему закладок (одна модель-одна закладка). На закладке будут собраны все параметры одной модели. Параметры модели можно будет считать с передатчика или загрузить из файла. Также можно будет сохранить отредактированные параметры с любой закладки.

делать автоматический перенос параметров пока не планирую - можно ненароком нужные настройки убить.
Может есть еще какие идеи/пожелания по поводу связи с компом. Запал вроде еще не остыл…

А, насчет “панели” и конструктора мысль верная. Жаль что я когда пустился во все тяжкие и начал править прошивку не пошел по этому пути.
Сейчас вспомнить что и где модифицировал уже нереально.

С уважением,
Евгений Зайцев

EagleB3

Всегда можно сравнить результаты своей работы и исходников, на которых базировался.
Есть прекрасные системы сравнения текстовых файлов. Открывают два окна рядом и показывают какие строки добавлены, какие изменены, какие удалены.
Я пользуюсь встроенным "Фрегат"овским; наверняка есть, например, какой-нибудь плагин к Total Commander и т.п.

ВитГо

а кто нить встречал программы которые их .hex файла могут сделать бинарник и наоборот?

ubd

Набираем в Гугле “программа hex to bin”…

EagleB3

Это может сделать тот же CVAVR.
В его интерфейсе запусти программатор (Shift+F4), загрузи свой hex (File -> Load FLASH). И можно никого не прошивая там же сохранить прошивку в файл (File -> Save FLASH ), выбрав при этом нужный тебе тип файла (hex, rom, bin). А для еепрома - File -> Save EEPROM и eep, hex, bin.
Таким методом, кстати, можно разделить FLASH и EEPROM, если они спрятаны внутри одного файла слабочитаемого формата.

P.S. Какие мы тут активные, однако… Время - 9 утра, “но в Городе Дураков никто не спал” (с) “Золотой ключик” 😃

ВитГо

Да нет, мне нужно исходный код скорее всего или консольки…
для редактирования параметров моделей на компе… чтобы автоматом распаковать, изменить что нужно и запаковать… чтобы не думать что и в какой последовательности запускать 😃

в принципе спасибо за наводку - чтото нашел на дельфях… пойдет чтобы разобраться…

Никто новую платформу для самодельного передатчика не разрабатывает?
я хотел бы поучаствовать если такое будет…

Denn
EagleB3:

Всегда можно сравнить результаты своей работы и исходников, на которых базировался.
Есть прекрасные системы сравнения текстовых файлов. Открывают два окна рядом и показывают какие строки добавлены, какие изменены, какие удалены.
Я пользуюсь встроенным "Фрегат"овским; наверняка есть, например, какой-нибудь плагин к Total Commander и т.п.

Есть программа Notepad++ , там эта функция сравнения хорошо работает

Вахтанг
ВитГо:

Никто новую платформу для самодельного передатчика не разрабатывает?
я хотел бы поучаствовать если такое будет…

Сделана для работы плата на 9-ом АРМ-е с цветным дисплеем 320х240, не дорогая и не сложная, все баги в Сорсе вычищены. Думаю легко можно приспособить для RC. Разницу между Атмегой и АРМ-ом, я думаю, объяснять не надо. У меня правда нет времени на такую работу. При наличии хороших алгоритмов работы софта от MSV или Алексея Гореликова, или от вас Виталий, можно конечно, по немножко, в друг появившемся свободном окне, попробовать реализацию. Не смотря на доступность исходников от всех, вас, разбираться в чужом коде дольше!
Хотя, правильнее будет сделать это на новых процессорах на ядре Кортекс М3.

Edward_tlt
Вахтанг:

с цветным дисплеем 320х240

Ну так и тачскрин тогда уж… Дисплеев таких полно в сборе с тачем.

crafter

А нужен ли, он, тачскрин? На морозе мерзнуть будет, дисплей толком не защищен, постоянно жирный.

МаркАнтоний
crafter:

А нужен ли, он, тачскрин? На морозе мерзнуть будет, дисплей толком не защищен, постоянно жирный.

Ну в сотовых телефонах ведь используют, и не жалуются, что жирный или не защищён. И я считаю что тачскрин был бы не лишним. Тем более если делать на АРМ-е, то аппаратная чать позволит много чего реализовать!

Aleksey_Gorelikov

А какой функционал от новой платформы требуется? Может и изобретать велосипед не надо? Или все сведется к работе ради большого цветного дисплея? Мне для реализации моих желаний и старого железа “много”.

Dimon11
Aleksey_Gorelikov:

А какой функционал от новой платформы требуется? Может и изобретать велосипед не надо? Или все сведется к работе ради большого цветного дисплея? Мне для реализации моих желаний и старого железа “много”.

Абсолютно точно! Сначала кажется что нужен большой дисплей с тачскрином, потом понимаешь что вполне хватает и простого с минимальным функционалом… Кроме того тачскрин телефонного формата маловат для пульта - пользоваться неудобно, проверено. А использование большого экрана где то дюймов 5-6 ведет к тому что пульт монстроподобный получается…

EagleB3
ВитГо:

Да нет, мне нужно исходный код скорее всего или консольки

Но очень понял, но… Для AVR’ок (и знатоков ассемблера)
есть и дизассемблеры с hex в ассемблер…